关于 activitypub-mcp
activitypub-mcp 是面向 LLM 的联邦宇宙 MCP 服务,可浏览 Mastodon、Misskey、Pleroma 等 ActivityPub 服务。它默认仅开放读取工具,写入操作需显式启用。
主要功能
- 01读取公开时间线和帖子串
- 02搜索内容与热门话题
- 03探索账号和实例信息
- 04支持多账号认证
- 05可选启用发帖等写入操作
适用场景
- 01汇总联邦宇宙账号的近期帖子
- 02搜索公开帖子和热门话题
- 03查看通知、书签和收藏
- 04在启用写入后发布或互动
MCP 相关
该服务向 MCP 客户端提供联邦宇宙的读取工具,默认不注册写入工具;设置 ACTIVITYPUB_ENABLE_WRITES=true 后可启用发帖、回复、关注等变更操作。支持 stdio 和带令牌保护的 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y activitypub-mcpACTIVITYPUB_ENABLE_WRITESEnable write/mutation tools (post, reply, follow, boost, block). Off by default: read-only unless set to 'true'. See SECURITY.md.LOG_LEVELLogging verbosity: debug, info, warn, or error.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
18收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| identifier | string | 是 | Actor 句柄,格式为 'user@domain' 或 '@user@domain'(例如,'[email protected]') |
详细介绍
ActivityPub MCP 服务
面向大模型的 Fediverse 客户端
一个轻量级的 Model Context Protocol (MCP) 服务,可让大模型探索并与现有 Fediverse 交互,包括 Mastodon、Misskey、Foundkey、Pleroma 及兼容的服务。默认仅提供只读功能;写入工具需主动启用。
安装
需要 Node.js 20+。
npx -y activitypub-mcp
一键安装:
Claude Desktop
**一键安装:**从最新版本下载 .mcpb 捆绑包(activitypub-mcp-<version>.mcpb),并在 Claude Desktop 中打开。
**手动安装:**编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"activitypub": {
"command": "npx",
"args": ["-y", "activitypub-mcp"]
}
}
}
重启 Claude Desktop。
Cursor
编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"activitypub": {
"command": "npx",
"args": ["-y", "activitypub-mcp"]
}
}
}
重启 Cursor。
默认只读
开箱即用时,仅注册读取工具:发现账号、获取时间线、搜索、获取串文、探索实例、读取热门内容。MCP 会话中不存在写入工具,因此注入的 Fediverse 内容无法触发账号操作。
公开读取工具(无需账号):discover-actor、fetch-timeline、get-post-thread、get-instance-info、get-public-timeline、get-trending-hashtags、get-trending-posts、search、discover-instances。
已认证读取工具(需要账号):list-accounts、switch-account、verify-account、get-home-timeline、get-notifications、get-bookmarks、get-favourites、get-relationship。
启用写入
在环境变量或 MCP 配置的 env 块中设置 ACTIVITYPUB_ENABLE_WRITES=true。这会注册完整的变更工具集:发帖、回复、删除、转发、收藏、书签、关注、静音、屏蔽、投票、上传媒体和定时发帖。启用前请阅读威胁模型。
{
"mcpServers": {
"activitypub": {
"command": "npx",
"args": ["-y", "activitypub-mcp"],
"env": {
"ACTIVITYPUB_ENABLE_WRITES": "true"
}
}
}
}
身份验证
使用命令行登录:
npx activitypub-mcp login mastodon.social
这会在浏览器中运行 OAuth(Mastodon 系列)或 MiAuth(Misskey),并将凭据保存到 ~/.config/activitypub-mcp/accounts.json。支持多个账号,可使用 switch-account 切换当前账号。
或者,设置 ACTIVITYPUB_DEFAULT_INSTANCE 和 ACTIVITYPUB_DEFAULT_TOKEN 环境变量,无需通过命令行流程即可使用单个账号。
平台支持
discover-actor 和 fetch-timeline 使用纯 ActivityPub(WebFinger → actor → outbox),因此可以读取任何符合规范的 ActivityPub 服务——Mastodon、Misskey、Foundkey、Pleroma/Akkoma、Lemmy(社区和用户)、PeerTube(频道和账号)、GoToSocial 和 Pixelfed。
实例 API 读取工具(search、get-trending-hashtags、get-trending-posts、get-public-timeline)和所有写入工具都需要 Mastodon 或 Misskey API 实例,因为它们会调用这些平台的 REST API。登录使用 OAuth(Mastodon 系列)或 MiAuth(Misskey)。
示例
将服务添加到 MCP 客户端后,可以试试:
“查找 @[email protected] 并总结其最新帖子。”
模型会调用 discover-actor 获取个人资料,然后调用 fetch-timeline 阅读近期帖子。
请参阅 examples/,了解可直接复制粘贴的示例方案——Fediverse 研究摘要、定时串帖、通知分类、带替代文本的图片帖子,以及主题整理。
HTTP 传输
除 stdio(默认)外,服务还支持 HTTP 模式,提供需要 bearer 验证的 /mcp 端点和 /health 存活检查。设置 MCP_HTTP_SECRET(至少 16 个字符)即可启用。
若要将其自托管为服务,仓库中提供了 Dockerfile 和 docker-compose.yml(HTTP 模式):
export MCP_HTTP_SECRET=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
docker compose up --build # then: curl http://localhost:8080/health
完整配置请参阅文档。
安全
此服务会获取所有人都可写入的 Fediverse 内容——帖子、简介、通知——并将其提供给大模型。这些内容可能包含提示注入载荷。通知属于未经请求的渠道:任何人都可以提及你的账号。<untrusted-content> 封装和默认只读设置可以缩小风险面,但无法完全消除风险。
完整的威胁模型、SSRF 防护、凭据处理和报告说明,请参阅 SECURITY.md。
文档
完整的工具参考、资源列表、提示词目录、环境变量指南和部署说明请见文档网站:
cameronrye.github.io/activitypub-mcp/docs/
许可证
MIT——请参阅 LICENSE。
致谢
本项目基于 Anthropic 的 Model Context Protocol,并按照 ActivityPub(W3C)和 ActivityStreams 规范与去中心化社交网络交互。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。