使用说明
项目简介
本项目是一个实现了Model Context Protocol (MCP) 的服务器端应用,旨在通过标准化的接口向大型语言模型 (LLM) 客户端提供访问Twitter (X) 社交平台的能力。它使用 'twikit' 库与Twitter的非官方API进行交互,支持通过直接在工具调用中提供Twitter认证Cookie ('ct0' 和 'auth_token') 来进行身份验证。
主要功能点
- Cookie认证: 支持LLM客户端在每次工具调用时直接提供Twitter 'ct0' 和 'auth_token' Cookie进行认证。
- 会话缓存: 自动缓存已认证的Twitter会话,提高效率。
- 时间线访问: 获取用户的Twitter时间线推文。
- 用户信息获取: 获取特定Twitter用户的资料和统计信息。
- 推文搜索: 根据关键词搜索推文。
- 推文管理: 发布新推文、点赞和转发推文。
- 用户推文获取: 获取特定用户发布的推文列表。
- 认证测试: 提供工具用于测试提供的Cookie是否有效。
安装步骤
- 克隆项目仓库:
git clone https://github.com/gkydev/twitter-mcp-server.git cd twitter-mcp-server - 安装依赖:
pip install -r requirements.txt - 运行服务器:
python server.py
服务器配置
此MCP服务器需要由MCP客户端启动和连接。MCP客户端通常需要配置服务器的启动命令及其参数。以下是MCP客户端连接此服务器所需的配置信息示例(具体配置方式取决于使用的MCP客户端):
- 服务器名称 (server name): 'twitter-mcp'
- 启动命令 (command): 'python'
- 命令参数 (args): '["server.py"]'
该配置告知MCP客户端执行 'python server.py' 命令来启动此Twitter MCP服务器并建立Stdio连接。
基本使用方法
服务器启动后,MCP客户端可以通过JSON-RPC协议与之通信。客户端可以:
- 列出工具 (list_tools): 获取所有可用的Twitter工具及其输入参数定义(包括认证所需的 'ct0' 和 'auth_token')。
- 调用工具 (call_tool): 调用特定的Twitter工具,例如 'tweet'、'get_user_info' 等,并在参数中包含有效的 'ct0' 和 'auth_token' Cookie。
- 列出资源 (list_resources): 获取可访问的Twitter资源URI(如 'twitter://timeline')。
- 读取资源 (read_resource): 通过资源URI获取数据。请注意,访问资源时,服务器会优先使用环境变量 'TWITTER_CT0' 和 'TWITTER_AUTH_TOKEN' 进行认证,如果未设置环境变量,资源访问可能失败。建议优先使用工具方法,工具方法明确支持在调用参数中传递Cookie。
要获取Twitter Cookie ('ct0' 和 'auth_token'),用户需要通过浏览器登录Twitter (X) 网站,然后在开发者工具的存储/Cookie选项中查找并复制它们。
重要提示: 本项目使用非官方API,存在潜在风险,仅供实验和教育目的使用。
信息
分类
通信与社交