activitypub-mcp について
activitypub-mcp は、Mastodon、Misskey、Pleroma などの ActivityPub サービスを LLM が探索するための MCP サーバーです。既定では読み取りツールのみを登録し、書き込み操作は明示的な有効化が必要です。
主な機能
- 01公開タイムラインと投稿スレッドの取得
- 02投稿とトレンドトピックの検索
- 03アクターとインスタンス情報の探索
- 04複数アカウントの認証と切り替え
- 05投稿などの書き込み操作を任意で有効化
活用シーン
- 01Fediverse アカウントの最近の投稿を要約
- 02公開投稿やトレンドトピックの検索
- 03通知、ブックマーク、お気に入りの確認
- 04書き込みを有効にして投稿や交流
MCP 対応
MCP クライアントに Fediverse の読み取りツールを公開し、既定では書き込みツールを登録しません。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 | はい | 'user@domain' または '@user@domain' 形式の Actor ハンドル(例:'[email protected]') |
詳細
ActivityPub MCP サーバー
LLM 向けの Fediverse クライアント
軽量なModel Context Protocol(MCP)サーバーです。LLM が既存の 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"
}
}
}
}
認証
CLI でログインします。
npx activitypub-mcp login mastodon.social
ブラウザーで OAuth(Mastodon 系)または MiAuth(Misskey)を実行し、認証情報を ~/.config/activitypub-mcp/accounts.json に保存します。複数アカウントに対応しています。アクティブなアカウントを変更するには、switch-account を使用します。
または、CLI の手順を使わず単一アカウントを設定する場合は、環境変数 ACTIVITYPUB_DEFAULT_INSTANCE と ACTIVITYPUB_DEFAULT_TOKEN を設定します。
プラットフォームのサポート
discover-actor と fetch-timeline は、プレーンな ActivityPub(WebFinger → actor → outbox)を使用するため、Mastodon、Misskey、Foundkey、Pleroma/Akkoma、Lemmy(コミュニティとユーザー)、PeerTube(チャンネルとアカウント)、GoToSocial、Pixelfed など、ActivityPub に準拠するあらゆるサーバーから情報を読み取れます。
インスタンス 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 を呼び出して最近の投稿を読み取ります。
Fediverse の調査ダイジェスト、スレッドの予約投稿、通知のトリアージ、代替テキスト付きの画像投稿、トピックのキュレーションなど、コピーして使えるレシピについては examples/ をご覧ください。
HTTP トランスポート
デフォルトの stdio に加えて、サーバーはベアラートークンで保護された /mcp エンドポイントと、稼働状態を確認する /health エンドポイントを備えた HTTP モードをサポートしています。有効にするには、MCP_HTTP_SECRET(16 文字以上)を設定します。
サービスとしてセルフホストするために、リポジトリには Dockerfile と(HTTP モード用の)docker-compose.yml が含まれています。
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 のコンテンツ(投稿、プロフィール文、通知)を取得して LLM に渡します。こうしたコンテンツには、プロンプトインジェクションのペイロードが含まれている可能性があります。通知は一方的に届く経路であり、誰でもあなたのアカウントにメンションできます。<untrusted-content> エンベロープとデフォルトの読み取り専用設定によりリスク範囲は縮小されますが、リスクがなくなるわけではありません。
脅威モデル、SSRF 対策、認証情報の取り扱い、報告手順の詳細については、SECURITY.mdをご覧ください。
ドキュメント
ツールの全リファレンス、リソース一覧、プロンプトカタログ、環境変数ガイド、デプロイに関する注意事項は、ドキュメントサイトに掲載されています。
cameronrye.github.io/activitypub-mcp/docs/
ライセンス
MIT — LICENSEをご覧ください。
謝辞
Anthropic による Model Context Protocol を基盤としており、ActivityPub(W3C)および ActivityStreams の仕様に従って、分散型ソーシャルウェブと連携します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。