SocialAPIs MCP Server

MCP serverAI & models

Facebook & Instagram data for AI agents: pages, posts, groups, ads, Marketplace, profiles, reels.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the facebook get page id tool from SocialAPIs MCP Server

Install SocialAPIs MCP Server

The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user socialapis-mcp-server 'https://mcp.socialapis.io/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://mcp.socialapis.io/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=socialapis-mcp-server&config=eyJ1cmwiOiJodHRwczovL21jcC5zb2NpYWxhcGlzLmlvL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://mcp.socialapis.io/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add socialapis-mcp-server --url 'https://mcp.socialapis.io/mcp'

    Run it once, then sign in with codex mcp login socialapis-mcp-server if the server asks for an account.

From the project's README

As published by socialapishub/mcp-server in README.md.

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

Website • Documentation • Discord • npm

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).

Option A — Hosted (remote MCP, no install)

Point any client that supports remote MCP servers (Streamable HTTP) at:

https://mcp.socialapis.io/mcp

Authenticate with your SocialAPIs API key in a header:

Authorization: Bearer YOUR_API_KEY

(x-api-token: YOUR_API_KEY also works.) Tool listing works without a key; tool calls need one. Example config for clients that take a URL + headers:

{
  "mcpServers": {
    "socialapis": {
      "url": "https://mcp.socialapis.io/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Option B — Local (npx, stdio)

Installation

npm install -g @socialapis/mcp

Configuration

Add to your Claude Desktop config:

macOS:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

notepad %APPDATA%\Claude\claude_desktop_config.json

🔧 Configuration

Method 1: Command Line Argument (Recommended for Claude Desktop)

{
  "mcpServers": {
    "socialapis": {
      "command": "npx",
      "args": ["-y", "@socialapis/mcp", "YOUR_API_KEY"]
    }
  }
}

Method 2: Environment Variable

# Set environment variable
export SOCIALAPIS_API_KEY=your_api_key_here

# Run without argument
npx @socialapis/mcp

Method 3: .env File (For Development)

# Copy example file
cp .env.example .env

# Edit with your values
nano .env

.env file:

SOCIALAPIS_API_KEY=your_api_key_here
MCP_PROXY_URL=https://mcp.socialapis.io

Environment Variables

VariableDescriptionDefault
SOCIALAPIS_API_KEYYour SocialAPIs API keyNone (required)
MCP_PROXY_URLMCP proxy server URLhttps://mcp.socialapis.io
PORTHTTP server port3001
API_BASE_URLBackend API URLhttps://api.socialapis.io

Get API Key

  1. Sign up at socialapis.io
  2. Go to Dashboard
  3. Copy your API key
  4. Replace YOUR_API_KEY in config

Test It

Restart Claude Desktop and ask:

Get Nike's Facebook page details

📋 Features

  • 🌐 One API key - Facebook and Instagram behind a single interface
  • 🤖 AI-First - Built for Claude, Cursor, and AI agents
  • 📊 Rich Data - Posts, comments, engagement metrics
  • 🔍 Advanced Filtering - Time ranges, pagination
  • 🎯 Simple Auth - No OAuth complexity
  • 🧩 Structured output - every tool declares an output schema and returns { result, creditsCharged, creditsRemaining }, so agents can track credit spend directly
  • 🛡️ Read-only annotations - all tools are marked readOnlyHint, so clients can skip confirmation prompts
  • ⚡ Fast - Global edge network
  • 🔒 Secure - API keys stay local

🛠️ Available Tools

47 tools across Facebook and Instagram. Every tool maps 1:1 to a REST endpoint on api.socialapis.io — pricing notes in each tool description indicate per-call credit cost.

Facebook — Pages

  • facebook_get_page_id — Extract page ID from URL
  • facebook_get_page_details — Page info, followers, contact info, category. Set exact_followers_count=true for the exact integer (charges 5 credits instead of 1)
  • facebook_get_page_posts — Fetch posts with after_time / before_time for date filtering. limit 3-9, charges scale per ceil(returned / 3)
  • facebook_get_page_videos — Page videos, limit 6-12
  • facebook_get_page_reels — Reels / short videos

Facebook — Groups

  • facebook_get_group_id — Extract group ID from URL
  • facebook_get_group_details — Full details (members, description, rules)
  • facebook_get_group_posts — Group posts, same limit + date filtering as page posts
  • facebook_get_group_videos — Group videos with pagination

Facebook — Posts

  • facebook_get_post_id — Extract post ID from URL
  • facebook_get_post_details — Reactions, comments count, shares, media
  • facebook_get_post_details_extended — Extended fields: view counts (essential for reels / video posts), video URLs, music/audio metadata, author verification
  • facebook_get_post_attachments — Full media attachments (5 credits per call)
  • facebook_get_video_details — Video post metadata + stats
  • facebook_get_post_comments — Top-level comments, limit up to 30
  • facebook_get_comment_replies — Replies to a specific comment

Facebook — Search

  • facebook_search_pages — Search pages by keyword + optional location filter
  • facebook_search_people — Search public profiles by keyword
  • facebook_search_locations — Look up Facebook location UIDs (for use in other endpoints)
  • facebook_search_posts — Search posts by keyword, recency, location
  • facebook_search_videos — Search Facebook Watch videos

Facebook — Ads Library (Meta Ad Transparency)

  • facebook_ads_search — Search ads by keyword, country, status
  • facebook_ads_page_details — All ads from a specific page
  • facebook_ads_archive_details — Full ad archive details
  • facebook_ads_keywords — Search ads by keyword
  • facebook_ads_countries — List of supported country codes

Facebook — Marketplace

  • facebook_marketplace_search — Item search with location, price, category, condition filters
  • facebook_marketplace_listing — Single listing details
  • facebook_marketplace_seller — Seller profile + their listings
  • facebook_marketplace_categories — Browse category hierarchy
  • facebook_marketplace_city_coordinates — Lat/long for a city (for radius search)
  • facebook_marketplace_vehicles — Vehicle-specific listing search
  • facebook_marketplace_rentals — Rental property listings

Facebook — Media

  • facebook_download_media — Direct download URL for FB media (images, videos)

Instagram — Profile

  • instagram_get_user_id — Resolve username → numeric ID
  • instagram_get_profile_details — Profile info, follower count, bio, post count
  • instagram_get_profile_posts — Recent posts from a profile
  • instagram_get_profile_reels — Reels from a profile
  • instagram_get_profile_highlights — Story highlights list
  • instagram_get_highlight_details — Full content of a specific highlight

Instagram — Posts + Reels

  • instagram_get_post_id — Resolve post URL → ID
  • instagram_get_post_details — Likes, comments, media, caption
  • instagram_get_reels_feed — Reels feed for a profile
  • instagram_get_reels_by_audio — Reels using a specific audio/music ID

Instagram — Discovery

  • instagram_popular_search — Trending queries / suggestions
  • instagram_get_location_posts — Posts tagged at a specific location
  • instagram_get_nearby_locations — Nearby location IDs (for use in location-posts)

Not supported yet

Only Facebook and Instagram are live today. TikTok, X / Twitter, LinkedIn and YouTube are on the roadmap with no committed dates — tools for them will appear here only once they ship.

Track the platform roadmap at socialapis.io/api-sources.


💡 Usage examples

Each prompt below is a real Claude Desktop session. Some of these are single-tool-call patterns ("get me X"); some require Claude to chain multiple calls + aggregate the results (noted where).

Single-call patterns (fast, cheap)

What's Nike's follower count on Facebook?
→ Uses facebook_get_page_details (1 credit)

Get the latest 9 posts from facebook.com/EngenSA
→ Uses facebook_get_page_posts with limit=9 (1-3 credits depending on actual returned count)

Show me the Meta ads currently running for "Apple Vision Pro" in Germany
→ Uses facebook_ads_search (1 credit)

Multi-call patterns (Claude orchestrates these — but it's slower + more expensive)

Compare engagement on Nike vs Adidas's last 9 Facebook posts
→ Claude calls facebook_get_page_posts twice (~2-6 credits total),
  aggregates reactions/comments/shares per post, returns a comparison.

What are people saying in the comments on Coca-Cola's last 3 posts?
→ Claude calls facebook_get_page_posts (1 credit) then
  facebook_get_post_comments 3 times (3 credits) and summarizes.

Show me marketplace listings for "PlayStation 5" under $400 in Berlin
→ Claude calls facebook_marketplace_city_coordinates (1 credit) +
  facebook_marketplace_search with filters (1 credit).

What this MCP server does NOT do

Some queries look natural in a chat ("compare engagement over the last month") but require aggregations the API doesn't expose as a single tool yet. Claude can still answer them, but it'll fan out into many tool calls — which is slow + expensive.

Query shapeWhy it's hard
"Engagement rate over the last 30 days" for a pageRequires fetching every post in the date range (paginated, limit capped at 9 per call) and computing engagement per post. Hits the LLM tool-call budget on busy pages.
"Compare engagement rates between Brand A, B, C over the last month"Same problem, 3× — one paginated fetch per brand, then comparison math. Works for small windows; slow for "last month" on high-volume pages.
Historical archive older than what Facebook itself servesWe surface what Facebook makes publicly visible. Posts that scrolled off Facebook's visible feed aren't retrievable.
Server-side time-series (daily engagement, weekly growth)Not yet — on the roadmap as a future engagement-stats endpoint with built-in aggregation.

If your use case maps to one of these patterns and you want the aggregation pre-computed instead of LLM-orchestrated, contact support with the specific query — we're prioritizing the aggregation endpoint based on customer demand.


🏗️ Architecture

Claude Desktop
    ↓
@socialapis/mcp (local MCP client)
    ↓
https://mcp.socialapis.io (global proxy)
    ↓
https://api.socialapis.io (data API)

Why this architecture?

  • ✅ Low latency (global edge network)
  • ✅ High reliability (99.9% uptime)
  • ✅ Auto rate limiting
  • ✅ Smart caching
  • ✅ Your API key stays local

🔧 Development

Local Setup

# Clone repository
git clone https://github.com/SocialAPIsHub/mcp-server.git
cd mcp-server

# Install dependencies
npm install

# Run MCP client
npm start YOUR_API_KEY

# Run HTTP proxy server
npm run serve

Project Structure

mcp-server/
├── src/
│   └── tools.js          # Tool definitions
├── mcp-wrapper.js        # MCP client (runs locally)
├── server.js             # HTTP proxy server
├── package.json
├── Dockerfile
└── README.md

Testing

# Test MCP client locally
node mcp-wrapper.js YOUR_API_KEY

# Test HTTP proxy
curl http://localhost:3001/health
curl http://localhost:3001/tools

# Test specific tool
curl -X POST http://localhost:3001/proxy \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"facebook_get_page_details","arguments":{"link":"https://facebook.com/nike"}}'

📊 Pricing

PlanCredits / monthPrice
Free200$0
Pro1,500$4.99
Ultra30,000$49
Mega120,000$179
EnterpriseCustomContact us

Most tools cost 1 credit per call; each tool description states its exact price. Current plans: socialapis.io/pricing.

View detailed pricing →


🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Quick Contribution Guide

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📖 Documentation


💬 Support


🗺️ Roadmap

Shipped:

Upcoming:

  • TikTok support
  • X (Twitter) support
  • LinkedIn support
  • YouTube support
  • Advanced analytics — server-side aggregation endpoints (engagement-over-time, brand comparisons) so multi-call patterns become a single tool call
  • Real-time webhooks — push notifications on new posts / engagement thresholds
  • LangChain integration

Platform priorities shift based on customer demand. The fastest way to push something up the queue is to email support@socialapis.io or DM @socialapis on Telegram with the use case.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments


🌟 Star History


Made with ❤️ by the SocialAPIs Team

Website • Twitter • Discord

Python SDK • JS SDK • Go SDK

Tools it offers (47)

What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • facebook_get_page_id
  • facebook_get_page_details
  • facebook_get_page_posts
  • facebook_get_page_videos
  • facebook_get_page_reels
  • facebook_get_group_id
  • facebook_get_group_details
  • facebook_get_group_posts
  • facebook_get_group_videos
  • facebook_get_post_id
  • facebook_get_post_details
  • facebook_get_post_details_extended
  • facebook_get_post_attachments
  • facebook_get_video_details
  • facebook_get_post_comments
  • facebook_get_comment_replies
  • facebook_search_pages
  • facebook_search_people
  • facebook_search_locations
  • facebook_search_posts
  • facebook_search_videos
  • facebook_ads_search
  • facebook_ads_page_details
  • facebook_ads_archive_details
  • facebook_ads_keywords
  • facebook_ads_countries
  • facebook_marketplace_search
  • facebook_marketplace_listing
  • facebook_marketplace_seller
  • facebook_marketplace_categories

Signals

GitHub stars
1
Forks
1
Last commit
Jun 2026
Advanced
Delivery
social-media-api MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-socialapishub-social-media-api
Source
github.com/socialapishub/mcp-server
Hosted endpoint
https://mcp.socialapis.io/mcp