使用说明
项目简介
本项目是 Apidance API 的 MCP 服务器实现,旨在为 LLM (大型语言模型) 应用提供访问和操作 Twitter 数据的能力。通过 MCP 协议,LLM 客户端可以调用本项目提供的工具,从而便捷地获取 Twitter 信息或执行相关操作。
主要功能点
- 推文搜索: 根据关键词和筛选条件搜索 Twitter 推文,支持多种搜索类型(最新、热门、用户、图片、视频)。
- 用户信息获取: 根据 Twitter 用户名获取详细的用户信息,包括用户资料、统计数据和认证状态。
- 用户推文获取: 获取指定用户的推文列表。
- 列表推文获取: 获取指定 Twitter 列表的最新推文。
- 社交关系查询: 查询用户的关注列表。
- 推文互动: 创建推文、回复推文、创建长推文 (Note Tweet)、点赞推文。
安装步骤
- 环境准备: 确保已安装 Python 和 pip。建议使用 Python 3.8 或更高版本。
- 安装 SDK: 使用 pip 安装 'apidance-py-sdk':
pip install apidance - 配置 API 密钥:
- 访问 https://apidance.pro 获取 Apidance API 密钥。
- 在项目根目录下创建 '.env' 文件,并添加 API 密钥:
APIDANCE_API_KEY=your_api_key_here
服务器配置
为了让 MCP 客户端能够连接到本 MCP 服务器,需要在客户端配置中添加服务器启动信息。以下是一个示例 'FillSet config file' 配置,你需要根据实际情况修改 'command' 和 'args' 中的路径:
{ "mcpServers": { "apidance": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/apidance-py-sdk", "run", "mcp_server.py" ] } } }
配置参数说明:
- 'server name': 'apidance' (服务器名称,可自定义)
- 'command': '/path/to/uv' (Python 解释器路径。如果是使用虚拟环境,请填写虚拟环境中的 Python 解释器路径。如果全局 Python 环境可用,也可以直接使用 'python3' 或 'python')
- 'args': 启动参数列表
- '--directory': '/path/to/apidance-py-sdk' ( 'apidance-py-sdk' 仓库所在的目录。请替换为实际的仓库路径)
- 'run': 固定参数,表示运行 Python 脚本
- 'mcp_server.py': MCP 服务器脚本文件名,固定为 'mcp_server.py'
注意: 请将 '/path/to/uv' 和 '/path/to/apidance-py-sdk' 替换为你的实际路径。'/path/to/uv' 通常是你的 Python 虚拟环境路径下的 'bin/uv' 或 'Scripts/uv' (Windows)。
基本使用方法
- 启动 MCP 服务器: 在安装好 SDK 和配置好 API 密钥后,MCP 服务器可以通过 MCP 客户端配置的启动命令自动启动。
- LLM 客户端调用工具: 在 LLM 客户端中,可以使用 MCP 协议调用本服务器提供的工具。工具列表和参数定义在 'mcp_server.py' 文件中。例如,可以使用 'search_tweets' 工具搜索推文,使用 'get_user_info' 工具获取用户信息等。
- 查看工具文档: 详细的工具列表、参数说明和返回值请参考 'mcp_server.py' 文件中每个 '@mcp.tool()' 修饰的函数注释。
示例工具 (Tools):
- 'create_tweet(text: str, reply_to_tweet_id: Optional[Union[int, str]] = None)': 创建推文或回复推文。
- 'get_tweet_by_id(tweet_id: Union[int, str])': 根据推文 ID 获取推文详情。
- 'search_tweets(query: str, product: str = "Latest", count: int = 20)': 搜索推文。
- 'get_user_info(screen_name: str)': 获取用户信息。
- 'get_user_tweets(user_id: Union[str, int] = None, screen_name: str = None, count: int = 20)': 获取用户推文。
- 'create_note_tweet(text: str, use_richtext: bool = True, reply_to_tweet_id: Optional[Union[int, str]] = None)': 创建长推文 (Note Tweet)。
- 'get_list_tweets(list_id: Union[str, int], count: int = 20, include_promoted_content: bool = False)': 获取列表推文。
信息
分类
通信与社交