MCP Server(エムシーピーサーバー)

仕組み・概念
MCP Server
エムシーピーサーバー
Claude Codeに外部ツール(Notion・Slack・GitHub・データベース等)を操作させるための窓口プログラム。Anthropicが公開しているMCPという標準ルールに沿って、Claude Codeと外部ツールを繋ぐ役を担う

Claude CodeにSlackやNotionのような外部ツールを操作させたい人向け

Claude CodeとNotionやSlackやGitHubの間で、毎回コピペで往復している作業を自動化したい場面で導入する。例えば料理ブログ運営者がNotionの献立メモをClaude Codeから直接読み書きしたい時、claude mcp add というコマンドでNotion公式のMCP Serverを追加すれば、認証後はClaude Codeが自分でNotionページを取得・追記してくれる

MCP Server は、Claude Code に「外部のツールやデータベースを操作する手」を生やすための部品です。Notionの献立メモ、Slackのチャット、GitHubのプロジェクト、自前のデータベース。こういう「Claude Codeの外側」にあるものへ、Claude Codeから直接読み書きさせたい時に追加します。

仕組みとしては、Anthropicが公開している MCP という標準ルールに沿って動くサーバ実装です。要するに「Claude Codeとお喋りできる窓口」を立てたら、Claude Codeはその窓口越しに外のツールを触れる、という形になります。

噛み砕くと

会議室にホワイトボードしか置いてない状態をイメージしてください。Claude Code単体だと、目の前に来た資料にしか触れません。Notionの議事録を見せたければ、毎回手でコピペして貼り付ける必要があります。

MCP Server を追加するのは、その会議室に「Notionと繋がった専用電話」を1本引く工事です。電話を引いた後は、Claude Code が「Notionの議事録ページ取って」「次の項目を追記しといて」と自分で電話をかけて、Notion側で読み書きしてくれます。

電話の種類は3つあります。HTTP方式はインターネット越しの電話、SSE方式は古いタイプで現在は非推奨、stdio方式は同じパソコン内で動かす内線電話です。それぞれ繋ぎ方の流儀が違いますが、Claude Code から見れば「電話の向こうに何があるか」だけが大事です。

大事な前提:MCP Server は「Claude Code と通信できる側」がすでに用意されてないと使えない

勘違いしやすいのですが、MCP Server を追加する=Claude Codeが何でもできるようになる、ではありません。Notion・Slack・GitHubのような大手サービスは公式 MCP Server を公開しているので、それを Claude Code 側に「繋ぎに行きなさい」と教えるだけで済みます。

逆に言うと、公式 MCP Server が公開されていないツールは、自分で MCP Server を実装するか、誰かが作った非公式実装を入れることになります。例として社内専用システムやマイナーなSaaSなどです。後者は信頼できる作者かどうかを必ず確認してください。Anthropic公式docsも「サードパーティの MCP Server は自己責任で。プロンプトインジェクションのリスクがある」と明記しています。

「副業の料理ブログで Notion 献立メモを Claude Code に読ませる」を例に、実際の手順を見る

料理ブログを副業で運営していて、Notion で来週分の献立メモを管理している前提で進めます。これを Claude Code から直接読み書きできるようにします。

ステップ1:Notion 側で MCP 用のアクセスを準備する

Notion は公式の MCP Server を https://mcp.notion.com/mcp で公開しています。最初にアクセスすると Notion 側のログイン画面に飛ばされ、「どのワークスペースを Claude Code に触らせるか」を選ぶ流れです。ここで料理ブログ用ワークスペースだけを許可しておくと、家計簿などの個人ページは Claude Code から見えません。

ステップ2:黒い画面で Claude Code に MCP Server を追加する

料理ブログのプロジェクトフォルダに移動して、以下を打ちます。

$ claude mcp add --transport http notion https://mcp.notion.com/mcp

意味としては「notion という名前で、HTTP方式の MCP Server を追加する。接続先はこのURL」というだけです。打つと Claude Code 側が設定ファイル ~/.claude.json にこの内容を書き込みます。

ステップ3:認証を済ませる

Claude Code を起動して /mcp と打つと、追加した notion サーバが「認証が必要」状態で並びます。ここで初心者がやりがちな勘違いがあります。「claude mcp add しただけで使えるはず」と思って質問を投げても、認証前は無反応です。

/mcp 画面から認証を選ぶと、ブラウザが立ち上がって Notion のログイン画面に飛びます。ステップ1で許可したワークスペースを選んで承認すると、Claude Code に「認証OK」が返ってきて、その瞬間から Notion を読み書きできる状態になります。

ステップ4:実際に Claude Code に頼んでみる

認証が済んだ Claude Code に、こう投げます。

「料理ブログ」ワークスペースの「来週の献立」ページを読んで、
食材を曜日別にまとめて。あと足りない食材があれば
「買い物リスト」ページに追記しておいて。

Claude Code は内部で Notion MCP Server に「ページ検索 → ページ取得 → ページ追記」の命令を順に投げ、Notion から返ってきた内容を踏まえて作業を進めます。手元で Notion を開かなくても、献立の整理と買い物リスト追記が終わっています。

ステップ5:効く範囲を意識する

ここまでのコマンドは、料理ブログのプロジェクトフォルダだけで Notion MCP が使える状態です。「local スコープ」と呼ばれる、デフォルトの設定ですね。古いバージョンの Claude Code では project という名前でしたが、現在は local に統一されています。家計簿アプリのプロジェクトに移ると、この Notion 接続は出てきません。

もし「自分のパソコン全体、どのプロジェクトで作業しても Notion を使いたい」なら、追加時に --scope user を付けます(古いバージョンでは global という名前でした)。「料理ブログのチームメンバー全員と Notion 接続を共有したい」なら、--scope project を付けます。後者だと .mcp.json というファイルがプロジェクト直下に作られ、Gitで共有可能になります。

ステップ6:管理コマンドを覚えておく

追加した MCP Server は、後から確認・削除できます。

$ claude mcp list           # 追加済みの一覧
$ claude mcp get notion     # notion サーバの詳細
$ claude mcp remove notion  # notion サーバを削除

動作確認は Claude Code 起動後に /mcp を叩くのが速いです。緑の丸印で接続中、赤で切断中といった状態が一覧で見えます。

つまり MCP Server は何をしてくれるのか

  • やってくれる:Notion・Slack・GitHub・データベースなど、Claude Code の外側にあるツールを、Claude Code が自分の手で操作してくれる。コピペ往復が消える
  • やってくれる:MCP Server 側が用意した「使える操作の一覧」を Claude Code が自動把握する。ページ検索/ページ作成/コメント追加など、サーバごとにできることが決まっている
  • やってくれない:MCP Server が公開していない操作はできない。Notion MCP に「文字色を赤にしろ」という機能がなければ、Claude Code もそこは触れない
  • 意味が薄い場面:1度きりNotionをコピペするだけの単発作業。設定と認証の手間を考えると、毎日/毎週使うツールにだけ繋ぐのが現実的

使いどころ3シナリオ(具体題材で再現)

シナリオ1:料理ブログ運営者が、献立メモから記事下書きまで一気通貫させたいとき

Notion で「来週の献立」ページに食材と写真を貯めておき、Notion MCP を繋いだ Claude Code に「来週の月曜の献立を、ブログ記事の下書きHTMLにして」と頼みます。Claude Code が Notion からページを取り、構成を決め、HTMLを書き、必要なら新しい Notion ページに「下書き」として保存し直してくれます。手元のNotionとローカルの作業を行ったり来たりしません。

シナリオ2:個人開発で、GitHubに上がった不具合報告から直接実装したいとき

家計簿アプリを個人開発していて、GitHub にIssueとして「グラフ表示が壊れる」が上がっているとします。GitHub MCP Server を繋いでおけば、「Issue #42 を読んで、再現手順を確認して、修正の取り込み依頼を作って」と1行投げるだけで動きます。Claude Code が Issue 本文を取り、コードを直し、変更を区切って保存し、取り込み依頼を作るところまで進めてくれます。

シナリオ3:チーム開発で、社内データベースの中身を Claude に読ませて分析させたいとき

PostgreSQL 公式 MCP Server をチーム共有設定で導入すると、プロジェクト一式を自分のパソコンにコピーしたメンバー全員が同じ接続設定で Claude Code を使えます。「先月の売上データから、解約しそうなユーザーの特徴を出して」みたいな分析タスクを、ローカルで SQL を打つことなく Claude に任せられます。秘密の合言葉は .mcp.json に直書きせず、OS側に保管された設定値から呼び出すのがお決まりです。

初心者が踏みやすい落とし穴

  • 認証をリセットした後は再認証が必要になる/mcp メニューで「Clear authentication」を選んだ場合や、Notion 側で Claude Code のアクセスを取り消した場合がこれにあたります。再び /mcp から認証手順を踏めば直ります。通常の使用中にトークンが自動で切れることはありません(OAuth 2.0 の自動リフレッシュが働くため)
  • 効く範囲を間違えて他プロジェクトで動かない。何も指定しないと local スコープになり、追加したフォルダ以外では使えません。「全プロジェクトで使いたい」なら --scope user を必ず付ける
  • .mcp.json をうっかり共有して秘密の合言葉を漏らす。プロジェクトスコープのファイルはチーム共有前提なので、APIキーやトークンを直書きすると公開された場所で世界中に晒されます。秘密情報は OS側の設定値から呼び出す形で渡す
  • Claude.ai と Claude Code で MCP 設定が共有されない。Claude.ai 側は「Connectors」という別仕組みで、Claude Code の MCP とは設定が分かれます。両方で使いたいなら両方に登録が必要
  • MCP Server を入れたら何でもできると思っている。実際は各 MCP Server が提供する操作の範囲だけ。Notion MCP に「Slackに投稿」機能はありません。やりたいことに対応した MCP Server を都度足す形になります
  • stdio 方式のサーバが裏で常駐してリソースを食う。stdio は同じパソコン内でプログラムを動かしっぱなしにします。何個も入れるとメモリを地味に食うので、使わないサーバは claude mcp remove で消す
  • サードパーティ製の MCP Server を信頼できる作者か確認せず入れる。MCP Server は外部のテキストを Claude に流し込めるので、悪意あるサーバを入れるとプロンプトインジェクション攻撃の入口になります。GitHubのスター数や作者の経歴を確認してから入れる
  • SSE方式で新しいサーバを構築しようとする。SSEは公式が「非推奨」と明示しています。これから繋ぐなら HTTP方式を選ぶのが安全です

書き方

claude mcp add --transport <方式> <名前> <URLまたは起動コマンド> [--scope local|project|user]

やってみるとこうなる

入力

claude mcp add --transport http notion https://mcp.notion.com/mcp

出力例

Added MCP server: notion
  Transport: http
  URL: https://mcp.notion.com/mcp
  Scope: local

Run /mcp inside Claude Code to authenticate.

このページに出てきた言葉

MCP
Anthropicが公開している、AIエージェントと外部ツールを繋ぐための標準ルール。Model Context Protocolの略
通信方式
Claude CodeとMCP Serverのやりとりの方式。HTTP(インターネット越し)/SSE(非推奨)/stdio(同じパソコン内)の3種類
スコープ
MCP Server設定の効く範囲。local(このプロジェクト・自分だけ、古いバージョンではprojectと呼ばれていた)/project(このプロジェクト・チーム共有)/user(全プロジェクト・自分だけ、古いバージョンではglobalと呼ばれていた)
.mcp.json
プロジェクト直下に作られる、チーム共有用のMCP設定ファイル。<code>--scope project</code>で追加した時に作られる
~/.claude.json
ホームフォルダに置かれる、Claude Code全体の設定ファイル。localスコープとuserスコープのMCP設定はここに入る
プロンプトインジェクション
AIに渡されるテキストに悪意ある指示を混ぜ込んで、AIを乗っ取ろうとする攻撃。サードパーティ製MCP Serverを使う時の主要リスク
stdio
同じパソコンの中で、プログラム同士が標準入力/標準出力という配管で直接繋がる通信方式。インターネットを通らない

関連項目

公式ドキュメント

https://code.claude.com/docs/en/mcp

-

← 戻る