使用说明

项目简介

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)。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
  2. 安装 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。

基本使用方法

  1. 启动 MCP 服务器: MCP 客户端连接服务器后,服务器会自动启动。如果需要手动启动进行调试,可以在终端中执行 'server_config.json' 中配置的命令(例如 'npx crosspost --mcp -t -m -b')。
  2. 使用 MCP 客户端: 使用任何支持 MCP 协议的客户端(例如 MCP Inspector 或自定义的 LLM 应用)连接到 Crosspost MCP 服务器。
  3. 列出 Prompt 和 Tool: 使用 MCP 客户端的功能,列出服务器提供的 "prompts/list" 和 "tools/list",查看可用的 Prompt 模板和工具。
  4. 调用 Tool 或使用 Prompt:
    • 调用 Tool: 使用 MCP 客户端调用 'tools/call' 方法,指定要调用的工具名称(例如 'crosspost' 或 'post-to-twitter'),并传递必要的参数(例如 'message')。
    • 使用 Prompt: 使用 MCP 客户端的 Prompt 功能,选择合适的 Prompt 模板(例如 'crosspost' 或 'post-to-twitter'),输入用户指令,获取 LLM 生成的请求,然后发送请求到 MCP 服务器。

通过以上步骤,你可以使用 Crosspost MCP 服务器,让 LLM 应用具备跨社交媒体平台发布内容的能力。

信息

分类

通信与社交