使用说明

项目简介

Bluesky MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专为 Bluesky 社交网络设计。它通过 AT Protocol 协议,为 AI 应用提供结构化的上下文信息和功能,从而实现 Bluesky 社交网络的智能化特性。该服务旨在简化 AI 模型与 Bluesky 生态系统的集成,使开发者能够轻松利用 AI 能力,无需直接与大型语言模型或其他复杂 AI 系统交互。

主要功能点

  • Feed 分析 (Feed Analysis): 分析 Bluesky 用户的信息流 (feed),支持情感分析,并提供帖子长度、字数等指标。可以根据话题标签 (hashtag) 检索全网帖子。
  • 帖子辅助 (Post Assist): 根据用户指定的心情 (mood) 和主题 (topic),生成多样化且引人入胜的 Bluesky 帖子内容建议。
  • 社区管理 (Community Management): 跟踪用户活动,监控用户最近的帖子,帮助进行社区管理和用户行为分析。
  • 安全性: 实施多项安全措施,包括输入验证、TLS 加密、防止 XSS 和注入攻击等,保障服务安全可靠。
  • 高可用性: 具备内置的冗余特性,提高服务的稳定性和可用性。

安装步骤

  1. 安装 Go 环境: 确保你的开发环境已安装 Go 1.21 或更高版本。
  2. 克隆仓库: 使用 'git clone https://github.com/littleironwaltz/bluesky-mcp.git' 命令克隆仓库到本地。
  3. 进入目录: 使用 'cd bluesky-mcp' 命令进入项目目录。
  4. 下载依赖: 运行 'go mod download' 命令下载项目依赖。
  5. 构建项目: 运行 'make build' 命令编译项目。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数,以便建立连接。以下是 'server_config.json' 示例,请根据实际情况修改:

{
  "serverName": "bluesky-mcp",
  "command": "./bin/bluesky-mcp",
  "args": [],
  "description": "Bluesky MCP 服务器",
  "config": {
    "BskyID": "你的Bluesky账号或邮箱",
    "BskyPassword": "你的Bluesky密码",
    "BskyHost": "https://bsky.social"  // Bluesky API Host,通常为 https://bsky.social
    // "BskyConfigFile": "/path/to/config.json" // 可选:使用配置文件,优先级高于环境变量
    // "BskyBackupID": "备用Bluesky账号或邮箱", // 可选:备用账号,用于提高可靠性
    // "BskyBackupPassword": "备用Bluesky密码"  // 可选:备用账号密码
  }
}

参数注释:

  • 'serverName': MCP 服务器的名称,客户端用于识别。
  • 'command': 启动 MCP 服务器的可执行文件路径,这里假设编译后的二进制文件位于 './bin/bluesky-mcp'。
  • 'args': 启动命令的参数,本例中无需额外参数,为空数组 '[]'。
  • 'description': 服务器描述信息,方便客户端用户了解服务器用途。
  • 'config': 服务器配置信息,以 JSON 格式提供,客户端无需关心具体配置项,服务器内部使用。
    • 'BskyID': 你的 Bluesky 账号或邮箱,用于 API 认证。
    • 'BskyPassword': 你的 Bluesky 密码,用于 API 认证。
    • 'BskyHost': Bluesky API 主机地址,默认为 'https://bsky.social',通常无需修改。
    • 'BskyConfigFile': 可选,指定 JSON 配置文件路径,配置信息将从文件中读取,优先级高于环境变量。
    • 'BskyBackupID', 'BskyBackupPassword': 可选,备用 Bluesky 账号和密码,用于在主账号认证失败时提供备用方案,提高服务的可靠性。

配置方式:

你可以在 'server_config.json' 文件中直接填写配置信息,或者选择使用环境变量进行配置 (推荐)。

环境变量配置示例:

export BSKY_ID="你的Bluesky账号或邮箱"
export BSKY_PASSWORD="你的Bluesky密码"
export BSKY_HOST="https://bsky.social"
# export BSKY_CONFIG_FILE="/path/to/config.json" # 如果使用配置文件
# export BSKY_BACKUP_ID="备用Bluesky账号或邮箱"
# export BSKY_BACKUP_PASSWORD="备用Bluesky密码"

基本使用方法

  1. 启动服务器: 配置完成后,运行 'make run' 或直接运行编译后的二进制文件 './bin/bluesky-mcp' 启动服务器。默认情况下,服务器将在 '3000' 端口监听 HTTP 请求,健康检查服务在 '3001' 端口。

  2. 发送 JSON-RPC 请求: 使用 MCP 客户端或通过 'curl' 等工具,向服务器的 '/mcp/:method' 端点发送符合 JSON-RPC 2.0 规范的请求。':method' 需要替换为具体的方法名,例如 'feed-analysis', 'post-assist', 'community-manage'。

请求示例 (使用 curl):

Feed 分析请求:

curl -X POST "http://localhost:3000/mcp/feed-analysis" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "feed-analysis",
    "params": {
      "hashtag": "golang",
      "limit": 10
    },
    "id": 1
  }'

Post 辅助请求:

curl -X POST "http://localhost:3000/mcp/post-assist" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "post-assist",
    "params": {
      "mood": "excited",
      "topic": "artificial intelligence"
    },
    "id": 1
  }'

社区管理请求:

curl -X POST "http://localhost:3000/mcp/community-manage" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "community-manage",
    "params": {
      "userHandle": "user.bsky.social",
      "limit": 5
    },
    "id": 1
  }'

健康检查: 可以访问 'http://localhost:3001/health' 或 'http://localhost:3001/healthz' 检查服务器运行状态。

请参考仓库 README.md 文件和代码注释获取更详细的信息。

信息

分类

通信与社交