Social Media MCP Server: Set Up crawlfeed in Claude, Cursor and More

Give Claude, Cursor, VS Code, Windsurf or Codex live access to public TikTok, Instagram and YouTube data with the crawlfeed MCP server. Setup, tools, costs, fixes.

Ilyas7 min read
The short answer

To give Claude or Cursor access to TikTok, Instagram, YouTube and other social data, connect the crawlfeed MCP server at https://mcp.crawlfeed.dev/mcp and send your API key as an Authorization header. It is a hosted Streamable HTTP server with 9 tools (profiles, posts, comments, search, Arabic enrichment and any other catalogue call), billed at the same credits as the REST API. Setup is one command in Claude Code or one JSON file in Cursor and VS Code.

Large language models know a lot about social media in general and almost nothing about what a creator posted this morning. The fix is to give your assistant a tool that fetches live public data. This guide sets up the crawlfeed MCP server in Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and Codex, then covers the tools, example prompts, costs and the errors you might hit.

What is the crawlfeed MCP server?

The Model Context Protocol (MCP) is a standard way for AI clients to discover and call tools. The crawlfeed MCP server wraps the crawlfeed API, so your assistant can read public data from 26 platforms, including TikTok, Instagram, YouTube, X, Reddit and LinkedIn, without you writing any code.

A few facts that matter for setup:

  • Endpoint: https://mcp.crawlfeed.dev/mcp
  • Transport: Streamable HTTP, stateless. There is no session to keep alive, and nothing to install for clients that speak HTTP.
  • Auth: an Authorization: Bearer sk_live_… header with your crawlfeed API key.
  • Tools: 9, from get_profile to a general run_request that reaches every endpoint in the catalogue.

Results come back in the same unified shape as the REST API: the data (a Profile, Post, Comment or search result) plus a compact meta with credits_used, credits_remaining and, on paged results, next_cursor. The compact meta keeps your context window small.

What do you need before you start?

One thing: an API key. Sign up, then create a key at app.crawlfeed.dev/dashboard/keys. New accounts get 100 free credits, which is plenty to try every tool.

The key is shown once, so copy it somewhere safe. The dashboard's Integrations page has copyable setup for every client below, if you prefer to paste rather than read.

How do you add it to Claude Code?

Claude Code supports remote HTTP servers and custom headers, so it is one command. Export your key as CRAWLFEED_KEY and run:

bash
claude mcp add --transport http crawlfeed https://mcp.crawlfeed.dev/mcp \
  --header "Authorization: Bearer $CRAWLFEED_KEY"

Start a new session and run /mcp to confirm crawlfeed is connected. Add --scope user if you want it available in every project rather than only the current one.

How do you connect Cursor?

Cursor reads MCP servers from .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project). Add the hosted server with your key in the headers:

mcp.json
{
  "mcpServers": {
    "crawlfeed": {
      "type": "http",
      "url": "https://mcp.crawlfeed.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_your_key_here"
      }
    }
  }
}

Replace sk_your_key_here with your key. If the file lives inside a repository, add it to .gitignore so the key never gets committed.

How do you set it up in VS Code?

VS Code uses the same idea with one difference: the top-level key is servers, not mcpServers. Create .vscode/mcp.json:

json
{
  "servers": {
    "crawlfeed": {
      "type": "http",
      "url": "https://mcp.crawlfeed.dev/mcp",
      "headers": { "Authorization": "Bearer sk_your_key_here" }
    }
  }
}

Open Copilot Chat in agent mode and the crawlfeed tools appear in the tool list.

How do you connect Claude Desktop?

Claude Desktop launches local (stdio) servers from a config file, so you bridge to the hosted server with mcp-remote. It runs on your machine through npx and needs Node.js 18 or later. Open Settings → Developer → Edit config to find claude_desktop_config.json, and add:

json
{
  "mcpServers": {
    "crawlfeed": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.crawlfeed.dev/mcp",
        "--header",
        "Authorization:${CRAWLFEED_AUTH}"
      ],
      "env": { "CRAWLFEED_AUTH": "Bearer sk_your_key_here" }
    }
  }
}

The header goes through the CRAWLFEED_AUTH environment variable because some clients split arguments on spaces, which would break Bearer sk_…. Restart Claude Desktop after saving.

What about Windsurf and Codex?

Windsurf takes the same mcp-remote JSON as Claude Desktop. Paste the crawlfeed entry into Windsurf's mcp_config.json, then refresh its MCP servers.

Codex keeps MCP servers in ~/.codex/config.toml. The same bridge, written in TOML:

toml
[mcp_servers.crawlfeed]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.crawlfeed.dev/mcp", "--header", "Authorization:${CRAWLFEED_AUTH}"]
env = { CRAWLFEED_AUTH = "Bearer sk_your_key_here" }

Any other client that launches stdio servers works the same way: run npx -y mcp-remote with the URL and the header.

The claude.ai web connector can add the server, but it cannot send custom headers yet. It connects and lists the tools, and only the key-free list_endpoints tool runs there. Every other tool answers unauthorized.

Which tools does it give your assistant?

Nine tools. The first four cover most questions; run_request covers everything else in the catalogue.

ToolWhat it doesMain inputsCost
get_profileBio, follower counts, verification, linksplatform, handlePer call
get_postsA profile's recent posts, newest firstplatform, handle, cursorPer page
get_postOne post with engagement countsplatform, idPer call
get_commentsComments on a postplatform, post_id, cursorPer page
searchSearch one platform, or fan out across severalq, platform or platformsPer platform searched
enrich_arabicDialect, sentiment, entities, topics for up to 50 textstexts3 credits
get_balanceYour balance, key and rate limitsnoneFree
list_endpointsEvery platform, operation, param and priceoptional platformFree, no key needed
run_requestAny catalogue operation by op_idop_id, platform, paramsThat operation's price

The data tools also accept fresh (skip the cache, double the price) and enrich (Arabic dialect and sentiment on each item, 3 extra credits).

Two tools deserve a closer look. search with a platforms array fans out across several platforms in one call. Platforms that miss the time budget finish in the background, and the result carries meta.job_id. Your assistant polls it with run_request and op_id job, which is free. run_request reaches the extended operations, such as followers, transcripts, hashtags, trending, ads and shops. The assistant finds their op_id and params with list_endpoints.

What can you ask once it is connected?

Ask in plain language; the assistant picks the tools. Some prompts that work well:

  • “Get the TikTok profile for @charlidamelio and summarise her last 10 videos by views.”
  • “Compare the follower counts of @nasa on Instagram, X and YouTube in a table.”
  • “Pull the top comments on this YouTube video and group them by sentiment.” (Paste the video id.)
  • “Search TikTok, Instagram and YouTube for ‘matcha latte recipe’ and list the five most-viewed results.”
  • “Get the transcript of this TikTok video and write a two-line summary.”
  • “What’s my crawlfeed balance, and how many profile lookups does it cover?”

For repeatable work, give the assistant a budget: “Use at most 20 credits.” Every result includes meta.credits_used, so it can keep count.

How much does it cost to use?

MCP tools cost exactly what the same REST call costs, because they call the same API with your key. Most platforms charge 1 credit per call: an Instagram profile is 1 credit, a page of YouTube videos is 1 credit. Heavier operations cost more; a TikTok transcript is 10 credits.

The rules that keep bills predictable:

  • Every page is billed. Paging through 10 pages of posts is 10 calls.
  • Fan-out search charges each platform searched, and refunds any that fail.
  • list_endpoints, get_balance and job polling are free.
  • Failed calls are refunded, so a retry never charges twice.

The server tells the assistant all of this in each tool's description, so a well-behaved agent checks prices with list_endpoints before a loop. See credits and pricing for the full table.

Why isn't the crawlfeed MCP server working?

Errors keep the same stable code values as the API, so they are easy to diagnose:

What you seeLikely causeFix
unauthorized, “needs your crawlfeed API key”The client is not sending the headerCheck the headers block, or switch to the mcp-remote setup
unauthorized, “not a crawlfeed API key”The header is malformedIt must be exactly Bearer sk_live_… or Bearer sk_test_…
Only list_endpoints worksNo key reaches the server (claude.ai web)Use a client that sends headers
insufficient_creditsBalance below the call’s priceTop up in the dashboard; nothing was charged
rate_limitedToo many calls too fastWait retry_after seconds
No tools appear in VS CodeTop-level key is mcpServersRename it to servers
Server fails to start in Claude Desktopnpx missing or Node.js older than 18Install Node.js 18+, then restart the client

Also, search takes either platform or platforms, never both; passing both returns invalid_request. And after editing any config file, restart the client or reload its MCP servers.

Where to go next

If you are choosing between MCP, a REST tool, an Agent Skill and llms.txt for your own agent, read how to give AI agents social media data. For platform specifics, see how to scrape TikTok data and how to scrape YouTube data. The full API reference is in the docs.

Questions

What is a social media MCP server?

It is a Model Context Protocol server that exposes social platform data as tools an AI assistant can call. With crawlfeed, Claude, Cursor or any MCP client can fetch public profiles, posts, comments and search results from TikTok, Instagram, YouTube, X and more, in one unified JSON shape.

Do I need to install anything to use the crawlfeed MCP server?

No, for clients that support remote HTTP servers with headers, such as Claude Code, Cursor and VS Code. Clients that only launch local servers, such as Claude Desktop, use the small mcp-remote bridge through npx, which needs Node.js 18 or later.

How much does the MCP server cost?

Tools cost exactly what the same call costs on the REST API: most profile, posts, comments and search calls are 1 credit. list_endpoints, get_balance and polling a search job are free, and failed calls are refunded. New accounts get free credits to start.

Does it work in the claude.ai web app?

The claude.ai web connector can connect, but it cannot send custom headers yet, so only the key-free list_endpoints tool runs there. Use Claude Code, Claude Desktop, Cursor or VS Code for the full set of tools.

Is my API key safe in an MCP config file?

The key sits in a local config file on your machine and is sent only to mcp.crawlfeed.dev over HTTPS. Keep project config files that contain a key out of version control, and revoke a key from the dashboard if it leaks.

Try it on your own data

Every example above runs as written. New accounts get 100 free credits, no card needed.

Get an API key