01 / Concept
MCP は「ツール」をプラグイン可能にする標準
サーバ側がツール/リソース/プロンプトを公開し、Claude 側はそれを自分のツールキットに追加できる。
Claude 自身は内部に Read / Edit / Bash 等のツールを持っています。MCP はそこに「外部の世界のツール」を後から差し込む仕組み。 Slack 投稿・DB クエリ・ブラウザ操作も、Claude にとっては同じ「ツール呼出」になります。
02 / Transports
4 つの伝送方式を選ぶ
ローカルで動くか、リモートか、SDK 内か。それぞれメリット/使いどころが異なります。
stdio
transportローカルで子プロセスを起動。標準入出力で JSON-RPC。
best for
- ローカルツール
- 開発環境
- 認証が要らない or env で渡せる
claude mcp add github -- npx -y @modelcontextprotocol/server-github
HTTP
transportリモートの HTTP エンドポイント。ヘッダ認証や OAuth。
best for
- SaaS
- 社内 API
- OAuth で配布
claude mcp add --transport http jira https://mcp.jira.example
SSE
transportServer-Sent Events。HTTP 派生で長時間接続向け。
best for
- push 通知
- 長時間ストリーム
claude mcp add --transport sse notify https://mcp.example/sse
SDK
transportAgent SDK の中で `createSdkMcpServer()` で同プロセス内に持つ。
best for
- SDK アプリ内ツール
- 型安全な定義
- プロセス境界を増やしたくない
// SDK 内で createSdkMcpServer({ tools: [...] })03 / Scope
3 つのスコープ、上が勝つ
同じ MCP サーバ名がローカル/プロジェクト/ユーザーで重なった場合、より local 側が優先されます。
scope hierarchy
MCP / 設定の解決順は local → project → user
名前が同じ MCP サーバ/設定が複数のスコープにある場合、上位(local)が勝ちます。配列はマージ、スカラーは上書き。
example for Project
チームの権限ルール、プロジェクト共通 MCP
04 / Auth
OAuth / API キー / 動的ヘッダ
リモート MCP の認証は OAuth がメイン。固定ポート、メタデータ上書き、スコープ制限が選べます。
{
"mcpServers": {
"jira": {
"transport": "http",
"url": "https://mcp.jira.example",
"auth": {
"type": "oauth",
"callbackPort": 9876,
"scopes": ["read:issues", "write:issues"]
}
},
"internal-api": {
"transport": "http",
"url": "https://api.corp.example/mcp",
"headers": {
"X-Internal-Token": "${INTERNAL_TOKEN}"
}
}
}
}05 / Scaling
Tool Search でコンテキストを節約
多数の MCP を繋いでも、起動時にロードされるのはツール名だけ。スキーマは「使う」と決まった時点で取得。
Tool Search はデフォルト ON。`/mcp` で各サーバの token cost を見られるので、idle MCP の負荷を可視化できます。 サーバ作者側は、ツール数が多いなら検索しやすい命名・説明にすると Claude のヒット率が上がります。
06 / Channels
Channels — push 通知できる MCP
Telegram / Discord / iMessage に届いたメッセージを、走っている Claude に流し込める。離席中の対話に使える。
Channels は MCP の双方向版。Claude は外部から push されたイベントに反応できますし、同じチャンネルに返信もできます。 モバイルからの軽い指示、夜間バッチの完了通知に応答、などの使い方に。
07 / Servers
人気の MCP サーバ
まずはここから。社内 SaaS の8 割はカバーできます。
- GitHubstdio / HTTP
Issue / PR / レビューコメントを直接読み書き
- SlackHTTP
DM / チャンネル投稿、検索
- Postgresstdio
SQL クエリと explain
- SentryHTTP
エラー一覧と stack trace
- Linear / JiraHTTP
チケットの作成・更新・検索
- Browserstdio
Chrome 拡張経由でブラウザを操作
08 / Managed
Managed MCP — 組織で許可リスト配布
ユーザーが勝手にどんな MCP でも繋げると統制できないので、組織として allowlist / denylist を配布できます。
{
"allowedMcpServers": {
"github": { "transport": "stdio", "command": "npx -y @modelcontextprotocol/server-github" },
"internal": { "transport": "http", "url": "https://mcp.corp.example" }
},
"deniedMcpServers": [
"*://*.unknown-domain/*"
]
}