Atlas / MCP servers / socialapishub / mcp-server

mcp-serverSAFE

mcp/socialapishub/mcp-server

MCP server for Facebook & Instagram data — pages, posts, groups, Ads Library, Marketplace, profiles, reels. 47 read-only tools. npx or hosted at mcp.socialapis.io/mcp

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
43 34r · 9w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
1
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Facebook & Instagram data for AI agents — local (npx) or hosted (remote MCP)

[](https://www.npmjs.com/package/@socialapis/mcp) [](https://opensource.org/licenses/MIT) [](https://github.com/SocialAPIsHub/mcp-server/stargazers) [](https://glama.ai/mcp/servers/SocialAPIsHub/mcp-server)

Website • Documentation • Discord • npm

[](https://cursor.com/en/install-mcp?name=socialapis&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzb2NpYWxhcGlzL21jcCJdLCJlbnYiOnsiU09DSUFMQVBJU19BUElfS0VZIjoiWU9VUl9BUElfS0VZIn19)

Official SDKs: Python • JavaScript / TypeScript • Go

🚀 Quick Start

AI agents (Cline, Claude Code, Cursor): follow llms-install.md for step-by-step install and verification.

One-click: use the Install in Cursor button above — then replace YOUR_API_KEY in Cursor's MCP settings with your key. Also listed on Smithery, cursor.directory, mcp.so and the official MCP Registry (io.github.SocialAPIsHub/social-media-api)

Read from source at commit 96d405cb2f23OBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add mcp --env SOCIALAPIS_API_KEY=${SOCIALAPIS_API_KEY} -- npx -y @socialapis/[email protected]
03

Exposed tools (43)

34 read · 9 write · 0 destructive.

ToolRiskDescription
facebook_ads_archive_detailsreadGet one Ad Library ad in full: creative, body text, CTA, platforms, countries, date range, and spend and impression estimates where Meta publishes them. Needs the ad_archive_id from a facebook_ads_search result. Pricing: 1 credit per call.
facebook_ads_countriesreadList the country codes the Ads Library tools accept in their country parameter. Pricing: 1 credit per call.
facebook_ads_page_detailsreadGet an advertiser\
facebook_ads_searchreadSearch ads in the Meta Ad Library. Pass a keyword (query) to find ads about a topic, or ad_page_id to list one advertiser\
facebook_download_mediawriteResolve a Facebook media URL (image, video or audio, e.g. from a post or reel) to direct downloadable file URLs. Returns URLs, not file bytes. Pricing: 1 credit per call.
facebook_get_comment_repliesreadList replies to one Facebook comment. Needs comment_feedback_id and expansion_token, which facebook_get_post_comments returns when called with include_reply_info=true. Pricing: 1 credit per call.
facebook_get_group_detailsreadGet a public Facebook group\
facebook_get_group_idreadResolve a Facebook group URL to its numeric group ID. Use facebook_get_group_details for the group\
facebook_get_group_postsreadList recent posts from a public Facebook group, with text, media, author, reactions and comment counts. Returns 3-9 posts per call plus an end_cursor for the next page; filter by date with after_time / before_time. Pricing: ceil(posts_returned / 3) credits per call, minimum 1.
facebook_get_group_videosreadList videos posted in a public Facebook group, with video_id, title, duration, view count and thumbnail. Returns an end_cursor for the next page. Pricing: 1 credit per call.
facebook_get_page_detailsreadGet a Facebook page\
facebook_get_page_idreadResolve a Facebook page URL to its numeric page ID. Use it when another tool needs a page or profile ID; use facebook_get_page_details for the page\
facebook_get_page_postsreadList a Facebook page\
facebook_get_page_reelsreadList a Facebook page\
facebook_get_page_videosreadList videos uploaded to a Facebook page, with video_id, title, duration, view count and thumbnail. Provide the page URL (link) or its numeric profile_id. Returns an end_cursor for the next page. For short-form reels, use facebook_get_page_reels. Pricing: 1 credit per call.
facebook_get_post_attachmentswriteList every media attachment (images and videos, with URLs and dimensions) on a Facebook post, including all items in multi-photo posts. Needs the numeric post_id from facebook_get_post_id. For the post\
facebook_get_post_detailswriteGet a Facebook post\
facebook_get_post_details_extendedwriteGet everything facebook_get_post_details returns plus view counts, HD/SD video URLs, music/audio metadata and author verification status. Use it for reels and video posts, or when the standard details lack view_count, video_hd_src or attached_track. Pricing: 1 credit per call.
facebook_get_post_idwriteExtract the numeric post ID from a Facebook post URL. Use it to get the post_id that facebook_get_post_attachments needs. Pricing: 1 credit per call.
facebook_get_video_detailswriteGet a Facebook video post\
facebook_marketplace_categoriesreadList Marketplace categories with their IDs and category_url values. Use a category_url to filter facebook_marketplace_search. Pricing: 1 credit per call.
facebook_marketplace_city_coordinatesreadConvert a city name to the latitude and longitude that the Marketplace search tools expect in filter_location_latitude / filter_location_longitude. Pricing: 1 credit per call.
facebook_marketplace_listingreadGet one Marketplace listing in full: title, price, description, condition, all photos, location and seller. Needs the listing_id from a Marketplace search result. Pricing: 1 credit per call.
facebook_marketplace_rentalsreadSearch Facebook Marketplace rental listings (apartments, houses, rooms) near a location, with price, bedroom, bathroom and radius filters. Returns rental listings with their listing_id, plus an end_cursor. For items for sale, use facebook_marketplace_search. Pricing: 1 credit per call.
facebook_marketplace_sellerreadGet a Marketplace seller\
facebook_search_pagesreadFind Facebook pages by keyword (brand, business or topic name), optionally near a location. Returns page names, URLs, categories and follower counts, 3 per call, plus an end_cursor. Use it when you don\
facebook_search_peoplereadFind public Facebook profiles by name or keyword, optionally near a location (location_uid from facebook_search_locations). Returns names, profile URLs and pictures, plus work, education and location where public, and an end_cursor. Pricing: 1 credit per call.
facebook_search_postsreadSearch public Facebook posts by keyword, optionally filtered by location (location_uid from facebook_search_locations) and date range. Returns posts with text, author and engagement, plus an end_cursor. To list one page\
facebook_search_videosreadSearch public Facebook videos by keyword, optionally most recent first or live videos only. Returns video titles, URLs and view counts, plus an end_cursor. Pricing: 1 credit per call.
instagram_get_highlight_detailsreadGet the stories inside one Instagram highlight. Needs a highlight_id from instagram_get_profile_highlights. Pricing: 1 credit per call.
instagram_get_location_postsreadList Instagram posts tagged at a location: top posts (tab=ranked) or most recent (tab=recent). Needs a location_id, e.g. from a place in instagram_popular_search. Returns an end_cursor for the next page. Pricing: 1 credit per call.
instagram_get_nearby_locationsreadList Instagram places near a given location, with name, category, coordinates and post count. Needs a location_id, e.g. from a place in instagram_popular_search. Pricing: 1 credit per call.
instagram_get_post_detailswriteGet one Instagram post or reel in full: caption, media URLs, engagement counts, timestamp and owner. Needs the shortcode (the part after /p/ or /reel/ in the URL, or from instagram_get_post_id). Pricing: 1 credit per call.
instagram_get_post_idwriteExtract the shortcode from an Instagram post or reel URL. instagram_get_post_details needs the shortcode. Pricing: 1 credit per call.
instagram_get_profile_detailswriteGet an Instagram profile by username: bio, follower and post counts, verification status and related profiles. Pricing: 1 credit per call.
instagram_get_profile_highlightsreadList an Instagram profile\
instagram_get_profile_postsreadList an Instagram profile\
instagram_get_profile_reelsreadList an Instagram profile\
instagram_get_reels_by_audioreadList Instagram reels that use a given sound. Needs the audio_id (music/audio cluster ID) found in reel results\
instagram_get_reels_feedreadGet Instagram\
instagram_get_user_idreadResolve an Instagram username or profile URL to its numeric user ID. Needed by instagram_get_profile_reels and instagram_get_profile_highlights. Pricing: 1 credit per call.
instagram_popular_searchreadSearch Instagram by keyword and get the top matching users, hashtags and places. Use it to find a username, or a place\
socialapis-mcpreadFacebook & Instagram data for AI agents: pages, posts, groups, Ads Library, Marketplace, profiles and reels.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (4 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (1)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, cors, express
Why it matters. 3 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 96d405cb2f23full audit observations/trust-audit/mcp-server/socialapishub__mcp-server.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-1196d405cb2f23SAFEB89first audit
06

Questions

What is the mcp-server MCP server?

MCP server for Facebook & Instagram data — pages, posts, groups, Ads Library, Marketplace, profiles, reels. 47 read-only tools. npx or hosted at mcp.socialapis.io/mcp

What tools does mcp-server expose?

43 in total: 34 read-only, 9 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is mcp-server safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does mcp-server need?

It reads SOCIALAPIS_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does mcp-server run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @socialapis/mcp at 2.0.2.

How current is this page?

The grade is for one exact copy of the source (96d405cb2f23), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement