使用说明
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设置
-
转到 Twitter开发者门户
-
创建新应用程序或使用现有应用程序
-
生成以下凭据:
- API密钥
- API秘密
- 访问令牌
- 访问令牌密钥
- 持有者令牌
-
确保您的应用程序具有以下权限:
- 读写(用于创建帖子)
- 用户和推文(用于阅读帖子)
3.安装
选项A:本地安装
-
克隆或下载此存储库
-
安装依赖项:
npm install -
构建项目:
npm run build -
设置环境变量:
cp .env.example .env
选项B:Docker安装
-
克隆或下载此存储库
-
设置环境变量:
cp .env.example .env -
使用Docker构建和运行:
docker build -t mcp-twitter-x-server . docker run -it --env-file .env mcp-twitter-x-server或者使用Docker Compose:
docker-compose up --build -
编辑
.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工具包轻松安装和管理。
贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- Docker测试:
docker-compose up --build - 提交拉取请求
支持
关于以下问题:
- Twitter API:检查 Twitter API文档
- MCP协议:检查 MCP文件
- 此服务器:在此存储库中打开问题