MCP Server - Twitter NoAuth
一个无头的 MCP 服务器,提供 Twitter API 访问,无需本地凭据设置,即可实现核心 Twitter 操作,例如搜索推文、获取用户推文、发布推文和回复推文。
README
MCP Server - Twitter NoAuth
一个 MCP (模型上下文协议) 服务器,提供对 Twitter API 的访问,无需本地凭据或令牌设置。 提供核心 Twitter 操作,如搜索推文、获取用户推文、发布推文和回复推文。
演示视频
https://www.youtube.com/watch?v=LOxFqCTPedc
为什么选择 MCP Twitter NoAuth 服务器?
关键优势
- 无头 & 远程操作: 此服务器可以在完全无头的远程环境中运行,无需浏览器且无需本地文件访问。
- 解耦架构: 任何客户端都可以独立完成 OAuth 流程,然后将凭据作为上下文传递给此 MCP 服务器,从而在凭据存储和服务器实现之间创建完全分离。
锦上添花
- 专注的功能: 提供核心 Twitter 操作,如搜索推文、获取用户推文、发布推文和回复推文。
- Docker 就绪: 专为容器化而设计,实现良好隔离、环境独立、一键式设置。
- 可靠的依赖项: 基于标准的 Python requests 库构建,用于 Twitter API 集成。
功能
- 使用 Twitter API 搜索推文
- 获取特定用户的最新推文
- 获取特定用户的最新回复
- 发布新推文
- 回复现有推文
- 单独刷新访问令牌
- 自动刷新令牌处理
前提条件
- Python 3.10 或更高版本
- Twitter API 凭据(客户端 ID、客户端密钥、访问令牌和刷新令牌)
安装
# 克隆存储库
git clone https://github.com/yourusername/mcp-twitter-noauth.git
cd mcp-twitter-noauth
# 安装依赖项
pip install -e .
Docker
构建 Docker 镜像
# 构建 Docker 镜像
docker build -t mcp-twitter-noauth .
与 Claude Desktop 一起使用
Docker 用法
您可以通过将以下内容添加到您的 Claude 配置中,来配置 Claude Desktop 以使用 Docker 镜像:
{
"mcpServers": {
"twitter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-twitter-noauth:latest"
]
}
}
}
注意:使用此配置,您需要在工具调用中提供您的 Twitter API 凭据,如使用工具部分所示。 Twitter 凭据不会作为环境变量传递,以保持凭据存储和服务器实现之间的分离。
跨平台发布
要为多个平台发布 Docker 镜像,您可以使用 docker buildx 命令。 请按照以下步骤操作:
-
创建一个新的构建器实例(如果尚未创建):
docker buildx create --use -
构建并推送适用于多个平台的镜像:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-twitter-noauth:latest --push . -
验证镜像是否可用于指定的平台:
docker buildx imagetools inspect buryhuang/mcp-twitter-noauth:latest
用法
该服务器通过 MCP 工具提供 Twitter 功能。 身份验证处理通过专用的令牌刷新工具简化。
启动服务器
mcp-server-twitter-noauth
使用工具
当使用像 Claude 这样的 MCP 客户端时,您有两种主要方式来处理身份验证:
刷新令牌(第一步或令牌过期时)
如果您同时拥有访问令牌和刷新令牌:
{
"twitter_access_token": "your_access_token",
"twitter_refresh_token": "your_refresh_token",
"twitter_client_id": "your_client_id",
"twitter_client_secret": "your_client_secret"
}
如果您的访问令牌已过期,您可以使用刷新令牌进行刷新:
{
"twitter_refresh_token": "your_refresh_token",
"twitter_client_id": "your_client_id",
"twitter_client_secret": "your_client_secret"
}
这将返回一个新的访问令牌及其过期时间,您可以在后续调用中使用它。
搜索推文
使用 Twitter API 搜索推文:
{
"twitter_access_token": "your_access_token",
"query": "your search query",
"max_results": 10
}
响应包括推文数据,包括文本、创建时间和作者信息。
获取用户推文
获取特定用户的最新推文:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
获取用户回复
获取特定用户的最新回复:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
发布推文
发布新推文:
{
"twitter_access_token": "your_access_token",
"text": "This is a test tweet from the MCP Twitter server"
}
回复推文
回复现有推文:
{
"twitter_access_token": "your_access_token",
"tweet_id": "id_of_tweet_to_reply_to",
"text": "This is a reply to the original tweet"
}
令牌刷新工作流程
- 首先调用
twitter_refresh_token工具,使用以下任一方式:- 您的完整凭据(访问令牌、刷新令牌、客户端 ID 和客户端密钥),或
- 如果访问令牌已过期,则仅使用您的刷新令牌、客户端 ID 和客户端密钥
- 将返回的新访问令牌用于后续 API 调用。
- 如果您收到指示令牌过期的响应,请再次调用
twitter_refresh_token工具以获取新令牌。
这种方法简化了大多数 API 调用,无需为每个操作提供客户端凭据,同时仍然可以在需要时启用令牌刷新。
获取 Twitter API 凭据
要获取所需的 Twitter API 凭据,请按照以下步骤操作:
- 转到 Twitter 开发者门户
- 创建一个新项目和应用
- 设置 OAuth 2.0 身份验证
- 配置您的应用的 OAuth 设置
- 生成客户端 ID 和客户端密钥
- 完成 OAuth 流程以获取访问令牌和刷新令牌
令牌刷新
此服务器实现自动令牌刷新。 当您的访问令牌过期时,服务器将使用刷新令牌、客户端 ID 和客户端密钥来获取新的访问令牌,而无需用户干预。
安全提示
此服务器需要直接访问您的 Twitter API 凭据。 始终确保您的令牌和凭据安全,并且永远不要与不受信任的方共享它们。
许可证
有关详细信息,请参见 LICENSE 文件。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器