Twitter/X集成服务

一个提供与Twitter/X集成的MCP服务器,允许读取用户帖子并创建新帖子。

  • by SarthakRay26
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SarthakRay26/twitter-MCP

使用说明

MCP推特/X服务器

一个模型上下文协议(MCP)服务器,提供与Twitter/X的集成,允许您读取用户的帖子并创建新帖子。

特性

  • 阅读文章:从任何公共Twitter/X用户获取最新推文
  • 创建帖子:将新推文发布到您的Twitter/X帐户
  • 获取特定帖子:通过ID检索特定推文
  • 搜索文章:搜索与查询匹配的推文
  • 可配置选项:控制推文计数,包括/排除回复和转发

可用工具

1. read_posts

从指定的Twitter/X用户获取最新帖子。

参数:

  • username (必填):推特/X用户名(不含@)
  • count (可选):要获取的推文数量(1-100,默认值:20)
  • includeReplies (可选):是否包含回复(默认:false)
  • includeRetweets (可选):是否包含转发(默认值:true)

例子:

{
  "username": "elonmusk",
  "count": 10,
  "includeReplies": false,
  "includeRetweets": true
}

2. create_post

在推特/X上创建新帖子。

参数:

  • text (必填):推文的文本内容(最多280个字符)

例子:

{
  "text": "Hello, world! This is my first tweet via MCP."
}

3. get_post

按ID获取特定推文。

参数:

  • tweetId (必填):要检索的推文的ID

例子:

{
  "tweetId": "1234567890123456789"
}

4. search_posts

搜索与查询匹配的推文。

参数:

  • query (必填):搜索查询
  • count (可选):要获取的推文数量(1-100,默认值:10)
  • resultType (可选):“最近”或“流行”(默认:“最近的”)

例子:

{
  "query": "AI and machine learning",
  "count": 15,
  "resultType": "popular"
}

设置

1.先决条件

  • Node.js 18或更高版本
  • 具有API访问权限的Twitter开发人员帐户

2.Twitter API设置

  1. 转到 Twitter开发者门户

  2. 创建新应用程序或使用现有应用程序

  3. 生成以下凭据:

    • API密钥
    • API秘密
    • 访问令牌
    • 访问令牌密钥
    • 持有者令牌
  4. 确保您的应用程序具有以下权限:

    • 读写(用于创建帖子)
    • 用户和推文(用于阅读帖子)

3.安装

选项A:本地安装

  1. 克隆或下载此存储库

  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    
  4. 设置环境变量:

    cp .env.example .env
    

选项B:Docker安装

  1. 克隆或下载此存储库

  2. 设置环境变量:

    cp .env.example .env
    
  3. 使用Docker构建和运行:

    docker build -t mcp-twitter-x-server .
    docker run -it --env-file .env mcp-twitter-x-server
    

    或者使用Docker Compose:

    docker-compose up --build
    
  4. 编辑 .env 并添加您的Twitter API凭据:

    TWITTER_API_KEY=your_api_key_here
    TWITTER_API_SECRET=your_api_secret_here
    TWITTER_ACCESS_TOKEN=your_access_token_here
    TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret_here
    TWITTER_BEARER_TOKEN=your_bearer_token_here
    

4.MCP客户端的配置

将服务器添加到MCP客户端配置中。例如,在Claude Desktop中:

{
  "mcpServers": {
    "mcp-twitter-x-server": {
      "command": "node",
      "args": ["/path/to/MCP-X/dist/index.js"],
      "env": {
        "TWITTER_API_KEY": "your_api_key_here",
        "TWITTER_API_SECRET": "your_api_secret_here",
        "TWITTER_ACCESS_TOKEN": "your_access_token_here",
        "TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret_here",
        "TWITTER_BEARER_TOKEN": "your_bearer_token_here"
      }
    }
  }
}

使用示例

阅读文章

# Get latest 5 tweets from @elonmusk (excluding replies)
{
  "tool": "read_posts",
  "arguments": {
    "username": "elonmusk",
    "count": 5,
    "includeReplies": false
  }
}

创建帖子

# Post a new tweet
{
  "tool": "create_post", 
  "arguments": {
    "text": "Just set up my MCP Twitter server! 🚀 #MCP #TwitterAPI"
  }
}

搜索帖子

# Search for recent tweets about AI
{
  "tool": "search_posts",
  "arguments": {
    "query": "artificial intelligence",
    "count": 10,
    "resultType": "recent"
  }
}

响应格式

Tweet对象结构

{
  "id": "1234567890123456789",
  "text": "This is a tweet",
  "author": {
    "username": "example_user",
    "name": "Example User",
    "id": "987654321"
  },
  "created_at": "2023-10-01T12:00:00.000Z",
  "metrics": {
    "likes": 42,
    "retweets": 7,
    "replies": 3,
    "quotes": 1
  },
  "url": "https://twitter.com/example_user/status/1234567890123456789"
}

发展

脚本

  • npm run build -构建TypeScript项目
  • npm run start -启动服务器
  • npm run dev -自动重启开发模式
  • npm run clean -清理构建工件

项目结构

src/
├── index.ts              # Main MCP server
├── twitter-client.ts     # Twitter API v2 wrapper
├── twitter-client-v1.ts  # Twitter API v1.1 fallback
dist/                     # Compiled JavaScript
mcp-config.json           # Sample MCP configuration
.env.example              # Environment variables template

错误处理

该服务器包括全面的错误处理功能,用于:

  • Twitter API凭据无效
  • 速率限制
  • 用户未找到
  • 未找到推文
  • 无效参数
  • 网络错误

所有错误均以结构化格式返回:

{
  "success": false,
  "error": "Detailed error message"
}

速率限制

Twitter API有费率限制。超过限制时,服务器将抛出错误。考虑为生产使用实现缓存或请求限制。

安全说明

  • 永远不要承诺你的 .env 具有真实凭据的文件
  • 对所有敏感配置使用环境变量
  • 考虑为生产部署实施额外的身份验证
  • 监控您的Twitter API使用情况以避免意外收费

许可证

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

Docker MCP注册表

此服务器旨在与 Docker MCP注册表存储库包括:

  • Dockerfile -用于生产部署的容器配置
  • docker-compose.yml -使用Docker轻松进行本地测试
  • tools.json -Docker MCP注册表的工具定义
  • .dockerignore -优化Docker构建上下文

使用Docker MCP工具包

一旦该服务器在Docker MCP注册表中可用,就可以通过Docker Desktop的MCP工具包轻松安装和管理。

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. Docker测试: docker-compose up --build
  5. 提交拉取请求

支持

关于以下问题: