X推文生成与发布服务

MCP X Server是一款帮助用户生成和优化推文并发布到X平台的服务。

  • by wylu1037
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 wylu1037/mcp_x_server

使用说明

MCP X服务器

您可以使用MCP X服务器做什么?给它一个句子或一个主题,它将帮助你编写和完善一条推文,然后将其发布到X。

如何使用STDIO运行

本地

在MCP.json中配置MCP服务器。

{
    "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": "*******************"
            }
        }
    }
}

码头工人

在MCP.json中配置MCP服务器。

{
    "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-********************************"
        }
      }
    }
}

紫外线

在MCP.json中配置MCP服务器。

{
    "mcpServices": {
        "mcp-x-server": {
        "command": "uvx",
        "args": [
          "mcp-x-server"
        ],
        "env": {
          "CONSUMER_KEY": "********************************",
          "CONSUMER_SECRET": "********************************",
          "ACCESS_TOKEN": "********************************",
          "ACCESS_SECRET": "********************************",
          "DEEPSEEK_API_KEY": "sk-********************************"
        }
      }
    }
}

与SSE一起跑步

运行MCP服务器

fastmcp run --transport sse mcp_x_server/server.py

在MCP.json中配置MCP服务器。

{
    "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代币(而不是用户名/密码),并通过环境变量提供给 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,一般仅在你明确需要旧流程时使用。