这是一个通过 agent-twitter-client 包与 Twitter 集成的 Model Context Protocol (MCP) 服务器,允许 AI 模型在没有直接 API 访问的情况下与 Twitter 进行交互。
认证选项:
推文操作:
用户操作:
Grok 集成:
# 全局安装
npm install -g agent-twitter-client-mcp
# 或本地安装
npm install agent-twitter-client-mcp
.env 文件(参见 [认证方法](#认证方法))# 如果全局安装
agent-twitter-client-mcp
# 如果本地安装
npx agent-twitter-client-mcp
该包包括一个 demo 目录,其中包含演示各种功能的示例脚本:
# 克隆仓库以访问演示脚本
git clone https://github.com/ryanmac/agent-twitter-client-mcp.git
cd agent-twitter-client-mcp/demo
# 运行交互式演示菜单
./run-demo.sh
# 运行特定的演示脚本
./run-demo.sh --script tweet-search.js
# 运行 Grok AI 示例(需要 agent-twitter-client v0.0.19)
./run-demo.sh --script simple-grok.js --use-local-agent-twitter-client
./run-demo.sh --script grok-chat.js --use-local-agent-twitter-client
更多详情,请参阅 演示 README。
默认情况下,MCP 服务器运行在 3000 端口。如果您需要更改此设置(例如,如果已经有应用程序在 3000 端口上运行),您有几种选择:
设置 PORT 环境变量:
PORT=3001 npx agent-twitter-client-mcp
如果使用 Docker Compose,您可以在 .env 文件中配置主机和容器端口:
# .env 文件
MCP_HOST_PORT=3001 # 主机上的端口
MCP_CONTAINER_PORT=3000 # 容器内的端口
然后运行:
docker-compose up -d
这将把主机上的 3001 端口映射到容器内的 3000 端口,这样您可以通过 http://localhost:3001 访问 MCP,而其他应用程序继续使用 3000 端口。
Windows:%APPDATA%\Claude\claude_desktop_config.json
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"agent-twitter-client-mcp": {
"command": "npx",
"args": ["-y", "agent-twitter-client-mcp"],
"env": {
"AUTH_METHOD": "cookies",
"TWITTER_COOKIES": "[\"auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com\", \"ct0=YOUR_CT0_VALUE; Domain=.twitter.com\", \"twid=u%3DYOUR_USER_ID; Domain=.twitter.com\"]"
}
}
}
}
{
"AUTH_METHOD": "cookies",
"TWITTER_COOKIES": "[\"auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com\", \"ct0=YOUR_CT0_VALUE; Domain=.twitter.com\", \"twid=u%3DYOUR_USER_ID; Domain=.twitter.com\"]"
}
要获取 Cookie:
auth_token、ct0 和 twid Cookie 的值Domain=.twitter.com 部分{
"AUTH_METHOD": "credentials",
"TWITTER_USERNAME": "your_username",
"TWITTER_PASSWORD": "your_password",
"TWITTER_EMAIL": "your_email@example.com", // 可选
"TWITTER_2FA_SECRET": "your_2fa_secret" // 可选,如果启用了双因素认证则需要
}
{
"AUTH_METHOD": "api",
"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"
}
get_user_tweets:从特定用户获取推文get_tweet_by_id:根据 ID 获取特定推文search_tweets:搜索推文send_tweet:发布新推文send_tweet_with_poll:发布带有投票的推文like_tweet:点赞推文retweet:转发推文quote_tweet:引用推文get_user_profile:获取用户资料follow_user:关注用户get_followers:获取用户的关注者get_following:获取用户正在关注的人grok_chat:通过 Twitter 与 Grok 聊天health_check:检查 Twitter MCP 服务器的状态MCP 包括一个用于测试的交互式命令行界面:
npx agent-twitter-client-mcp-test
# 或如果本地安装
npm run test:interface
这将启动一个 REPL,您可以在此处测试各种 MCP 函数:
agent-twitter-client-mcp> help
可用命令:
health 运行健康检查
profile <username> 获取用户资料
tweets <username> [count] 获取用户的推文
tweet <id> 根据 ID 获取特定推文
search <query> [count] 搜索推文
post <text> 发布新推文
like <id> 点赞推文
retweet <id> 转发推文
quote <id> <text> 引用推文
follow <username> 关注用户
followers <userId> [count] 获取用户的关注者
following <userId> [count] 获取用户正在关注的人
grok <message> 与 Grok 聊天
help 显示可用命令
exit 退出测试界面
# 运行健康检查
agent-twitter-client-mcp> health
# 搜索推文
agent-twitter-client-mcp> search mcp 2
# 获取用户资料
agent-twitter-client-mcp> profile elonmusk
# 获取用户的推文
agent-twitter-client-mcp> tweets openai 5
# 与 Grok 聊天
agent-twitter-client-mcp> grok 解释量子计算的简单概念
让 Claude:
要发布带有图片的推文:
我想发布一条带有图片的推文。推文应说“今天美丽的日落!”并包含这张图片。
要发布带有视频的推文:
我想发布一条带有视频的推文。推文应说“看看这段惊人的视频!”并包含视频文件。
要创建投票:
创建一个 Twitter 投票,问题为“你最喜欢的编程语言是什么?”选项为:Python、JavaScript、Rust 和 Go。投票持续 24 小时。
要与 Grok 聊天:
使用 Grok 向我解释量子计算。让它包括一些实际应用。
要继续与 Grok 的对话:
继续与 Grok 的对话,并让它详细解释量子纠缠。
Twitter 上的 Grok 可访问实时 Twitter 数据,即使独立的 Grok API 也无法访问这些数据。这意味着您可以询问 Grok 关于:
示例查询:
Grok 功能需要适当的认证。MCP 支持两种方法:
Cookie 认证(推荐):
TWITTER_COOKIES=["auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com", "ct0=YOUR_CT0_VALUE; Domain=.twitter.com", "twid=u%3DYOUR_USER_ID; Domain=.twitter.com"]auth_token、ct0 和 twid用户名/密码认证:
TWITTER_USERNAME 和 TWITTER_PASSWORDGrok 有速率限制,可能会影响使用:
当达到限制时,MCP 将在响应中返回速率限制信息。
有关使用 Grok 的更多详细信息,请参阅 Grok 示例 文档。
如果您遇到 Cookie 认证问题:
auth_token、ct0 和 twid。正确格式化的 Cookie 示例:
"TWITTER_COOKIES": "[\"auth_token=1234567890abcdef; Domain=.twitter.com\", \"ct0=abcdef1234567890; Domain=.twitter.com\", \"twid=u%3D1234567890; Domain=.twitter.com\"]"
如果您遇到用户名/密码认证问题:
TWITTER_2FA_SECRET。对于 API 认证问题:
如果您无法发布推文:
如果搜索不起作用:
如果 Grok 功能不起作用:
版本要求:
--use-local-agent-twitter-client 标志临时安装 v0.0.19认证问题:
速率限制:
环境文件位置:
demo/.env 中,而不是根目录中的 .env 文件--debug-env 标志检查加载哪些环境变量有关 Grok 问题的详细故障排除,请参阅 Grok 示例 文档。
使用 health_check 工具诊断服务器问题:
对 agent-twitter-client-mcp 服务器运行健康检查以诊断任何问题。
健康检查将报告:
服务器将日志记录到控制台和文件中:
error.log:包含错误级别的消息combined.log:包含所有日志消息检查这些日志以获取详细的错误信息。
git clone https://github.com/ryanmac/agent-twitter-client-mcp.git
cd agent-twitter-client-mcp
npm install
.env 文件:AUTH_METHOD=cookies
TWITTER_COOKIES=["cookie1=value1", "cookie2=value2"]
npm run build
npm start
除了认证变量外,还可以设置:
LOG_LEVEL:设置日志级别(error、warn、info、debug)NODE_ENV:设置环境(development、production)您也可以使用 Docker 运行服务器:
# 构建 Docker 镜像
docker build -t agent-twitter-client-mcp .
# 使用环境变量运行容器
docker run -p 3000:3000 \
-e AUTH_METHOD=cookies \
-e TWITTER_COOKIES='["auth_token=YOUR_AUTH_TOKEN; Domain=.twitter.com", "ct0=YOUR_CT0_VALUE; Domain=.twitter.com"]' \
agent-twitter-client-mcp
.env 文件# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down