← Blog一覧へ

Claude Codeを使うなら知っておきたい「API」と「MCP」の話

Claude Codeが、自分のパソコンの外にあるGoogleドライブまで読めるのはなぜか。その仕組みはAPIとMCPの2つで説明できます。同じ中身が人間向けの画面とプログラム向けのデータの2つの形で出てくることをブラウザで確かめ、そのうえでGoogleドライブをコマンド1行も打たずにClaude Codeへつなぎます。つないだあとに確認すべき3つのことまで。

この記事の内容をスライドにまとめました。ビジュアルで先に把握したい方はこちらからどうぞ。

👉 スライドで見る(← → キーまたはスワイプで操作できます)


Claude Codeを使っていると、こんな場面に出くわします。

  • 「Googleドライブのあのファイル、読める?」と頼んだら、本当に読んできた
  • /mcp と打ったら、見覚えのないサービス名と、その下に何かの一覧が並んだ
  • 誰かの記事に「MCPサーバーを入れると便利」と書いてある。入れると何が起きるのか分からない

Claude Codeは、自分のパソコンの中のファイルを読み書きするツールのはずです。それがなぜ、自分の外側にあるものまで触れるのか。

その仕組みは、APIMCP という2つの言葉で説明できます。この記事はその2つの話です。

読み終わったときにできるようになっているのは、次の5つです。

  1. APIが何かを自分の言葉で言える
  2. 同じ中身が「人間向け」と「プログラム向け」の2つの出方をすることを、自分のブラウザで確認できる
  3. MCPが何のためにあるかが言える
  4. 自分のGoogleドライブを、コマンドを1行も打たずにClaude Codeにつなげる
  5. つないだあとに確認すべきことが分かる

コードは1行も書きません。コマンドも、覚える必要はありません。見てほしいのは、それが何と何をつないでいるのか、のほうです。

この記事の内容は、Claude Code 2.1.252 で確認しています。バージョンによって画面や出力の細部は変わります。


先に全体像 ── 2つの言葉を1行ずつ

細かい話に入る前に、結論だけ置いておきます。

APIは、プログラム同士の窓口です。

MCPは、AIに道具を渡すための共通の規格です。

この2つは、並んでいる別々の技術ではありません。MCPで繋いだ先の多くは、そのサービスのAPIを呼んでいます。 だから、APIが分からないとMCPも分かりません。順番にいきます。


APIは、人間向けの画面ではなく「プログラム向けの入口」

私たちが普段見ているWebサービスの画面は、人間向けに作られた画面です。文字の大きさ、ボタンの位置、色。ぜんぶ人間が読みやすいように作られています。

でも、相手がプログラムのときは、その飾りが全部じゃまになります。プログラムは「ボタンが青いこと」に興味がありません。欲しいのは中身のデータだけです。

そこで、同じサービスにもう1つ、プログラム専用の入口が用意されています。それがAPIです。

やり取りは4ステップ

  1. 決まった住所(URL)に、決まった形でお願いを送る
  2. サービス側がそれを受け取って、処理する
  3. 決まった形で返してくる
  4. 受け取ったプログラムが、それを画面に出したり、計算に使ったりする

3番目が、いちばん大事なところです。返ってくるのはデータだけで、見た目は付いてきません。

つまり、中身は同じで、出方が2つある。片方が人間向けの画面、もう片方がプログラム向けのAPIです。

言葉だけだとピンと来ないと思うので、実際に並べて見てみます。


実際に並べてみる ── 同じ中身が、2つの出方をする

ここは読みながらそのまま試せます。ログインもアカウントも要りません。ブラウザさえあれば、MacでもWindowsでもスマホでも同じものが見られます。

まず、人間向けの画面

ブラウザでこのアドレスを開いてください。私が公開しているツールのページです。

https://github.com/keyakilabs/ai-usage-board

説明文が書いてあって、右側あたりに TypeScript という言語の表示があるはずです。これが人間向けの画面です。

次に、プログラム向けの入口

同じブラウザで、今度はこちらを開きます。

https://api.github.com/repos/keyakilabs/ai-usage-board

画面の飾りが全部なくなって、文字の固まりが出てきます。その中に、こういう行があります。

"full_name": "keyakilabs/ai-usage-board",
"description": "複数のAIコーディングツール(Claude Code / Gemini CLI / ...)の使用量とコストを、ローカルで一枚にまとめるCLIツール。...",
"language": "TypeScript",

よく見てください。

さっきのページに出ていた説明文が、ここでは "description": の右側に、そのまま入っています。言語も "language": "TypeScript" と書いてあります。

同じ中身が、人間向けの見た目つきと、プログラム向けのデータだけ、2つの形で出ている。 これがAPIです。

読みにくいと思ったら、それで合っています。これは人間が読むために作られていません。 ここで出てきたこの書き方には JSON という名前がありますが、記法の話はまた別の回に。


鍵の渡し方は、2種類ある

いまのGitHubの例は、誰が見てもいい情報だったので鍵が要りませんでした。ログインなしで開けたのはそのためです。

でも、自分のデータを触るAPIには、鍵が要ります。 そして鍵の渡し方は2種類あります。ここを分けて理解しておくと、あとの話が全部つながります。

① APIキーという文字列を、自分で貼る

sk- みたいな文字から始まる長い文字列を、サービスの管理画面で発行して、自分でコピーして設定ファイルに貼る方式です。

パスワードと同じ扱いです。人に見せません。 シリーズのGit / GitHubの回で「記録するものを選ぶときに、見せたくないファイルまで巻き込んでしまう」という話をしましたが、あの見せたくないファイルの中身の代表格が、このAPIキーです。

② サービスのログイン画面で、許可を出す

こちらは、鍵の文字列を自分で触りません。

「このアプリに、あなたのドライブを読ませていいですか?」という画面が出るので、「はい」と答えるだけ。これで裏側で鍵のやり取りが済みます。

このあとつなぐGoogleドライブは、こちらの方式です。

どちらの場合も、渡しているものは同じ

方式は違っても、渡しているのは「自分のアカウントを触る権利」です。

だから、何を許可したのかは、あとで必ず確認します。 この記事の最後にもう一度出てきます。


ここからMCP ── なぜ「もう1つの規格」が要ったのか

APIの話が終わったので、MCPに入ります。

問題はここからです。APIは、サービスごとに形がバラバラです。

住所の付け方も、お願いの送り方も、返ってくるデータの形も、サービスごとに違います。人間がプログラムを書くならそれでもいい。ドキュメントを読んで、そのサービス用のコードを書けばいいだけです。

でも、AIに使わせようとすると話が変わります。 サービスの数だけ繋ぎ込みを作ることになるからです。

そこで出てきたのがMCP(Model Context Protocol)です。公式サイトの説明はこうなっています。

MCP is an open-source standard for connecting AI applications to external systems. (MCPは、AIアプリケーションを外部のシステムにつなぐための、オープンソースの標準です)

そして、同じページにこう書いてあります。

Think of MCP like a USB-C port for AI applications. (MCPは、AIアプリケーションにとってのUSB-Cポートのようなものだと考えてください)

このたとえが、いちばん腹に落ちると思います。USB-Cが機器のつなぎ方を1つに揃えたのと同じで、MCPはAIと外部のつなぎ方を1つに揃えました。

作ったのはAnthropic(Claudeを作っている会社)で、2024年11月にオープンソースとして公開されています。いまはClaudeだけでなくChatGPT、Visual Studio Code、Cursorなども対応していて、Claude専用の仕組みではありません。

誤解しやすいところ:MCPはAPIの置き換えではありません

ここだけは間違えないでほしいところです。

このあとつなぐGoogleドライブのMCPサーバーは、Google自身が drivemcp.googleapis.com というアドレスで動かしています。 googleapis.com ──つまり、その裏ではGoogleのドライブ用のAPIが動いているわけです。

変わったのは、AIへの渡し方が1つに揃ったこと。 それだけです。APIが要らなくなったわけではありません。


MCPサーバーが渡してくるのは、この3つ

MCPサーバーというのは、AIに使わせるものを差し出すプログラムのことです。自分のパソコンの中で動くものもあれば、ネットの向こうで動いているものもあります。

そのサーバーがAIに渡してくるものは、公式に3つと決まっています。

1. 道具(tools)── AIが実行できる操作

AIが実際に呼び出せる機能です。「ファイルを探す」「中身を読む」といった動作がここに入ります。

2. 資料(resources)── AIに読ませるデータ

AIが参照するための、ファイルのようなデータです。

3. 定型文(prompts)── 決まった手順のひな形

「こういうときはこう聞く」という、使い回せるテンプレートです。


この3つの中で、いちばん効くのは1つ目の「道具」です。 AIができること、そのものが増えるからです。

実際、これからつなぐGoogleドライブのサーバーが渡してくるのも、道具だけでした(資料も定型文も返ってきません)。「ファイルを探す」「中身を読む」といった操作が、Claudeの手元に追加されます。

では、それが増える瞬間を見てみます。


実際につないでみる ── Googleドライブを、コマンドなしで

ここが一番おもしろいところです。コマンドは1つも打ちません。

手順

  1. ブラウザで claude.ai/customize/connectors を開く
  2. 一覧から Google ドライブ を探して、コネクト(Connect) を押す
  3. Googleのログイン画面が出るので、何を許可するかを確認してから「許可」を押す
  4. Claude Code に戻る

これだけです。さっき説明した鍵の渡し方②が、まさにこれでした。

4番のあと、Claude Codeで /mcp と打つと、つながっているサーバーと、そこから増えた道具の一覧が見られます。ターミナルからも確認できます。

$ claude mcp list
claude.ai Google Drive: https://drivemcp.googleapis.com/mcp/v1 - ✔ Connected

claude.ai の画面でつないだものが、そのままClaude Codeにも出てきます。 そういう仕組みになっているからです(公式ドキュメントに明記されています)。

そして、アドレスをもう一度見てください。 drivemcp.googleapis.com。前半で話した「プログラム向けの入口」が、そのままMCPの形で出てきているのが分かると思います。

あとはClaudeに普通に頼むだけです。

「Documents フォルダの中に何があるか教えて」

Claudeが自分でドライブを探しに行って、中のファイル名を返してきます。このときClaudeが使ったのが、さっき言った「道具」です。

⚠️ 最初は、フォルダ名で絞って頼むのがおすすめです。 「最近のファイルを見せて」のような広い頼み方をすると、思っていたより多くの情報が画面に出てきます。何が返ってくるかを確かめてから範囲を広げるほうが安全です。

再現できる条件が、2つあります

このシリーズは「読んだ人が自分の環境で再現できること」を大事にしているので、条件は隠さず書きます。上のやり方が使えるのは、次の2つを満たしている場合です。

1. Claude Code に claude.ai のアカウントでログインしていること

APIキー(ANTHROPIC_API_KEY など)でログインしている場合や、Amazon Bedrock などの他社経由で使っている場合は、claude.ai でつないだものは一覧に出てきません。 別のログイン方法のときは、そもそも取りに行かない仕様です。

2. チーム・エンタープライズのプランの場合は、管理者が先に有効にしていること

Anthropicの公式サポートページに、Team と Enterprise では組織のオーナーが先に有効化する必要がある、と書かれています。会社のアカウントで試して出てこない場合は、これを疑ってください。


おまけ:コマンドで足すやり方も、一応あります

ここまでが本筋です。ここから先はコマンドで足す方法の話で、読み飛ばしても困りません。ただ、他の人の記事を読んでいると必ず出てくるところなので、あとで戻ってこられるように一覧で置いておきます。

覚えておくコマンドは、4つだけ

claude mcp list              いまつながっているものを一覧で出す
claude mcp get サーバー名      1つ選んで、設定がどこに入っているか・つながっているかを見る
claude mcp add サーバー名 ...  MCPサーバーを足す
claude mcp remove サーバー名   外す

そして、Claude Codeので打つのがこれです。

/mcp

つながっているサーバーの状態、使える道具、認証のやり直し、サーバーの一時的なオン/オフが、この画面からできます。外したいときも、ここか claude mcp remove です。

add は、つなぐ相手が2種類あるので形も2種類あります。

# 自分のパソコンの中で動くタイプ
claude mcp add my-server -- npx my-mcp-server

# ネットの向こうで動いているタイプ
claude mcp add --transport http my-server https://example.com/mcp

鍵(APIキー)が要るサーバーは、-e API_KEY=xxx のように環境変数として一緒に渡します。さっきの「鍵の渡し方①」が、まさにこの形です。

設定をどこに書くか ── スコープは3つ

claude mcp add には -s--scope)というオプションがあって、設定をどこに保存するかを3つから選べます。指定しなければ local です。

local(既定)

  • いま作業しているプロジェクトだけで読み込まれる
  • ホームの ~/.claude.json に、そのプロジェクトのパスごとに保存される
  • 自分だけのもの。他のプロジェクトには出てこない

project

  • プロジェクトの直下に .mcp.json というファイルが作られ、そこに書かれる
  • このファイルをGitに入れておけば、チーム全員が同じMCPサーバーを使える
  • 「このプロジェクトではこれを使う」を共有したいとき

user

  • ホームの ~/.claude.json に保存され、自分の全プロジェクトで使える
  • 共有はされない。自分専用

迷ったら、まずは既定の local で足して、「これは全部の作業で使うな」と思ったら user に付け替える。それで十分です。


Googleドライブ以外にも、つなげます

claude.ai の同じ画面(claude.ai/customize/connectors)から、Anthropicが最初から用意しているものが選べます。公式ドキュメントに挙がっているのは、Googleドライブ、Gmail、Googleカレンダー、GitHub、Slack、Microsoft 365 など。認証さえすれば、それ以外の準備は要りません。

さらに、コネクタディレクトリという公開のカタログもあります。Anthropic製のものと、第三者が作ったものが並んでいて、Anthropicが確認済みのものと、コミュニティ製のものにラベルが分かれています。 このラベルの意味は、次の章の「誰が作ったか」の話に直結します。

ネットの向こうで動いているタイプのMCPサーバーなら、アドレスさえ分かれば claude mcp add --transport http ... で自分で足すこともできます。


MCPサーバーは、自分で作ることもできます

ここまで「使う側」の話をしてきましたが、MCPサーバーは自分で作れます。 完全にプログラムを書く話になるので詳細は書きませんが、方向だけ。

  • 公式サイトに、天気を調べるサーバーを作るチュートリアルがあります
  • 公式のSDKは Python / TypeScript / Java / Kotlin / C# / Go / Ruby / Rust で用意されています
  • 作るのは基本的に「道具(tools)を並べたプログラム」です。「この名前で、こういう引数を受けて、こう返す」を宣言すると、AIから呼べるようになります

社内にしかないシステムや、自分だけが使っている仕組みをClaudeに触らせたい、というときはこの道になります。

もう1つ、Google自身が出しているGoogleドライブのMCPサーバーの手順もあります。ただしこちらは開発者向けの早期提供という位置づけで、自分でGoogle Cloudのプロジェクトを用意してOAuthの設定を作る必要があります。この記事で紹介したclaude.ai経由のつなぎ方とは別物なので、そこは混ぜないでください。


つないだあとに、3つだけ気をつけること

便利さの話をしてきましたが、やっているのは「自分のアカウントを触る権利を渡す」ことです。最後にここを書いておきます。脅かしたいわけではなくて、私はこうしている、という話です。

1. 誰が作ったサーバーかを確かめる

Claude Codeの公式ドキュメントに、こう書かれています。

Verify you trust each server before connecting it. Servers that fetch external content can expose you to prompt injection risk. (つなぐ前に、そのサーバーを信頼できるか確認してください。外部のコンテンツを取ってくるサーバーは、プロンプトインジェクションのリスクにさらす可能性があります)

外から取ってきた文章をAIに読ませるサーバーだと、その文章の中に書かれた指示に、AIが引っぱられてしまうことがある、という意味です。前の章で書いたディレクトリのラベル(確認済みか、コミュニティ製か)を見る癖をつけておくと安心です。

2. 入れっぱなしにしない

同じく公式ドキュメントに「使っていないサーバーは無効にする」と書かれています。/mcp の画面から、削除せずにオフにできます。

つなぐほど、AIが触れる範囲が広がります。 便利さと引き換えなので、使っていないものは切っておく。それだけです。

3. 何を許可したのかを見る

つなぐときの画面に、読むだけを許可するのか、書き込みまで許可するのかが書いてあります。「はい」を押す前に、そこだけは読んでください。

たとえばGoogleドライブのサーバーには、探す・読むだけでなくファイルを作る側の道具も含まれています。 何を渡したかを知っているかどうかで、あとの安心感が全然違います。


まとめ

APIは、プログラム向けの入口。MCPは、その入口をAIに渡すための共通の規格。

だからClaude Codeは、自分の外側にあるものを触ることができます。

冒頭の5つを振り返ります。

  • APIが何か → 人間向けの画面ではなく、プログラム向けの入口。決まった形で送ると、決まった形でデータだけが返ってくる
  • 2つの出方github.com/...api.github.com/repos/...。同じ説明文が、片方は画面に、片方は "description": の右側に
  • MCPが何のためにあるか → バラバラなAPIを、AIから見て1つの形に揃えるため。AIにとってのUSB-C
  • つなぎ方claude.ai/customize/connectors でスイッチを入れるだけ。コマンドは要らない
  • 確認すべきこと → 誰が作ったか / 入れっぱなしにしない / 何を許可したか

コマンドの打ち方は、覚えなくて大丈夫です。MCP という文字が出てきたら「外の何かとつながっている」。まずはそれだけ思い出せれば十分です。

そして、いちばん持ち帰ってほしいのはこれです。AIができることは、あとから足せます。 道具を渡すというのは、そういうことでした。


動画版もあります

同じ内容を、実際の画面を動かしながら解説した動画版があります。「つないだ瞬間に何が増えるのか」は動きで見たほうが早いので、あわせてどうぞ。

https://youtu.be/W_hA4-B-ciY

「Claude Codeを使うなら知っておきたい」シリーズは、これからも続けていきます。すでに公開しているのはこちらです。

この先は「環境変数」「JSON」といったテーマを予定しています。


ちなみに私は、GitHubをそのままノートの置き場にする、ブラウザから使えるMarkdownエディタを作っています。ログイン無しで触れるデモもあるので、よければ覗いてみてください。

Marten