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.

TDQS

B3.2/5.0
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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • 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
    15
  • 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
    74
    25
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lyonsupernova/mcp-x'

If you have feedback or need assistance with the MCP directory API, please join our Discord server