使用说明
项目简介
Crosspost MCP服务器是 Crosspost 工具的 MCP 服务端实现,它扩展了 Crosspost 的功能,使其能够作为 Model Context Protocol (MCP) 服务器运行。通过 MCP 协议,Crosspost MCP服务器可以向 LLM 客户端提供结构化的接口,用于跨多个社交媒体平台发布消息和内容。这使得 LLM 应用能够以标准化的方式利用 Crosspost 的社交媒体发布能力。
主要功能点
- 资源管理 (Strategies): Crosspost MCP服务器通过集成的 "策略 (Strategies)" 来管理不同的社交媒体平台连接。目前支持 Twitter, Mastodon, Bluesky, LinkedIn, Discord, Discord Webhook, 和 Dev.to 等平台。
- 工具注册 (Tools): 服务器注册了多个 "工具 (Tools)",允许 LLM 客户端调用以执行不同的发布任务。包括:
- 'crosspost': 将消息发布到所有已配置的社交媒体平台。
- 'post-to-[平台名称]': 将消息发布到指定的社交媒体平台,例如 'post-to-twitter', 'post-to-mastodon' 等。
- Prompt 模板 (Prompts): 定义了 "Prompt 模板 (Prompts)",引导 LLM 客户端构建合适的请求,以调用服务器的功能。包括:
- 'crosspost': 用于生成发布到所有平台的 Prompt。
- 'post-to-[平台名称]': 用于生成发布到特定平台的 Prompt,例如 'post-to-twitter', 'post-to-mastodon' 等。
- JSON-RPC 协议: 通过 JSON-RPC 协议与 MCP 客户端通信,接收请求并返回响应。
- 多种传输协议: 理论上支持 Stdio 等多种传输协议(仓库示例中使用 Stdio)。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
- 安装 Crosspost: 使用 npm 安装 Crosspost 包:
npm install @humanwhocodes/crosspost
服务器配置
MCP 客户端需要配置服务器连接信息,以下是 Crosspost MCP 服务器的 'server_config.json' 示例,用于连接到本地运行的 Crosspost MCP 服务器。
{ "serverName": "crosspost-mcp-server", "command": "npx", "args": [ "crosspost", "--mcp", "-t", // 启用 Twitter 策略 (需要配置 Twitter 环境变量) "-m", // 启用 Mastodon 策略 (需要配置 Mastodon 环境变量) "-b" // 启用 Bluesky 策略 (需要配置 Bluesky 环境变量) // 可以根据需要添加其他平台策略,例如 "-l" (LinkedIn), "-d" (Discord), "--discord-webhook", "--devto" ], "env": { // 在这里配置各个社交媒体平台所需的 API 密钥和 token 等环境变量 // 例如: // "TWITTER_API_CONSUMER_KEY": "YOUR_TWITTER_API_CONSUMER_KEY", // "TWITTER_API_CONSUMER_SECRET": "YOUR_TWITTER_API_CONSUMER_SECRET", // "TWITTER_ACCESS_TOKEN_KEY": "YOUR_TWITTER_ACCESS_TOKEN_KEY", // "TWITTER_ACCESS_TOKEN_SECRET": "YOUR_TWITTER_ACCESS_TOKEN_SECRET", // "MASTODON_ACCESS_TOKEN": "YOUR_MASTODON_ACCESS_TOKEN", // "MASTODON_HOST": "YOUR_MASTODON_HOST", // "BLUESKY_IDENTIFIER": "YOUR_BLUESKY_IDENTIFIER", // "BLUESKY_PASSWORD": "YOUR_BLUESKY_PASSWORD", // ...其他平台的环境变量 } }
配置说明:
- '"serverName"': 服务器名称,可以自定义。
- '"command"': 启动服务器的命令,这里使用 'npx' 来运行本地安装的 'crosspost' 包。
- '"args"': 传递给 'crosspost' 命令的参数:
- '--mcp': 指定以 MCP 服务器模式启动 Crosspost。
- '-t', '-m', '-b', '-l', '-d', '--discord-webhook', '--devto': 这些标志用于启用特定的社交媒体平台策略。你需要根据实际需求和已配置的环境变量来选择启用哪些平台。
- '"env"': 'env' 对象用于配置 Crosspost MCP 服务器运行所需的环境变量。非常重要: 你需要在此处配置各个社交媒体平台所需的 API 密钥、访问令牌等敏感信息。请务必替换示例中的 'YOUR_...' 为你自己的密钥和 token。 具体的环境变量名称和获取方式,请参考 Crosspost 仓库的 README.md 文档中 "Setting up Strategies" 章节。
注意:
- 确保在运行 MCP 客户端之前,已经正确配置了 'server_config.json' 文件,特别是 '"args"' 中的平台策略和 '"env"' 中的环境变量。
- 你可能需要根据你想要使用的社交媒体平台,安装并配置相应的 API 密钥和 token。
基本使用方法
- 启动 MCP 服务器: MCP 客户端连接服务器后,服务器会自动启动。如果需要手动启动进行调试,可以在终端中执行 'server_config.json' 中配置的命令(例如 'npx crosspost --mcp -t -m -b')。
- 使用 MCP 客户端: 使用任何支持 MCP 协议的客户端(例如 MCP Inspector 或自定义的 LLM 应用)连接到 Crosspost MCP 服务器。
- 列出 Prompt 和 Tool: 使用 MCP 客户端的功能,列出服务器提供的 "prompts/list" 和 "tools/list",查看可用的 Prompt 模板和工具。
- 调用 Tool 或使用 Prompt:
- 调用 Tool: 使用 MCP 客户端调用 'tools/call' 方法,指定要调用的工具名称(例如 'crosspost' 或 'post-to-twitter'),并传递必要的参数(例如 'message')。
- 使用 Prompt: 使用 MCP 客户端的 Prompt 功能,选择合适的 Prompt 模板(例如 'crosspost' 或 'post-to-twitter'),输入用户指令,获取 LLM 生成的请求,然后发送请求到 MCP 服务器。
通过以上步骤,你可以使用 Crosspost MCP 服务器,让 LLM 应用具备跨社交媒体平台发布内容的能力。
信息
分类
通信与社交