关于 Twitter Client MCP
这是一个通过 `agent-twitter-client` 库向客户端提供 Twitter 操作的 MCP 服务,涵盖资料、推文、搜索和关注关系,并包含凭据保护机制。
主要功能
- 01获取用户资料和推文
- 02发布、点赞和转推
- 03搜索推文与用户资料
- 04查看粉丝和关注列表
- 05关注用户
- 06隔离并清理凭据
适用场景
- 01搜索推文或 Twitter 用户资料
- 02发布推文或与推文互动
- 03查看用户的粉丝和关注列表
MCP 相关
向 MCP 客户端提供 Twitter 资料、推文、搜索和关系操作工具。服务端加载凭据,并避免其进入日志或被 LLM 访问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Twitter 客户端 MCP
一个模型上下文协议(MCP)服务,通过 agent-twitter-client 库提供对 Twitter 功能的安全访问。
功能
Twitter 客户端 MCP 提供以下功能:
-
个人资料操作
- 根据用户名获取个人资料信息
- 获取已认证用户的个人资料
-
推文操作
- 根据 ID 获取指定推文
- 获取用户的推文
- 发布新推文
- 点赞推文
- 转推推文
-
搜索操作
- 搜索推文
- 搜索个人资料
-
关系操作
- 获取用户的关注者
- 获取用户关注的账号
- 关注用户
安全 ⚠️
重要:保护 TWITTER 凭据
此 MCP 服务需要 Twitter 凭据才能运行。为保护这些敏感凭据:
- 切勿分享您的凭据
- 切勿运行会显示您凭据的命令
- 未经您批准,切勿允许大模型直接执行 shell 命令
多层保护
此服务实现了多层安全保护,以确保您的凭据安全:
1. 凭据隔离
- 仅在初始化期间加载您的凭据
- 加载后,立即从环境变量中移除凭据
- 绝不会将凭据记录到日志或传输给大模型
2. 内存保护
- 使用 sodium-native 安全分配内存
- 锁定内存,防止交换到磁盘
- 使用后将内存缓冲区清零
3. 防止未经授权的访问
- 安全处理环境变量
- 严格验证必需的环境变量
- 对控制台输出进行清理,防止泄露机密信息
设置
- 克隆代码库
- 安装依赖项:
npm install - 构建项目:
npm run build
必需的环境变量
Twitter 客户端 MCP 需要以下环境变量:
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
[email protected]
您也可以添加 Twitter API v2 凭据,以使用高级功能:
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_secret
工具
此服务提供以下 MCP 工具:
| 工具名称 | 描述 | 参数 |
|---|---|---|
profileByUsername | 根据用户名获取 Twitter 个人资料 | username:字符串 |
myProfile | 获取已认证用户的个人资料 | check:布尔值 |
getTweet | 根据 ID 获取指定推文 | tweetId:字符串 |
getUserTweets | 获取 Twitter 用户的推文 | username:字符串,count?:数字 |
sendTweet | 发布新推文 | text:字符串,inReplyToId?:字符串 |
likeTweet | 点赞推文 | tweetId:字符串 |
retweet | 转推推文 | tweetId:字符串 |
searchTweets | 搜索推文 | query:字符串,count?:数字,searchMode?:字符串('top'、'latest'、'photos'、'videos') |
searchProfiles | 搜索 Twitter 个人资料 | query:字符串,count?:数字 |
getFollowers | 获取关注某个 Twitter 用户的用户列表 | username:字符串,count?:数字 |
getFollowing | 获取某个 Twitter 用户关注的账号列表 | username:字符串,count?:数字 |
followUser | 关注 Twitter 用户 | username:字符串 |
用法
本地运行
# Start the server with environment variables
TWITTER_USERNAME=your_username TWITTER_PASSWORD=your_password [email protected] npm start
添加到 Cursor
如需将此 MCP 服务添加到 Cursor:
- 在 Cursor 中,前往 Settings > MCP Servers
- 点击 "Add Server"
- 使用以下设置配置服务:
- 名称:
Twitter Client MCP(或您喜欢的任意名称) - 类型:
command - 命令:
node - 参数:
/path/to/twitter-client-mcp/dist/index.js(替换为您的实际路径) - 环境变量:
TWITTER_USERNAME:您的 Twitter 用户名TWITTER_PASSWORD:您的 Twitter 密码TWITTER_EMAIL:您的 Twitter 邮箱- 您想要设置的任何其他变量
- 名称:
- 点击 "Save"
使用 NPX(推荐)
您也可以使用 npx 直接从 GitHub 运行 MCP 服务:
TWITTER_USERNAME=your_username TWITTER_PASSWORD=your_password [email protected] npx -y github:mzkrasner/twitter-client-mcp
在 Cursor 配置中使用环境变量
为提高安全性和易用性,请通过主目录中的 .cursor/mcp.json 文件配置 Cursor:
{
"mcpServers": {
"twitter-client-mcp": {
"command": "npx",
"args": [
"-y",
"github:mzkrasner/twitter-client-mcp"
],
"env": {
"TWITTER_USERNAME": "your_username",
"TWITTER_PASSWORD": "your_password",
"TWITTER_EMAIL": "[email protected]"
}
}
}
}
开发
开发重要提示
开发 MCP 服务时,所有调试和日志语句都应使用 console.error(),而不是 console.log()。MCP 协议通过 stdout 与客户端通信,因此任何 console.log() 语句都会干扰此通信。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。