wylu1037/mcp_x_server
If you are the rightful owner of mcp_x_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP X Server helps you write, refine, and publish tweets to X.
MCP 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,一般仅在你明确需要旧流程时使用。