Skip to main content
Glama

mcp-x MCP server

MCP project to connect Claude with X API. Built on top of X API v2

Demo

video-demo

Supported Features

  • Post tweets

Configuration

Getting Started with X

  • Go to X Developer Platform and login with your X account

  • Start with Basic plan

  • Store the Access Token, Secret, Client ID, Client Secret and Bearer token Docs: x-api-start

Related MCP server: X MCP Server

Set up

  • On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

  • On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "x": {
      "command": "uv",
      "args": [
        "--directory",
        "PROJECT_PATH/src/mcp_x",
        "run",
        "mcp-x"
      ],
      "env": {
        "X_API_KEY": "YOUR_API_KEY",
        "X_API_KEY_SECRET": "YOUR_API_KEY_SECRET",
        "X_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
        "X_ACCESS_TOKEN_SECRET": "YOUR_ACCESS_TOKEN_SECRET",
        "X_BEARER_TOKEN": "YOUR_BEARER_TOKEN",
        "LOGGING_PATH": "PROJECT_PATH/src/mcp_x/logs"
      }
    }
  }
}

TODO

  • Tests

  • Add Get tweets

  • Add Delete tweets

  • ...

Deployment

(todo)

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:

uv sync
  1. Build package distributions:

uv build

This will create source and wheel distributions in the dist/ directory.

Available Tools

1 tool
x_PostTweetB

Post a tweet using the X API

ParametersJSON Schema
NameRequiredDescriptionDefault
tweet_contentYesContent of the tweet

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It only states the action itself ('Post a tweet') without mentioning rate limits, error behavior, or whether authentication is required.

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?

The description is a single, concise sentence with no redundant information. It is appropriately brief for a tool with one parameter.

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?

With no output schema, the description should explain what the tool returns or other operational details, but it does not. However, for a simple one-parameter tool, the description is minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100% (tweet_content is described as 'Content of the tweet'), so the baseline is 3. The description adds no additional parameter semantics beyond the schema.

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?

The description uses a specific verb ('Post') and resource ('a tweet') clearly indicating the action. With no sibling tools, it fully distinguishes the tool's purpose.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool, prerequisites (e.g., authentication), or context. There are no alternatives mentioned, so the agent has no information about suitable scenarios.

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. 1 tool updatev0.1.0
    • First observedx_PostTweet

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusing it with another. The purpose of x_PostTweet is clear and unambiguous.

Naming Consistency4/5

The tool name combines a prefix 'x_' with CamelCase 'PostTweet', which mixes conventions but is still readable and suggests a consistent pattern if more tools existed. As a single tool, its name is clear and not chaotic.

Tool Count2/5

A single tool is too few for a server purportedly for the X (Twitter) API, which has many operations. The server feels critically under-scoped, offering only posting functionality.

Completeness1/5

The tool surface covers only posting tweets, leaving out essential operations like reading, searching, or deleting tweets. This is severely incomplete for a server meant to interact with X.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with X (formerly Twitter), allowing for posting tweets, searching content, managing accounts, and organizing lists.
    8 npm
    3
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Enables users to interact with X (Twitter) through the X API. Supports posting tweets, retrieving user timelines, searching tweets, and replying to tweets with comprehensive error handling.
    3
    5 npm
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables creating, managing, and publishing X/Twitter posts, threads, and replies directly through Claude chat. Supports draft management with the ability to create, list, publish, and delete tweet drafts.
    10
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables seamless interaction with Twitter/X platform through Claude AI, allowing users to post tweets with images, search for tweets, and engage in conversations using natural language commands.
    10
    32 npm
    25
    MIT