About MCP X Server
MCP X Server helps users turn a sentence or topic into a refined tweet and publish it to X. It is an MCP server for drafting and posting social updates.
Key features
- 01Draft tweets from a sentence or topic
- 02Refine tweet wording
- 03Publish tweets to X
- 04Run over STDIO or SSE
Use cases
- 01Turn a topic into a draft tweet
- 02Polish a tweet before publication
- 03Publish a prepared update to X
MCP support
The MCP server exposes tweet drafting, refinement, and publishing to X for MCP clients. The README describes STDIO and SSE connection options.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx mcp-x-serverCONSUMER_KEYSecretCONSUMER_SECRETSecretACCESS_TOKENSecretACCESS_SECRETSecretDEEPSEEK_API_KEYSecretLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP X Server
What can you do with MCP X Server? Give it a sentence or a topic, and it will help you write and refine a tweet, then publish it to X.
How to run with STDIO
Local
Configure the MCP server in mcp.json.
{
"mcpServices": {
"x-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"pydantic-ai",
"--with",
"pydantic-ai-slim[duckduckgo,openai]",
"--with",
"dotenv",
"--with",
"python-twitter-v2",
"fastmcp",
"run",
"mcp_x_server/server.py"
],
"env": {
"CONSUMER_KEY": "*******************",
"CONSUMER_SECRET": "*******************",
"ACCESS_TOKEN": "*******************",
"ACCESS_SECRET": "*******************",
"DEEPSEEK_API_KEY": "*******************"
}
}
}
}
Docker
Configure the MCP server in mcp.json.
{
"mcpServices": {
"x-mcp-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--name",
"mcp-x-server",
"-e",
"CONSUMER_KEY",
"-e",
"CONSUMER_SECRET",
"-e",
"ACCESS_TOKEN",
"-e",
"ACCESS_SECRET",
"-e",
"DEEPSEEK_API_KEY",
"wylu1037/mcp-x-server:latest"
],
"env": {
"CONSUMER_KEY": "********************************",
"CONSUMER_SECRET": "********************************",
"ACCESS_TOKEN": "********************************",
"ACCESS_SECRET": "********************************",
"DEEPSEEK_API_KEY": "sk-********************************"
}
}
}
}
UVX
Configure the MCP server in mcp.json.
{
"mcpServices": {
"mcp-x-server": {
"command": "uvx",
"args": [
"mcp-x-server"
],
"env": {
"CONSUMER_KEY": "********************************",
"CONSUMER_SECRET": "********************************",
"ACCESS_TOKEN": "********************************",
"ACCESS_SECRET": "********************************",
"DEEPSEEK_API_KEY": "sk-********************************"
}
}
}
}
Run with SSE
Run MCP server
fastmcp run --transport sse mcp_x_server/server.py
Configure the MCP server in mcp.json.
{
"mcpServices": {
"mcp-x-server": {
"url": "http://localhost:8000/sse"
}
}
}
Publish to PyPI(发布到 Python 包管理中心)
推荐使用 uv 一站式完成构建和发布,本项目已经包含 pyproject.toml 与 uv.lock,适合这种方式。
1. 安装 uv(如尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
或根据官方文档选择适合你平台的安装方式。
2. 更新版本号
在 pyproject.toml 的 [project] 部分更新 version 字段,避免与已发布版本重复。
你也可以使用 uv 自动修改版本号,例如:
uv version --bump patch
3. 清理旧的构建产物(可选)
rm -rf dist/ build/ *.egg-info
4. 使用 uv 构建发行包
uv build
构建完成后,发行包会生成在 dist/ 目录下(.whl 和 .tar.gz)。
5. 配置 PyPI 凭据
推荐使用 PyPI 的 API Token(而不是用户名/密码),并通过环境变量提供给 uv:
export UV_PUBLISH_TOKEN="pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
6. 使用 uv 发布到 PyPI
uv publish
如需发布到 TestPyPI,可在 pyproject.toml 中配置 [[tool.uv.index]],然后:
uv publish --index testpypi
说明:
- 传统的
python -m build+twine upload流程同样可用,只是这里更推荐使用 uv;- 本仓库还保留了
python setup.py upload命令,会自动构建并通过twine上传包,同时推送 git tag,一般仅在你明确需要旧流程时使用。
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.