Bluesky Social MCP について
Bluesky Social MCPは、atprotoクライアントを介してBlueskyを操作するMCPサーバーです。Blueskyの内容を読み取り管理するAIアプリ向けで、プロフィール、フィード、投稿への操作、投稿作成に対応します。
主な機能
- 01認証状態の確認
- 02プロフィール、フォロワー、フォローの取得
- 03タイムライン、ユーザーフィード、スレッドの表示
- 04いいね、リポストなどの操作
- 05テキスト、画像、動画の投稿
活用シーン
- 01Blueskyのプロフィールやフィードの確認
- 02投稿の作成・削除と反応の管理
- 03投稿スレッドやリポスト状況の確認
MCP 対応
Blueskyの操作をツールとしてMCPクライアントに提供します。atprotoクライアントを使用し、Blueskyの識別子とアプリパスワードで認証を設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx 'git+https://github.com/gwbischof/[email protected]'BLUESKY_IDENTIFIERBLUESKY_APP_PASSWORDシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bluesky Social MCP
atproto クライアントを使用して、Bluesky ソーシャルネットワークとやり取りする MCP サーバーです。
:wave: この MCP の実行で問題が発生した場合は、イシューを作成してください。すぐに修正を公開できるはずです。
クイックスタート
Bluesky のアプリパスワードをこちらで取得してください:https://bsky.app/settings/app-passwords
以下を MCP 設定ファイルに追加してください(バージョンが固定されていることに注意してください)。
{
"mcpServers": {
"bluesky-social": {
"command": "uvx",
"args": ["--from", "git+https://github.com/gwbischof/[email protected]", "bluesky-social-mcp"],
"env": {
"BLUESKY_IDENTIFIER": "your-handle.bsky.social",
"BLUESKY_APP_PASSWORD": "your-app-password"
}
}
}
}
- セキュリティ上の理由から、バージョンを固定しておき、バージョンを更新する際は設定を手動で変更するのが最善だと思います。
ツールのステータス
すべてのツールを実装し、テスト済みです ✅
認証とセットアップ
- ✅
check_auth_status- 現在のセッションが認証済みか確認します
プロフィール操作
- ✅
get_profile- ユーザーのプロフィールを取得します(クライアントメソッド:get_profile) - ✅
get_follows- アカウントがフォローしているユーザーを取得します(クライアントメソッド:get_follows) - ✅
get_followers- アカウントをフォローしているユーザーを取得します(クライアントメソッド:get_followers) - ✅
follow_user- ユーザーをフォローします(クライアントメソッド:follow) - ✅
unfollow_user- ユーザーのフォローを解除します(クライアントメソッド:unfollow) - ✅
mute_user- ユーザーをミュートします(クライアントメソッド:mute) - ✅
unmute_user- ユーザーのミュートを解除します(クライアントメソッド:unmute) - ✅
resolve_handle- ハンドルを DID に解決します(クライアントメソッド:resolve_handle)
フィード操作
- ✅
get_timeline- ホームタイムラインの投稿を取得します(クライアントメソッド:get_timeline) - ✅
get_author_feed- 特定のユーザーの投稿を取得します(クライアントメソッド:get_author_feed) - ✅
get_post_thread- 会話スレッド全体を取得します(クライアントメソッド:get_post_thread)
投稿へのリアクション
- ✅
like_post- 投稿に「いいね」します(クライアントメソッド:like) - ✅
unlike_post- 投稿の「いいね」を取り消します(クライアントメソッド:unlike) - ✅
get_likes- 投稿の「いいね」を取得します(クライアントメソッド:get_likes) - ✅
repost- 投稿をリポストします(クライアントメソッド:repost) - ✅
unrepost- リポストを取り消します(クライアントメソッド:unrepost) - ✅
get_reposted_by- リポストしたユーザーを取得します(クライアントメソッド:get_reposted_by)
投稿の作成と管理
- ✅
send_post- 新しいテキスト投稿を作成します(クライアントメソッド:send_post) - ✅
send_image- 画像を1枚添えた投稿を送信します(クライアントメソッド:send_image) - ✅
send_images- 複数の画像を添えた投稿を送信します(クライアントメソッド:send_images) - ✅
send_video- 動画を添えた投稿を送信します(クライアントメソッド:send_video) - ✅
delete_post- 投稿を削除します(クライアントメソッド:delete_post) - ✅
get_post- 特定の投稿を取得します(クライアントメソッド:get_post) - ✅
get_posts- 複数の投稿を取得します(クライアントメソッド:get_posts)
リポジトリのローカルクローンから実行する
{
"mcpServers": {
"bluesky-social": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/bluesky-social-mcp",
"run",
"server.py"
]
"env": {
"BLUESKY_IDENTIFIER": "user-name.bsky.social",
"BLUESKY_APP_PASSWORD": "app-password-here"
}
}
}
}
開発環境のセットアップ
-
依存関係をインストールします:
uv sync -
サーバーを実行します:
uv run bluesky-social-mcp
MCP Inspector でデバッグする
mcp dev server.py
mcp dev server.py --with-editable .
テストを実行する
- 実際の Bluesky サーバーに対してテストを実行します。
- テストでは BLUESKY_IDENTIFIER と BLUESKY_APP_PASSWORD の環境変数を使用します。
uv run pytest
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。