Twitter集成服务

一个基于模型上下文协议(MCP)标准的Twitter集成服务,为AI代理提供全面的Twitter功能访问。

  • by taazkareem
  • JavaScript
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 taazkareem/twitter-mcp-server

使用说明

推特MCP服务器

AI代理的强大Twitter集成,利用模型上下文协议(MCP)标准,通过干净一致的界面提供一套全面的Twitter功能。

概述

该服务器通过MCP工具提供对Twitter功能的访问,允许与AI助手和其他MCP兼容客户端无缝集成。它建在 agent-twitter-client 库,并提供强大的错误处理、速率限制和一致的响应格式。

特性

基本阅读

  • 从有媒体支持的用户那里获取推文
  • 获取包含详细信息的用户配置文件
  • 通过标签或关键字搜索推文
  • 按最新/顶部筛选搜索结果
  • 速率限制(每个请求最多50条推文)

用户交互

  • 赞/不赞推文
  • 转发/撤消转发
  • 发布推文:
    • 文本内容
    • 媒体附件(图像、视频)
    • 回复功能
    • 引用推特功能

高级功能

  • 获取用户关系(关注者/追随者)
  • 获取热门话题
  • 访问不同的时间线类型:
    • 主页时间线
    • 遵循时间表
    • 用户时间线
  • 列表管理(获取列表推文)

媒体与高级互动

  • 媒体处理:
    • 图像上传(JPEG、PNG、GIF)
    • 视频上传(MP4)
    • Alt文本支持
  • 线程创建
  • 关注/取消关注用户

工具

阅读工具

  • get_tweets -获取用户最近的推文
  • get_profile -获取用户的个人资料信息
  • search_tweets -通过标签或关键字搜索推文

交互工具

  • like_tweet -喜欢或不喜欢推特
  • retweet -转发或撤消转发
  • post_tweet -发布带有可选媒体的新推文
  • create_thread -创建推特帖子

时间线工具

  • get_timeline -获取来自不同时间线类型的推文
  • get_list_tweets -从推特列表中获取推文
  • get_trends -获取当前热门话题

用户管理工具

  • get_user_relationships -获取关注者或关注列表
  • follow_user -关注或取消关注用户

安装

  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build
  1. 配置环境变量:
# Required: Twitter Account Credentials (for user authentication)
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
TWITTER_EMAIL=your_email

# Twitter API Authentication (Optional)
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret_key
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret
  1. 将服务器配置添加到MCP客户端:

在MacOS上:

~/Library/Application Support/Claude/claude_desktop_config.json

在Windows上:

%APPDATA%/Claude/claude_desktop_config.json

配置:

{
  "mcpServers": {
    "twitter-mcp-server": {
      "command": "/path/to/twitter-mcp-server/build/index.js"
    }
  }
}

发展

对于自动重建的开发:

npm run watch

调试

由于MCP服务器通过stdio进行通信,您可以使用MCP检查器进行调试:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

错误处理

服务器实现了全面的错误处理:

  • 所有参数的输入验证
  • 速率限制保护
  • 详细的错误消息
  • 正确的错误传播
  • 调试日志

响应格式

所有工具都以一致的格式返回响应:

{
  content: [{
    type: "text",
    text: string // JSON stringified response or error message
  }]
}

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-有关详细信息,请参阅许可证文件