mcpField
A
activitypub-mcp

activitypub-mcp

ローカル
github.com/cameronryeソーシャルメディア1718 週間前に更新

activitypub-mcp について

activitypub-mcp は、Mastodon、Misskey、Pleroma などの ActivityPub サービスを LLM が探索するための MCP サーバーです。既定では読み取りツールのみを登録し、書き込み操作は明示的な有効化が必要です。

主な機能

  1. 01公開タイムラインと投稿スレッドの取得
  2. 02投稿とトレンドトピックの検索
  3. 03アクターとインスタンス情報の探索
  4. 04複数アカウントの認証と切り替え
  5. 05投稿などの書き込み操作を任意で有効化

活用シーン

  1. 01Fediverse アカウントの最近の投稿を要約
  2. 02公開投稿やトレンドトピックの検索
  3. 03通知、ブックマーク、お気に入りの確認
  4. 04書き込みを有効にして投稿や交流

MCP 対応

MCP クライアントに Fediverse の読み取りツールを公開し、既定では書き込みツールを登録しません。ACTIVITYPUB_ENABLE_WRITES=true にすると、投稿、返信、フォローなどの変更操作が有効になります。stdio とベアラー認証付き HTTP に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cameronrye-activitypub": {
"command": "npx",
"args": [
"-y",
"activitypub-mcp"
],
"env": {
"ACTIVITYPUB_ENABLE_WRITES": "<ACTIVITYPUB_ENABLE_WRITES>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドnpx -y activitypub-mcp
設定が必要な環境変数
ACTIVITYPUB_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmactivitypub-mcp3.2.1

ツール

18

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
identifierstringはい'user@domain' または '@user@domain' 形式の Actor ハンドル(例:'[email protected]')

詳細

ActivityPub MCP ロゴ

ActivityPub MCP サーバー

LLM 向けの Fediverse クライアント

軽量なModel Context Protocol(MCP)サーバーです。LLM が既存の Fediverse(Mastodon、Misskey、Foundkey、Pleroma、および互換サーバー)を探索し、操作できます。デフォルトでは読み取り専用で、書き込みツールはオプトイン方式です。

npm バージョン ライセンス:MIT TypeScript Node.js MCP 互換

CI npm ダウンロード数 GitHub スター数

Glama の品質およびメンテナンススコア Smithery


インストール

Node.js 20+ が必要です。

npx -y activitypub-mcp

ワンクリックでインストール:

Cursor に追加 VS Code にインストール

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 の仕様に従って、分散型ソーシャルウェブと連携します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。