返回市场
MCP服务器

MCP服务器

作者:DataWhisker42 星标更新:2025-10-23

项目介绍

X MCP 服务器

用于与X(推特)集成的Model Context Protocol (MCP)服务器,提供读取您的时间线和参与推文的工具。设计用于与Claude桌面应用配合使用。

<a href="https://glama.ai/mcp/servers/5nx3qqiunw"><img width="380" height="200" src="https://gips2.baidu.com/it/u=2352782404,2051524249&fm=3081&app=3081&f=PNG?w=760&h=400" alt="X Server MCP服务器" /></a>

功能

  • 从您的主页时间线获取推文
  • 创建带有可选图片附件的新推文
  • 回复带有可选图片附件的推文
  • 删除推文
  • 图片上传支持(PNG, JPEG, GIF, WEBP)
  • 内置安全验证和文件大小限制
  • 内置免费API层级的速率限制处理
  • 使用TypeScript实现,具有完整的类型安全性

先决条件

  • Node.js(v16或更高版本)
  • X(推特)开发者账户(免费)
  • Claude桌面应用

X API访问

X(推特)提供了免费层级的基本API访问:

免费层级功能

  • 发布限制:
    • 每月用户级别500次发布
    • 每月应用级别500次发布
  • 阅读限制:
    • 每月100次阅读
  • 功能:
    • 访问v2发布端点
    • 媒体上传端点
    • 访问广告API
    • 仅限1个应用ID
    • 使用X登录功能
  • 速率限制:
    • 所有端点的速率受限访问
    • 限制定期重置

注意:对于更高的需求,可以使用付费层级:

  • 基础层级($100/月):每月50,000条推文,额外端点
  • 专业层级($5000/月):更高的限制和企业级功能

您可以在以下网址访问免费层级:https://developer.x.com/en/portal/products/free

安装

  1. 克隆仓库:
git clone [your-repo-url]
cd x-mcp-server
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

配置

您需要设置您的X(推特)API凭证。请按照以下详细步骤操作:

  1. 转到Twitter开发者门户

    • 使用您的X(推特)账户登录
    • 如果没有开发者账户,系统会提示您创建一个
  2. 访问免费层级:

  3. 创建新项目:

    • 单击“创建项目”按钮
    • 输入项目名称(例如,“MCP集成”)
    • 选择“免费”作为您的设置
    • 选择您的用例
    • 单击“下一步”
  4. 在项目中创建新应用:

    • 单击“创建应用”
    • 输入应用名称
    • 单击“完成设置”
  5. 配置应用设置:

    • 在您的应用仪表板中,单击“应用设置”
    • 在“用户身份验证设置”下:
  6. 设置应用权限:

    • 在应用设置中,找到“应用权限”
    • 更改为“读写”
    • 单击“保存”
  7. 生成API密钥和令牌:

    • 转到“密钥和令牌”标签页
    • 在“消费者密钥”下:
      • 单击“查看密钥”或“重新生成”
      • 保存您的API密钥和API密钥秘密
    • 在“访问令牌和秘密”下:
      • 单击“生成”
      • 确保选择具有“读写”权限的令牌
      • 保存您的访问令牌和访问令牌秘密

重要事项:

  • 保持您的密钥和令牌安全,切勿公开分享
  • 您需要四个值:
    • API密钥(也称为消费者密钥)
    • API密钥秘密(也称为消费者秘密)
    • 访问令牌
    • 访问令牌秘密
  • 记住免费层级的限制:
    • 每月用户级别500次发布
    • 每月应用级别500次发布
    • 每月100次阅读

Claude桌面配置

要连接X MCP服务器与Claude桌面,您需要在Claude设置中进行配置。请按照以下步骤操作:

  1. 打开文件资源管理器

  2. 导航至Claude配置目录:

    • 按Win + R
    • 输入 %APPDATA%/Claude 并按Enter
    • 如果不存在Claude文件夹,请创建它
  3. 创建或编辑 claude_desktop_config.json

    • 如果文件不存在,请创建一个名为 claude_desktop_config.json 的新文件
    • 如果存在,请使用文本编辑器(如记事本)打开它
  4. 添加以下配置,替换占位符值为您之前部分中的实际API凭证:

{
  "mcpServers": {
    "x": {
      "command": "node",
      "args": ["%USERPROFILE%/Projects/MCP Basket/x-server/build/index.js"],
      "env": {
        "TWITTER_API_KEY": "paste-your-api-key-here",
        "TWITTER_API_SECRET": "paste-your-api-key-secret-here",
        "TWITTER_ACCESS_TOKEN": "paste-your-access-token-here",
        "TWITTER_ACCESS_SECRET": "paste-your-access-token-secret-here"
      }
    }
  }
}
  1. 保存文件并重启Claude桌面

注意:确保:

  • 替换所有四个凭证值为您实际的API密钥和令牌
  • 保持每个值周围的引号("")
  • 维持上述所示的确切间距和格式
  • .json扩展名保存文件

可用工具

get_home_timeline

获取您主页时间线上的最新推文。

参数:

  • limit(可选):要检索的推文数量(默认:20,最大:100)

示例:

await use_mcp_tool({
  server_name: "x",
  tool_name: "get_home_timeline",
  arguments: { limit: 5 }
});

create_tweet

创建带有可选图片附件的新推文。

参数:

  • text(必需):推文的文字内容(最多280字符)
  • image_path(可选):图片文件的绝对路径(PNG, JPEG, GIF, WEBP,最大5MB)

示例(纯文本):

await use_mcp_tool({
  server_name: "x",
  tool_name: "create_tweet",
  arguments: { text: "来自MCP的问候! 🤖" }
});

示例(带图片):

await use_mcp_tool({
  server_name: "x",
  tool_name: "create_tweet",
  arguments: {
    text: "看看这张图片! 📸",
    image_path: "/path/to/image.png"
  }
});

reply_to_tweet

回复带有可选图片附件的推文。

参数:

  • tweet_id(必需):要回复的推文ID
  • text(必需):回复的文字内容(最多280字符)
  • image_path(可选):图片文件的绝对路径(PNG, JPEG, GIF, WEBP,最大5MB)

示例(纯文本):

await use_mcp_tool({
  server_name: "x",
  tool_name: "reply_to_tweet",
  arguments: {
    tweet_id: "1234567890",
    text: "很棒的推文! 👍"
  }
});

示例(带图片):

await use_mcp_tool({
  server_name: "x",
  tool_name: "reply_to_tweet",
  arguments: {
    tweet_id: "1234567890",
    text: "这是我的回复 📸",
    image_path: "/path/to/image.jpg"
  }
});

delete_tweet

删除推文。 参数:

  • tweet_id(必需):要删除的推文ID 示例:
await use_mcp_tool({
  server_name: "x",
  tool_name: "delete_tweet",
  arguments: {
    tweet_id: "1234567890"
  }
});

开发

  • npm run build:构建TypeScript代码
  • npm run dev:在监视模式下运行TypeScript
  • npm start:启动MCP服务器

速率限制

服务器包括内置的免费层级速率限制处理:

  • 每月限制:
    • 用户级别每月500次发布
    • 应用级别每月500次发布
    • 每月100次阅读
  • 功能:
    • 跟踪每月使用情况
    • 提供速率限制错误的指数退避
    • 达到限制时提供清晰的错误消息
    • 在速率限制窗口过期后自动重试

许可证

MIT

贡献

  1. 分叉仓库
  2. 创建您的功能分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m '添加一些精彩的功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求