Skip to main content
Glama
Aiyo28
by Aiyo28

Xee-mcp — MCP server for X (Twitter): search + read, no paid API

What is Xee-mcp? It's a Model Context Protocol server that gives Claude, ChatGPT, and other AI assistants two read-only tools for X (Twitter): search posts and read a user's timeline. It uses cookie-based auth via twikit — no X API keys, no pay-per-use fees.

MIT License Python 3.11+ MCP Compatible

Naming: X + See = Xee (pronounced "ex-ee"). The name encodes the scope — Xee-mcp is for seeing X, not posting to it. Posting is intentionally out-of-scope for v0.x.


Status (v0.1.0)

xee-mcp init (cookie setup) works. search and user_tweets are temporarily degraded — they return a clear "upstream parser broken" error because twikit (the underlying scrape library) can't parse X's current webpack chunk format to build the X-Client-Transaction-Id header. This is not a cookie problem — your auth is fine.

This is upstream's repo to fix; we don't fork or maintain a patched scraper. When twikit ships a parser fix, bump the dep and these tools resume working with no code change on your side. See docs/upstream-issues.md for the technical details.

Why ship now anyway: the setup UX (xee-mcp init) is the value users feel first. Shipping that lets people install, configure, and be ready — so the day upstream lands a fix, the tools just start working.


Related MCP server: agent-twitter-client-mcp

Why Xee-mcp

Six MCP servers for X already exist. Most require the paid X API — pay-per-use since Feb 2026, ~$0.005 per read. For solo developers and OSS authors who just want to let Claude search what's being said about their work, that's wrong shape.

Xee-mcp solves one job: read X with zero API cost. Cookie auth via twikit, two tools, one MCP server. That's it.

Xee-mcp

mcp-twikit

official xmcp

Infatoshi/x-mcp

Auth

Cookie (twikit)

Cookie (twikit)

OAuth 2.0

OAuth 1.0a

API cost

$0

$0

Pay-per-use

Pay-per-use

Scope

Read + search only

Read + search + post + DMs

Full

Full

Tools count

2 (focused)

~10+

~10+

~10+

Goal

Minimal, solo-OSS friendly

Power user

Production

Production

If you want posting, DMs, or production-grade reliability — use one of the others. If you want the smallest thing that lets Claude see X for you, use Xee-mcp.


Tools

search(query, limit=20)

Search X posts by keyword. Returns text, author, timestamp, URL, and engagement stats.

user_tweets(handle, limit=20)

Read a user's recent posts. Returns the same fields.

That's the v0.1 surface. Two tools. Read-only. No surprises.


Install

git clone https://github.com/Aiyo28/Xee-mcp.git
cd Xee-mcp
uv sync

PyPI publish follows the first wave of feedback (pip install xee-mcp).


Quickstart

  1. Log in to x.com in Chrome (or Brave / Arc / Firefox / Safari / Edge — any one).

  2. One-shot cookie setup. Reads your existing browser session — no extension, no DevTools paste, no password:

    uv run xee-mcp init
    export XEE_MCP_COOKIES=~/.config/xee-mcp/cookies.json

    On macOS Chrome / Brave / Edge you'll see one Keychain prompt — approve it. For other browsers use --browser brave|arc|firefox|safari|edge. Other setup paths (advanced / headless) are in docs/cookies.md.

  3. Wire into Claude Desktop / Claude Code. Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "xee-mcp": {
          "command": "uv",
          "args": ["run", "--directory", "/path/to/Xee-mcp", "xee-mcp"],
          "env": { "XEE_MCP_COOKIES": "/path/to/cookies.json" }
        }
      }
    }
  4. Ask Claude:

    "Search X for posts about MCP servers from the last week." "Show me the last 10 posts from @simonw."


Limitations

  • Single account. v0.1 uses one cookie file. If X bot-detects, you wait it out or rotate. Multi-account pool is roadmapped (see twscrape swap path in ROADMAP.md).

  • Read-only. No post, no DMs, no like/retweet. Intentional — see naming.

  • No analytics dashboard. This is a primitive, not a product. Compose with other MCP tools.

  • Cookie auth is brittle by design. X may rotate session formats. Pin issues here.


Roadmap

See ROADMAP.md. v0.2 likely adds replies + bookmarks (still read). Posting stays separate (different threat model, different repo).


Support the project

Xee-mcp is MIT, ad-free, and will never have paid tiers. If it saves you time or money, you can throw a coffee:

paypal.me/aiyo28 — keeps everything ad-free, no paid tiers, ever.

Or just star the repo and tell someone. That works too.


  • Yzel — MCP connectors for CIS business tools (1C, Wildberries, Ozon, Bitrix24, AmoCRM, МойСклад, Telegram, iiko). Sibling OSS project, different scope (CIS-first business APIs).


License

MIT. See LICENSE.

Available Tools

2 tools
user_tweetsA

Read recent posts from an X (Twitter) user. Read-only.

Pass the handle without @. Example: handle="simonw" → fetches simonw's recent posts.
ParametersJSON Schema
NameRequiredDescriptionDefault
handleYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description states 'Read-only' which is good, but lacks disclosure of rate limits, pagination, or definition of 'recent'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 2 params and no annotations, description covers handle well but omits output format details, pagination, and explicit guidance on sibling tool distinction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds crucial meaning for the handle parameter (format without @, example). However, the limit parameter is not explained beyond schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Read recent posts from an X (Twitter) user' with a specific verb and resource. Distinguishes from sibling 'search' tool by specifying user scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides example and mentions read-only behavior, but does not explicitly contrast with sibling 'search' tool or indicate when to use one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedsearch
    • First observeduser_tweets

TDQS

A3.7/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one searches by keyword across posts, the other retrieves posts from a specific user. There is no overlap or ambiguity.

Naming Consistency4/5

Both tool names are lowercase and concise, but 'search' is a verb while 'user_tweets' is a noun phrase. The style is mostly consistent, with a minor deviation.

Tool Count3/5

With only 2 tools for the X platform, the scope is quite limited. While a small set can be appropriate for a focused server, this feels insufficient for comprehensive X interaction.

Completeness2/5

The server lacks many fundamental operations for social media data, such as posting, user profiles, trending topics, or thread fetching. The tool surface is severely incomplete.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects AI assistants to Twitter/X using cookie-based authentication to read timelines, search tweets, and perform actions like posting and liking. It leverages Twitter's internal GraphQL API to provide full functionality without requiring a developer account.
    8 npm
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI models to interact with Twitter, including posting tweets, searching, following users, and chatting with Grok, using cookie or credential authentication.
    14
    1,373 npm
    1
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Enables AI agents to search, read user profiles, timelines, media, follow threads, track trends, and manage accounts on X/Twitter via GraphQL, without browser automation or paid API keys.
    100
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to fully automate X/Twitter interactions including searching, posting, engaging, and managing multiple accounts without paid API keys.
    MIT