Claude CodeにUnblocked MCPを入れてPR・チャットの文脈を引く
Unblocked MCPをClaude Codeに入れ、PRの議論やSlackの会話を根拠に答えさせる手順。2つのツールの使い分け、旧ツール名の移行、クレジット消費も扱います。
Unblocked MCPは、コードだけでは分からない「なぜそう書かれたのか」をClaude Codeに渡すためのMCPサーバーです。プルリクエストの議論、メッセージスレッド、課題管理、ドキュメントを横断して調べ、出典付きの要約を返します。
入れ方は3通りあります。インストーラーを走らせる、プラグインとして入れる、claude mcp addで手動登録する、のいずれかです。この記事では導入の選び方から、2つのツールの使い分け、CLAUDE.mdへの書き方、つながらないときの切り分け、クレジットの消費までを順に扱います。
Unblocked MCPがClaude Codeに足すもの
Unblockedは、GitHubやSlack、Jira、Confluenceなどに散らばった組織の文脈を集め、サーバー側で順位付けと圧縮をしてからエージェントに渡すサービスです。MCPサーバーはその入口にあたります。
Claude Code側から見えるツールは2つだけです。
| ツール | 役割 |
|---|---|
context_research | 役割コード・PR・ドキュメント・課題・メッセージを横断して調べ、出典付きの要約を返す |
context_get_urls | 役割渡されたURLの先にある内容(PRの差分やコメント、課題、ドキュメント、スレッド)を取得する |
context_researchにはeffortという入力があり、値を上げるほど網羅的に探します。そのぶん待ち時間は延びます。返り値は要約(Summary)と、根拠になったPR・文書・課題・メッセージ・コード断片(Sources)の組です。
context_get_urlsはその逆で、URLがすでに手元にあるときの取得専用です。「この課題のリンクを要約して」「PRの議論で参照されていたドキュメントを開いて」といった場面で呼ばれます。URLがない質問はcontext_researchの担当です。
接続先として使えるデータソースは、GitHub、GitLab、Bitbucket、Slack、Microsoft Teams、Jira、Linear、Confluence、Notion、Google Drive、Sentry、Datadogなど多岐にわたります。権限は各ツール側で設定済みのものがそのまま適用されます。
導入前に揃える条件
インストールの前に、次の4点が満たされているかを見ます。
- チームがUnblockedにセットアップ済みであること
- 自分にUnblockedのライセンスがあること。チームがライセンスを手動承認制にしているなら、申請が要ります
- macOSかLinuxであること。Windowsではインストーラーを使わず、アプリ別の手順に従います
- 使いたいコーディングエージェントが先に入っていること。インストーラーは、見つかったエージェントだけを設定します
ライセンスの有無は、料金の話に直結します。ライセンスはMCP経由の質問にも必要で、1ライセンスにつき月300クレジットがチームの共有プールに加わります。詳しくは後半の「クレジットの消費」で扱います。
導入経路を選ぶ
Claude Codeへの入れ方は、手元の環境と運用で選びます。
| 経路 | 向く場面 | 認証 |
|---|---|---|
| インストーラー | 向く場面macOS・Linuxで一括設定したい | 認証ブラウザでサインイン |
| プラグイン | 向く場面スキルも一緒に入れたい | 認証OAuth |
| 手動登録(リモートMCP) | 向く場面Windows、またはローカルにバイナリを置きたくない | 認証OAuthかAPIトークン |
インストーラーで入れる
macOSかLinuxなら、1行で済みます。
curl -fsSL https://getunblocked.com/install-mcp.sh | bashスクリプトはUnblocked CLIをダウンロードし、見つかったエージェント(Claude Code、Cursor、OpenCode、Windsurfなど)を設定します。同時に、エージェントにUnblockedの使い方を教えるスキルも入れます。
途中でブラウザが開き、サインインを求められます。開かない場合や失敗した場合は、unblocked authを実行します。終わったらClaude Codeを再起動してください。インストール前に開いていたセッションでは、Unblockedを使えません。
プラグインで入れる
スキルだけ、あるいはスキル込みでプラグインとして管理したいなら、Claude Code内でマーケットプレイスを追加します。
/plugin marketplace add unblocked/skills続けて/pluginを開き、DiscoverタブからUnblockedのプラグインを選んでインストールします。認証はOAuthで、インストール後に促されます。スキルが表示されないときは、/reload-pluginsを実行するか、Claude Codeを再起動します。この再読み込みは、一時的な要件とされています。
手動でリモートMCPとして登録する
インストーラーを使えないWindowsや、ローカルにバイナリを置きたくない環境では、リモートのMCPサーバーを直接登録します。
claude mcp add -s user --transport http unblocked \
https://getunblocked.com/api/mcpsse登録直後のunblockedはdisconnectedと表示されます。Claude Codeで/mcpを実行してunblockedを選ぶと、ブラウザが開いてUnblockedへのログインに進みます。トランスポートはHTTPを選びます。古いHTTP+SSEには対応していません。
CIなどの非対話環境ではAPIトークンを使う
GitHub Actionsのような非対話環境では、Unblockedの画面でAPIトークンを発行し、Authorizationヘッダーに載せて登録します。トークンは、SettingsのAPI Tokensから作ります。個人用とチーム用の2種類があり、どちらも作成時にアクセスさせるデータソースを絞れます。
claude mcp add -s user --transport http unblocked \
https://getunblocked.com/api/mcpsse \
--header "Authorization: Bearer unb_token"unb_tokenは発行したトークンに置き換えます。ドキュメントのコマンド例では、サーバー名がsecure-serverになっています。一方、同じページの~/.claude.jsonの例はunblockedです。名前は後で権限ルールにも使うので、unblockedに揃えておくと迷いません。
チーム用トークンは、作成時に選んだデータソースのすべての文書にアクセスできます。MCPの問い合わせは中身を返すため、トークンには、その連携に必要なデータソースだけを選びます。
動作確認は「出典付きで返るか」で見る
導入後は、Claude Codeで/mcpを実行し、unblockedが接続済みでツールが並んでいるかを見ます。次に、実際に質問してみます。
Use Unblocked to find the most recent pull request that changed our authentication code.
エージェントはcontext_researchを呼び、PRや議論を引用して答えます。引用が付かず、Claudeが手元のコードだけで答えているなら、Unblockedは使われていません。
Unblockedから文脈が返らないときの切り分け
- Q/mcp の一覧に unblocked が出ているか?答えが出ていない答えがはい
インストール前に開いたセッションでは使えません。Claude Codeを再起動し、それでも出なければ
claude mcp listで登録を確かめます。 - Q状態は connected か?答えがfailed や not authenticated答えがはい
プロジェクトの
.mcp.jsonがunblockedを上書きしていないか疑います。詳細は後半の「.mcp.jsonがuser設定を上書きする」にあります。 - Q回答に出典(PR・文書・スレッド)が付いているか?答えが付いていない答えがはい
チームのデータソースが接続されているかを確かめます。つないだばかりのソースは、インデックス作成中の場合があります。
ここまで通れば導入は完了です
以降は、どう呼ばせるかの設計に進めます。
呼ばれ方を決める: CLAUDE.mdと権限
ツールが入っても、エージェントが毎回呼ぶとは限りません。エージェントとその設定によって、自分で呼ぶ場合と、ユーザーが頼んだときに呼ぶ場合があります。
CLAUDE.mdに一言足す
呼ぶ場面を固定したいなら、リポジトリのCLAUDE.mdかAGENTS.mdに短い指示を書きます。例を示します。
## Organizational context
Unblocked provides context from PRs, docs, Slack, and issue trackers.
Use the `context_research` MCP tool before planning or modifying
unfamiliar code, and `context_get_urls` to resolve links to PRs,
issues, docs, or Slack threads.詳細な使い方は、インストーラーやプラグインで入るスキルがすでに持っています。CLAUDE.mdには長く書かず、「いつ呼ぶか」だけを残せば足ります。
毎回の承認を省くなら、サーバー名で書く
Claude Codeの権限ルールは、MCPツールをmcp__<サーバー名>__<ツール名>で指定します。インストーラーか手動登録でサーバー名がunblockedなら、.claude/settings.jsonに次のように書けます。
{
"permissions": {
"allow": [
"mcp__unblocked__context_research",
"mcp__unblocked__context_get_urls"
]
}
}プラグイン経由で入れた場合、ツール名はmcp__plugin_<プラグイン名>_<サーバー名>__<ツール名>の形になります。/mcpでツールを選ぶと完全な名前が表示されるので、それを写すのが確実です。
承認なしで呼べるようにすると、1回ごとの人の確認が消えます。MCPコールにはクレジットがかかるので、消費の見積もり方は後述の「クレジットの消費を見積もる」で扱います。
旧ツール名の移行
Unblocked MCPは、2026年4月に5ツール構成から現在の2ツールへ置き換えられました。旧ツールは次の5つです。
unblocked_context_engineresearch_taskdata_retrievalhistorical_contextlink_resolver
プロンプトや設定、スキルの中に旧名が残っていると、呼び出しが成立しません。旧名はcontext_researchかcontext_get_urlsに書き換えます。手元のリポジトリに残っていないかは、grepで洗えます。
grep -rnE \
"unblocked_context_engine|research_task|data_retrieval|historical_context|link_resolver" \
CLAUDE.md AGENTS.md .claude ~/.claude 2>/dev/nullresearch_taskやdata_retrievalは一般的な語なので、ほかのツールと偶然ぶつかる可能性があります。ヒットした行は、Unblockedに関するものかを見てから直します。ツールと説明は、今後また変わりうるものです。
つながらないときの落とし穴
.mcp.jsonがuser設定を上書きする
Claude Codeでunblockedがfailedやnot authenticatedになっているときは、プロジェクトの.mcp.jsonにunblockedという名前のサーバーがないかを見ます。Claude Codeは同名のサーバーを、ローカル、プロジェクト、ユーザーの順で優先し、エントリ全体を採用します。項目単位の混ぜ合わせはしません。つまり、プロジェクト側の定義が1つあれば、ユーザー設定は使われません。
ここには安全上の落とし穴もあります。自分で管理していないリポジトリの.mcp.jsonは、Unblockedを装って、エージェントが送る文脈を受け取れます。コマンドやURLを信じる前に、中身を読んでください。直し方は、プロジェクト側のエントリを消すか、公式のサーバーを指すように書き換えることです。
プロジェクトの.mcp.jsonにあるサーバーは、Claude Codeが対話セッションで承認を求めます。承認前の状態はclaude mcp listにPending approvalと出ます。
invalid_redirect_uri
自作のMCPクライアントからOAuthでinvalid_redirect_uriが返るのは、そのクライアントのコールバックURLがUnblocked側でまだ許可されていないからです。クライアント名を添えてUnblockedに連絡すると、追加してもらえます。
クレジットの消費を見積もる
Unblockedの課金は、ライセンスと共有クレジットプールの2層です。1ライセンスにつき月300クレジットが、チーム全体のプールに加わります。
| 操作 | クレジット |
|---|---|
| 回答(Webアプリ・Macアプリ・Slack) | クレジット4 |
| MCPコール | クレジット2 |
| コードレビュー(1件) | クレジット9 |
| CIレポート(1件) | クレジット9 |
MCPコール1回が2クレジットなので、1ライセンスの300クレジットは約150回分です。ただしプールはチームで共有され、回答やコードレビュー、CIレポートも同じプールから引かれます。10人のチームで月3,000クレジットのうち2,345を使う例では、内訳はMCPコール250回(500クレジット)と、コードレビュー110件(990クレジット)などです。
プールを使い切りそうなら、毎月一定量を追加するクレジットパックがあります。使用状況はUsage & Billingのページで見られます。
先ほどの権限設定に戻ると、承認なしで呼べる設定に「毎回調べさせる」指示を重ねれば、1回2クレジットの呼び出しが人の確認なしに積み上がります。CLAUDE.mdには、すべての作業で呼ばせるのではなく、不慣れなコードに触る前など場面を限って書くと、消費も読みやすくなります。
組織で配るときの選択肢
チームに配る段階では、3つの論点があります。
- MCP・CLI・REST APIのどれを使うか。コーディングエージェントに文脈を渡すならMCP、シェルスクリプトやCIにJSONで返したいならCLIの
context-*コマンド、アプリケーションから質問したりドキュメントを同期したりするならREST APIです。同じチームで併用できます - リモートかローカルか。同じツールが使えます。違いは接続と認証で、リモートはバイナリ不要でHTTPとOAuth(またはトークン)、ローカルはCLIがMCPサーバーを動かし、stdioが必要なクライアントにも向きます
- シングルサインオン。ClaudeとUnblockedの両方でOktaを使っている組織は、Claude上のUnblockedコネクタを、Okta経由の接続(Enterprise Managed Authorization)にできます。条件は、UnblockedのOkta SSOとユーザー・グループのプロビジョニングが設定済みで、Claude側の組織管理者権限とOktaのSuper Adminがそろっていることです
Claudeのコネクタ一覧にもUnblockedは登録されています。接続先のURLはhttps://getunblocked.com/api/mcpsseで、サインインが必要です。Claude Code側では、手動登録した同じURLのサーバーが、claude.aiのコネクタより優先されます。
まとめ
Unblocked MCPが解くのは、コードを読んでも見えない「経緯」と「決定」を、エージェントの手元に引き込む問題です。導入そのものは1行で終わります。実運用で差が出るのは、CLAUDE.mdで呼ぶ場面を絞ることと、承認とクレジットの設計です。
先に試すなら、インストーラーで入れ、不慣れなモジュールを触る前に1回だけcontext_researchを使わせる、という最小の使い方から始めると、効果と消費の両方を見積もれます。既存のMCP運用との整合は、Claude CodeのMCP追加が管理設定で止まるときも参考になります。GitHub側の接続を整える手順はGitHub MCPサーバーの使い方にまとめています。