+ Integration Guide

· Updated August 29, 2026

How to Connect Twitter MCP to Claude Desktop

Add FetchLayer's Twitter/X MCP server to Claude Desktop so Claude can search tweets, get profiles, and pull follower data in your conversations.

Written by Alex P.

  • MCP
  • Claude Desktop
  • twitter scraping
  • X scraping
  • AI agent
  • Anthropic

Claude Desktop is Anthropic’s native desktop app for Claude. It supports the Model Context Protocol (MCP), which lets Claude call external tools — including Twitter/X data from FetchLayer.

Once configured, you can ask Claude to search tweets, analyze profiles, pull follower graphs, and more — all inside a normal conversation.


Prerequisites


Step 1: Open the Claude Desktop config

Claude Desktop reads MCP server configurations from a JSON config file. The location depends on your OS:

macOS:

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

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

If the file doesn’t exist, create it. You can also open it from Claude Desktop: go to Settings → Developer → Edit Config.


Step 2: Add the FetchLayer MCP server

Add this configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "fetchlayer": {
      "url": "https://mcp.fetchlayer.dev",
      "headers": {
        "Authorization": "Bearer ss-your-api-key"
      }
    }
  }
}

Replace ss-your-api-key with your actual API key from the FetchLayer dashboard.

If you already have other MCP servers, add "fetchlayer" next to them:

{
  "mcpServers": {
    "filesystem": { "command": "..." },
    "fetchlayer": {
      "url": "https://mcp.fetchlayer.dev",
      "headers": {
        "Authorization": "Bearer ss-your-api-key"
      }
    }
  }
}

Alternative: Custom Connectors (no config file)

The config-file method above runs the MCP connection locally on your machine and works on every plan. If you’re on a Pro, Max, Team, or Enterprise plan, there’s also a GUI path that skips the file entirely: Customize → Connectors in your Claude account (or Organization settings → Connectors for Team/Enterprise), then Add custom connector and paste in https://mcp.fetchlayer.dev as the remote MCP server URL.

The distinction matters technically, not just cosmetically: a Custom Connector calls FetchLayer’s server from Anthropic’s cloud, not from your desktop — which is why it requires a publicly reachable HTTPS URL (FetchLayer’s does qualify) rather than a local process. Free-plan accounts are limited to one custom connector total, so if you’re already using your one slot elsewhere, the claude_desktop_config.json method above has no such limit and is the better fit.

Both methods expose the same 10 tools — pick whichever fits how you already manage the rest of your MCP setup.


Step 3: Restart Claude Desktop

Quit Claude Desktop completely and reopen it. The app loads MCP configs on startup.

You should see a small hammer/tools icon in the chat input area — this indicates MCP tools are available. Click it to see “fetchlayer” listed with all its Twitter tools.


Step 4: Try it out

Start a new conversation and try:

Search X/Twitter for posts about “best project management tools” from the last month. Show me the top 5 with engagement stats.

Claude will call the FetchLayer search tool and return structured results.

More ideas:

PromptWhat Claude does
”What’s @levelsio tweeting about lately?”Fetches recent user tweets
”Summarize the replies to this tweet: [URL]“Pulls replies, then summarizes
”Find verified accounts following @openai”Returns verified followers list
”What’s the sentiment about AI coding tools on X/Twitter right now?”Searches, reads tweets, analyzes tone
”Get me the profile for @rauchg”Returns user profile data

Because Claude can chain tool calls with reasoning, it can do multi-step analysis — search for tweets, pull profiles, compare follower counts, and synthesize findings in one conversation turn.


Available Tools

Claude Desktop gets access to all FetchLayer Twitter/X tools:

  • twitter_search — Search tweets by keyword
  • twitter_tweet_detail — Get a specific tweet by ID
  • twitter_tweet_replies — Fetch replies to a tweet
  • twitter_user_profile_details — Get user profile by handle
  • twitter_about_profile — Extended profile metadata
  • twitter_user_tweets — A user’s recent tweets
  • twitter_user_replies — A user’s recent replies
  • twitter_following — Accounts a user follows
  • twitter_followers — Accounts following a user
  • twitter_verified_followers — Verified accounts following a user

Troubleshooting

Tools icon not showing?

  • Make sure the config file path is correct for your OS
  • Validate the JSON (no trailing commas, proper quoting)
  • Fully quit and relaunch Claude Desktop (not just close the window)

Claude says it can’t access Twitter?

  • Check that your API key is valid
  • Make sure you’re in a new conversation (MCP tools aren’t available in old chats started before config change)

Getting errors in tool calls?

  • Look at the tool call details in Claude’s response — it shows the error message
  • Most common: invalid API key or malformed request body

Added via Custom Connectors and it still won’t connect?

  • Confirm the URL is exactly https://mcp.fetchlayer.dev with no trailing slash or path appended
  • Remember this path calls out from Anthropic’s cloud — a corporate firewall or VPN blocking outbound traffic on your end doesn’t affect it, but if your FetchLayer key is IP-restricted (not the default), it will

Config file vs. Custom Connectors: which should you use?

If you’re deciding between the two setup paths above: the config file is the better default for a personal, single-machine setup — it’s free-tier friendly, has no connector-count limit, and keeps the key on your own disk rather than passed through Anthropic’s infrastructure. Custom Connectors make more sense when you want the same FetchLayer connection available across Claude Desktop, claude.ai in the browser, and Claude Cowork without maintaining three separate config files, or when you’re on a Team/Enterprise plan and want an org-wide connector every member can enable without editing JSON themselves.


What a tool call actually returns

Claude gets structured JSON, which is why follow-up questions don’t cost anything. A search response is shaped roughly like:

{
  "results": [
    {
      "id": "1942939879222220800",
      "text": "Two weeks in and the migration is still not done.",
      "author": {
        "handle": "example_dev",
        "displayName": "Example Dev",
        "followersCount": 12400
      },
      "likeCount": 284,
      "retweetCount": 41,
      "replyCount": 63,
      "createdAt": "2026-08-18T10:00:00.000Z",
      "url": "https://x.com/example_dev/status/1942939879222220800"
    }
  ]
}

Every engagement number and the author’s follower count arrive together, so Claude can rank, compare, and compute engagement rates across the whole result set without a single additional request.


A research session, end to end

Claude Desktop is a chat window, which suits open-ended questions where you don’t yet know what you’re looking for:

You: “What are people saying about the new pricing at [competitor] on X?”

One search call. Claude summarizes the reaction.

You: “Which of those got the most argument rather than agreement?”

No request. A high replyCount against a modest likeCount is the signature of a dispute, and both numbers are already in hand.

You: “Read the replies on that one.”

One tweet-replies call — the second request.

You: “Draft three talking points for our sales team based on the objections.”

No request. Claude is working from context.

Four exchanges, two billed requests. Fetching costs; thinking doesn’t. Get the data in early, then interrogate it as much as you like.


Context fills faster than you expect

Reply threads are long, and follower lists are longer. Two or three tweet-replies calls on busy posts will consume a conversation’s context, and a follower page can do it in one.

Habits that help:

  • Ask Claude to summarize each thread as it goes, so conclusions survive after the raw JSON scrolls out of context
  • Start a fresh conversation per research question rather than one sprawling session
  • Avoid pulling follower lists into a chat you also want to think in — the volume crowds out everything else

If answers get vaguer halfway through a long session, that’s context pressure rather than the tools failing.


What’s Next