ActivityPub MCP 联邦宇宙客户端服务器使用说明
项目简介
'ActivityPub MCP' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM,如Claude)提供与联邦宇宙(Fediverse)交互的能力。它不作为一个独立的ActivityPub服务器运行,而是作为客户端连接到现有的联邦宇宙实例(如Mastodon、Pleroma、Misskey等),从而允许LLM发现联邦宇宙中的用户、获取时间线、查询实例信息并进行内容搜索。
主要功能点
- 探索联邦宇宙: 允许LLM发现和交互现有的ActivityPub服务器。
- WebFinger发现: 查找并发现联邦宇宙中的任何用户(Actor)。
- 时间线获取: 获取任何用户的最新动态(Posts)。
- 实例信息: 获取关于任何联邦宇宙实例的详细信息。
- 内容搜索: 在指定联邦宇宙实例上搜索内容、用户或话题标签。
- 实例发现与推荐: 发现流行实例,并根据兴趣获得个性化实例推荐。
- MCP协议支持: 完全实现了MCP协议,包括资源、工具和提示,为LLM提供标准化的交互接口。
安装步骤
- 先决条件: 确保您的系统已安装 Node.js 18+ (推荐LTS版本) 和 npm (或 yarn)。
- 克隆仓库: 打开您的终端或命令行工具,执行以下命令:
git clone https://github.com/cameronrye/activitypub-mcp.git cd activitypub-mcp - 安装依赖: 进入项目目录后,安装所有必需的依赖:
npm install - 启动MCP服务器: 执行以下命令启动MCP服务器:
服务器启动后将保持运行,等待MCP客户端(如Claude Desktop或MCP Inspector)连接。npm run mcp
服务器配置
为了让您的MCP客户端(例如Claude Desktop)能够连接并使用 'ActivityPub MCP' 服务器,您需要将以下配置信息添加到客户端的配置文件中。
MCP客户端配置示例:
例如,在Claude Desktop中,找到其配置文件 'claude_desktop_config.json'(通常在 macOS 位于 '~/Library/Application Support/Claude/claude_desktop_config.json',Windows 位于 '%APPDATA%\Claude\claude_desktop_config.json'),然后添加或修改 'mcpServers' 部分,使其包含以下内容:
{ "mcpServers": { "activitypub": { "command": "npx", "args": ["-y", "activitypub-mcp"] } } }
配置说明:
- 'activitypub': 这是MCP服务器的名称,您的LLM客户端将通过此名称来识别和引用这个MCP服务器。
- 'command': MCP服务器的启动命令。在这里,我们使用 'npx',它允许您运行npm包而无需进行全局安装,确保每次都使用最新版本。
- 'args': 传递给启动命令的参数。
- '-y': 用于自动确认 'npx' 在执行时可能遇到的提示(例如安装缺失的包)。
- 'activitypub-mcp': 这是您正在运行的 'ActivityPub MCP' 服务器的npm包名。
配置完成后,请 重启您的MCP客户端 以加载新的服务器配置。
基本使用方法
一旦MCP客户端成功连接到 'ActivityPub MCP' 服务器,LLM就可以通过调用其提供的工具和访问资源来与联邦宇宙交互。以下是一些基本的使用示例:
-
发现联邦宇宙用户 (工具调用): LLM可以通过调用 'discover-actor' 工具来查找联邦宇宙中的特定用户,例如: 'tool_code("discover-actor", {"identifier": "[email protected]"})' (这将尝试发现Mastodon创始人 Eugen Rochko 的信息)
-
获取联邦宇宙实例信息 (工具调用): LLM可以通过调用 'get-instance-info' 工具来获取某个联邦宇宙实例的详细信息,例如: 'tool_code("get-instance-info", {"domain": "mastodon.social"})' (这将返回 'mastodon.social' 实例的软件版本、用户统计等信息)
-
获取远程用户时间线 (资源访问): LLM可以直接读取 'activitypub://remote-timeline/{identifier}' 资源来获取用户的公开时间线(最新动态),例如: 'read_resource("activitypub://remote-timeline/[email protected]")' (这将获取 Eugen Rochko 在Mastodon上的最新帖子列表)
-
探索联邦宇宙 (提示模板): LLM可以使用 'explore-fediverse' 提示模板来获取关于如何探索联邦宇宙的建议和指导,例如: 'prompt("explore-fediverse", {"interests": "technology and programming", "instanceType": "mastodon"})' (这将生成一段文本,建议LLM如何根据“技术和编程”的兴趣在Mastodon实例上探索联邦宇宙)
信息
分类
AI与计算