🌱 初心者向けIT基礎シリーズ|第4章

API・JSON入門【2026】AIエージェントの“手足”をやさしく解説(APIキー・MCPまで)

AIエージェントが「メールを送る」「広告の成果を集計する」「天気を調べる」といった行動をとれるのは、世の中のサービスがAPIという窓口を開けてくれているからです。そして、その窓口でやりとりされる注文票の書き方がJSONです。第4章では、実際のClaude APIのリクエストとレスポンスを読みながら、AIエージェントの“手足”の正体を解き明かします。

🔬
調査・編集:AIエージェント研究所 編集部
運営=広告運用・生成AIエージェント導入支援の現役コンサル。このサイト自体も、AIエージェントと一緒に作り・公開・運用しています。

現場で実際に使っている構成を例に、未経験の方にも分かる言葉で解説します。→ 運営者・編集方針について

公開:2026年9月26日/最終更新:2026年9月26日
この記事の結論(要点まとめ)
  • APIはサービスの「窓口」、JSONは決まった書式の「注文票」。AIのAPIも、広告のAPIも、この形は同じ
  • AIのAPIはトークン(文字のかけら)単位の従量課金。APIキーは「財布と直結したカード」なので.envに置き、GitHubに上げない
  • AIエージェントのツール呼び出しは、AIが「このAPIをこの引数で呼んで」とJSONで指示し、プログラムが実際に呼ぶ仕組み
  • MCPは、AIとツールをつなぐ共通規格=AIのUSB-C。一度つなげば、対応するAIアプリから同じ道具を使える

APIとは?「窓口」と「注文票」で考える

API(Application Programming Interface)は、ひとことで言えば「プログラム同士がやりとりするための窓口」です。人間向けの窓口が画面(Webサイトやアプリ)だとすれば、APIはプログラム向けの窓口です。

役所の窓口を思い浮かべてください。

  • 窓口は用件ごとに分かれている(住民票はこちら、転入届はこちら)
  • 決まった申請書(注文票)に、決まった項目を書いて出す
  • 本人確認のために身分証を見せる
  • 窓口の奥で職員が何をしているかは知らなくてよい。書式どおりに出せば、結果が返ってくる

APIもまったく同じです。用件ごとの窓口がエンドポイント、申請書の書式がJSON、身分証がAPIキーにあたります。そして「中の仕組みを知らなくても、書式どおりに頼めば使える」のがAPIの最大の価値です。Claudeの中でどんな計算が行われているかを知らなくても、注文票さえ正しく書けば、誰でも世界最先端のAIを自分のプログラムから使えるのです。

第3章のレストランのたとえでいえば、APIはホール係と注文票。お客さん(呼び出す側)は厨房(サービスの中身)に入らず、注文票を通して料理を受け取ります。

助手アイ
助手アイAIエージェントの「手足」がAPIって、どういう意味ですか?
エージェント博士
エージェント博士AIモデルそのものは「考えて文章を書く」ことしかできん。メールを送るのも、カレンダーを書き換えるのも、広告の数字を取ってくるのも、ぜんぶ各サービスのAPIを呼ぶことで実現しておる。だからAPIは、AIが世界に触れるための手足なんじゃよ

REST・エンドポイント・リクエストとレスポンス

リクエストとレスポンス

APIのやりとりは、第1章で学んだHTTPのリクエスト(お願い)とレスポンス(返事)の1往復が基本です。リクエストには次の4つが入っています。

部品中身窓口でいうと
メソッドGET(取得)、POST(作成・送信)、PUT/PATCH(更新)、DELETE(削除)「見せて」「出します」「直して」「取り消して」
URL(エンドポイント)どの窓口か(例:https://api.anthropic.com/v1/messages)窓口の番号
ヘッダAPIキー、データの形式などの付帯情報身分証・書類の種類
ボディ送りたいデータ本体(多くはJSON)申請書の中身

レスポンスには、ステータスコード(結果を表す3桁の数字)と、ボディ(返事の中身)が入っています。

コード意味よくある原因
200成功—
400リクエストの書き方がおかしいJSONの形が違う、必要な項目がない、古いパラメータを使っている
401認証エラー(あなたは誰?)APIキーがない・間違っている
403権限がないキーはあるが、その操作が許可されていない
404窓口が見つからないURLの打ち間違い
429呼びすぎ(レート制限)短時間に大量のリクエスト
500番台相手側のエラーサービス側の障害。Anthropicでは混雑時に529(overloaded)が返ることもある

REST(レスト)という作法

Web APIの多くはRESTという作法に沿って作られています。ざっくり言うと「URLで“何を”、メソッドで“どうする”を表す」という約束ごとです。

RESTのイメージ(架空のタスク管理API)HTTP
GET    /tasks        # タスクの一覧を見せて
POST   /tasks        # 新しいタスクを作って
GET    /tasks/42     # 42番のタスクを見せて
PATCH  /tasks/42     # 42番のタスクを一部直して
DELETE /tasks/42     # 42番のタスクを消して

このように作法がそろっていると、初めて使うAPIでも「たぶんこう呼べばいい」と見当がつきます。AIエージェントがさまざまなAPIを使いこなせるのも、多くのAPIがこうした共通の作法と、APIドキュメント(取扱説明書)を公開しているからです。なお、Claude APIの POST /v1/messages のように、AIのAPIは「送った内容に対して答えを作る」処理が中心なので、ほとんどがPOSTです。

JSONの読み方:Claude APIの返事を読み解く

JSON(ジェイソン)は、データを書くための書式です。人間にも読めて、プログラムにも扱いやすいため、APIのやりとりの事実上の標準になっています。ルールはたったこれだけです。

  • { }(波かっこ)=オブジェクト:「名前: 値」のセットの集まり。名前は必ず "(ダブルクォート)で囲む
  • [ ](角かっこ)=配列:値を順番に並べたリスト
  • 値に使えるのは、文字列("...")、数値、true/false、null(なし)、オブジェクト、配列

では、Claude APIが返してくるレスポンスを、少し簡略化して読んでみましょう。

Claude APIのレスポンス(簡略化)JSON
{
  "id": "msg_01AbC...",
  "type": "message",
  "role": "assistant",
  "model": "claude-opus-5",
  "content": [
    { "type": "text", "text": "こんにちは!何をお手伝いしましょうか?" }
  ],
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 12, "output_tokens": 18 }
}

上から順に読んでいきます。

  • "id":このメッセージの受付番号。問い合わせやログで使う
  • "role": "assistant":これはAI側の発言ですよ、という印
  • "model":答えを作ったモデル
  • "content":答えの本体。[ ] なので配列、つまり複数のかたまり(ブロック)が入りうる。今回はテキストのブロックが1つだけ。ツールを使うときは、ここに "type": "tool_use" のブロックが入る(後述)
  • "stop_reason":なぜ生成が止まったか。end_turn は「言い終わった」。max_tokens なら「長さの上限で途中で切れた」、tool_use なら「ツールを使いたい」
  • "usage":使ったトークン数。料金はここから計算される

プログラムで答えの文章だけを取り出すには、「content の中から type が text のものを探して、その text を読む」とします。第3章のコードで if b.type == "text" と書いていたのは、この構造を読んでいたのです。

JSONを読むコツ いきなり全体を読もうとせず、いちばん外側の { } の「名前」だけを先に拾うと構造が見えます。長いJSONは、AIに「このJSONの構造を表にして説明して」と頼むのも有効です。

APIキーと認証ヘッダ:curlでClaude APIを呼ぶ

APIキーは、「このリクエストは誰からのものか」を証明する長い文字列です。サービスの管理画面(Claudeなら Claude Console)で発行します。APIキーはリクエストのヘッダに入れて送ります。

では実際に、curl(カール)というコマンドでClaude APIを呼んでみましょう。curlは「ターミナルからHTTPリクエストを送る道具」で、macOSやLinux、最近のWindowsにも標準で入っています。

ターミナルShell
# 事前に APIキーを環境変数にセットしておく(キーは自分のものに置き換え)
export ANTHROPIC_API_KEY="sk-ant-..."

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "APIを小学生にも分かるように一言で説明して"}
    ]
  }'

1行ずつ意味を見ていきます。

  • curl https://api.anthropic.com/v1/messages:送り先の窓口(エンドポイント)。-d でデータを付けると、curlは自動でPOSTとして送る
  • -H "x-api-key: ...":-H はヘッダを付けるという意味。APIキー(身分証)をここで渡す。$ANTHROPIC_API_KEY と書くことで、コマンドにキーそのものを書かずに環境変数から埋め込める
  • -H "anthropic-version: 2023-06-01":APIの取り決めのバージョン。「この書式ルールで話します」という宣言で、日付はモデルの新しさとは関係ない
  • -H "content-type: application/json":「ボディはJSONで書いてあります」という宣言
  • -d '{ ... }':ボディ(注文票の中身)。model は使うモデル、max_tokens は答えの長さの上限、messages は会話の中身

成功すると、先ほど読んだような形のJSONが返ってきます。認証のヘッダ名はサービスによって違い、多くのAPIでは Authorization: Bearer <トークン> という形も使われます。どの形で送るかは各サービスのAPIドキュメントに書いてあります。

APIキーをコマンドに直接書かない -H "x-api-key: sk-ant-xxxx" のようにキーを直接書くと、ターミナルの履歴に残ったり、画面共有やスクリーンショットで漏れたりします。上の例のように環境変数から読むクセをつけましょう。仕様は執筆時点(2026年9月)のものです。最新はAnthropic公式ドキュメントで確認してください。

料金はトークン課金:トークンとは?

AIのAPIの多くは、使った分だけ払う従量課金で、その単位がトークンです。トークンとは、AIが文章を処理するときの「文字のかけら」のこと。英語ならおおむね単語や単語の一部、日本語なら1〜数文字ほどがひとかたまりになります。正確な数え方はモデルによって異なるため、実際の数はレスポンスの usage で確認するのが確実です。

料金は入力(送った分)と出力(AIが書いた分)で単価が分かれていて、一般に出力のほうが高く設定されています。執筆時点(2026年9月)のClaudeの主なモデルの料金は次のとおりです。

モデルID入力(100万トークンあたり)出力(100万トークンあたり)特徴
claude-fable-5-1$10$50最上位。最も難しい仕事向け
claude-opus-5$5$25標準の推奨。高性能
claude-sonnet-5$2$10性能と価格のバランス
claude-haiku-4-5$1$5安価・高速。大量処理向け

計算してみましょう。claude-opus-5 に入力2,000トークン・出力500トークンのやりとりをすると、

  • 入力:2,000 ÷ 1,000,000 × $5 = $0.01
  • 出力:500 ÷ 1,000,000 × $25 = $0.0125
  • 合計:約$0.0225(1回あたり数円)

1回なら小さな金額ですが、AIエージェントはループの中で何度もAPIを呼び、そのたびに会話履歴やツールの結果をまるごと送り直します。長い資料を読ませたり、ツールを何十回も使ったりすると、1つの仕事で数百円〜それ以上になることもあります。大量処理には安いモデルを使う、変わらない部分をプロンプトキャッシュで安くする(キャッシュからの読み込みは入力料金の約1/10)、急がない処理はBatch API(約50%安い)を使う、といった工夫が効きます。料金は変わることがあるので、必ず公式の料金ページで最新を確認してください。モデルの違いはLLMモデル比較でも解説しています。

レート制限(429)とWebhook

レート制限:「呼びすぎ」のブレーキ

多くのAPIにはレート制限があります。「1分間に何回まで」「1分間に何トークンまで」のように、一定時間に使える量の上限です。人気のラーメン屋が「1人1杯まで・整理券制」にしているのと同じで、一部の人が使いすぎて全体が止まるのを防ぐための仕組みです。

上限を超えると、ステータスコード429(Too Many Requests)が返ってきます。対処の基本は次の3つです。

  • 少し待ってから再試行する:レスポンスのヘッダ retry-after に「何秒待てばよいか」が入っていることがある
  • 待ち時間をだんだん長くする(指数バックオフ):1秒→2秒→4秒……と間隔を広げて再試行する
  • SDKに任せる:AnthropicのPython/TypeScript SDKは、429や一部のサーバーエラーを既定で2回まで自動リトライしてくれる

それでも頻繁に429が出るなら、同時に走らせる処理の数を減らすか、利用枠の引き上げを検討します。

Webhook:「終わったら電話して」

ここまでのAPIは、こちらから「どうですか?」と聞きに行く形でした。逆に、相手のサービスから「何か起きたよ」と知らせてもらう仕組みがWebhook(ウェブフック)です。

ポーリング(聞きに行く)あなたの側相手のサービスWebhook(知らせてもらう)あなたの側相手のサービスまだですか?まだですまだですか?まだですまだですか?終わりました確認のたびに通信。無駄が多い終わったらこのURLへ…連絡を待つだけ…POST「完了したよ」連絡は出来事が起きた1回だけ
ポーリングは「まだですか?」と何度も聞きに行くため無駄が多い方式です。Webhookは「終わったらこのURLに連絡して」と伝えておき、決済完了やpushなどの出来事が起きたときに、相手のサービスがこちらのURLへPOSTで知らせてくれます。

たとえば「決済が完了した」「GitHubにコードがpushされた」「フォームに問い合わせが来た」といった出来事が起きたとき、サービスがこちらのバックエンドのURLにPOSTで知らせてくれます。AIエージェントでは、Webhookをきっかけにエージェントを起動する(問い合わせが来たら、AIが下書き回答を作る など)使い方がよくあります。受け取る側のURLは誰でも叩けてしまうので、署名を確かめて本物の送り主か検証するのが大切です。

AIが自分でAPIを選んで呼ぶ「ツール呼び出し」

ここからがAIエージェントの核心です。ツール呼び出し(Anthropicはtool use、OpenAIはfunction callingと呼ぶことが多い)は、AIが「どのAPIを、どんな引数で呼ぶか」を自分で決める仕組みです。

大事なポイントは、AI自身がAPIを直接呼ぶわけではないということ。AIは「このツールをこの入力で使いたい」とJSONでお願いするだけで、実際に呼ぶのはこちらのプログラム(第3章の司令塔)です。

AI(Claude)プログラム天気API① 道具の説明を渡すget_weather:都市→天気② 使いたい(JSON)get_weather/東京③ 実際に呼ぶ雨・18℃④ 結果を渡す回答 or 次の道具実行するのはプログラム側
AIは「この道具をこの入力で使いたい」とJSONでお願いするだけで、天気APIを実際に呼ぶのはこちらのプログラムです。プログラムが結果をAIに渡すと、AIはそれを読んで回答するか、次の道具を選びます。

①で渡す「道具の説明書」は、次のようなJSONです。

ツールの定義JSON
{
  "name": "get_weather",
  "description": "指定した都市の現在の天気を返す",
  "input_schema": {
    "type": "object",
    "properties": { "location": { "type": "string", "description": "都市名" } },
    "required": ["location"]
  }
}
  • name:道具の名前
  • description:何をする道具か。AIはこの説明を読んで「使うべきか」を判断するので、ここを分かりやすく書くのがとても重要
  • input_schema:どんな入力が必要か。JSON Schemaという「JSONの形を決めるルール」で書く。ここでは「文字列の location が必須」

AIが道具を使いたくなると、レスポンスの content にこんなブロックが入り、stop_reason が "tool_use" になります。

AIからの「使いたい」(レスポンスの一部)JSON
{
  "type": "tool_use",
  "id": "toolu_01XyZ...",
  "name": "get_weather",
  "input": { "location": "東京" }
}

プログラムはこれを読んで天気APIを呼び、結果を "type": "tool_result"(tool_use_id に上の id を入れて、どのお願いへの答えかを示す)として会話に追加し、もう一度Claudeに送ります。この往復が第3章で見たエージェントループです。

助手アイ
助手アイAIは「使いたい」と言うだけで、実行はプログラム側……だから危ない操作は止められるんですね!
エージェント博士
エージェント博士そうじゃ。「読むだけの道具」は自動で、「お金や外部に影響する道具」は人の承認を挟む——これが安全なエージェント設計の第一歩じゃぞ

OpenAIのAPIやGoogleのGemini APIにも同じ考え方の仕組みがあり、どれもツールの定義はJSON Schemaで書く点が共通しています(細かい書き方は各社で異なるため、公式ドキュメントで確認してください)。

実例:エージェントが広告・分析のAPIを呼ぶ

ツール呼び出しは天気のような例だけではありません。業務で特に効果が大きいのが、毎週・毎月くり返す「データを取ってきて、まとめる」仕事です。私たちの本業である広告運用を例に、Claude Codeのようなエージェントが業務APIを呼ぶ流れを見てみましょう。

たとえば担当者が「先週のGoogle広告とMeta広告の成果を、GA4のコンバージョンと並べて比較表にして」と頼んだとします。

Google Ads API広告の成果Meta Marketing API広告ごとの配信結果GA4 Data APIサイトのCV② 問い合わせ③ JSONエージェントどのAPIを使うか決める担当者日本語で指示① 依頼比較表指標をそろえて集計整える④ 比較表と気づきを報告
担当者が日本語で頼むと、エージェントがGoogle Ads API・Meta Marketing API・GA4 Data APIに期間と指標を指定して問い合わせます。媒体ごとに形の違うJSON(表示回数・クリック・費用・CV)を受け取り、指標をそろえて比較表と気づきにまとめて報告します。
API取れるもの(例)呼び方の特徴
Google Ads APIキャンペーン別の表示回数・クリック・費用・コンバージョンGAQL(Google Ads Query Language)というSQLに似た問い合わせ文を送る
Meta Marketing API広告セット・広告ごとの配信結果(Insights)Graph APIの形式で、欲しい項目と期間を指定して取得
GA4 Data APIサイト上の行動・コンバージョンのレポートrunReport で「期間・ディメンション・指標」を指定

ここで、この章で学んだことがすべて登場します。

  • 認証:これらのAPIはOAuth(「Googleでログイン」と同じ系統の仕組み)で発行したトークンを使う。Google Ads APIではさらに開発者トークンも必要。どれも環境変数や秘密情報の保管庫に置く
  • JSON:媒体ごとに返ってくるJSONの形や指標の名前が違う。エージェントはAPIドキュメントを読んで項目の対応づけをする
  • レート制限:媒体APIにもそれぞれ上限があるので、期間を分けて取る・間隔をあけるといった配慮が必要
  • 権限の設計:レポート取得のような「読むだけ」の操作と、入札・予算・配信停止のような「お金が動く」操作は分ける。後者はエージェントに提案だけさせ、実行は人が承認するのが安全
なぜ「エージェント」が効くのか 媒体ごとに管理画面を開き、CSVを書き出し、表計算ソフトで貼り合わせる——という手作業は、APIを使えば自動化できます。さらにエージェントなら、「どのAPIをどう組み合わせるか」を日本語の指示から自分で組み立て、想定外の形のデータにもある程度対応できます。具体的な実装は開発者向けのClaude Code×広告媒体API連携入門で解説しています。各APIの仕様・申請手続きは執筆時点のもので、変更されることがあるため各社の公式ドキュメントで確認してください。

MCP:AIのUSB-C

ツール呼び出しは便利ですが、困ったことがあります。天気、カレンダー、広告、社内DB……道具を増やすたびに、AIアプリごとに接続のコードを書き直す必要があったのです。昔のパソコンが、プリンターはこの端子、マウスはあの端子、とバラバラだったのに似ています。

そこで登場したのがMCP(Model Context Protocol)です。Anthropicが2024年11月に公開したオープンな規格で、AIアプリと外部のツール・データを共通の差し込み口でつなぎます。よく「AIのUSB-C」と例えられます。その後、OpenAI・Google・Microsoftなども対応を表明し、業界の標準になりつつあります。

ホストClaude Code などAIアプリ側は書き直し不要MCP共通の規格MCPサーバー(接続役)GitHubSlackDB社内システム
MCP(Model Context Protocol)は、AIアプリ(ホスト)と外部のツール・データをつなぐ共通の規格です。GitHub・Slack・DB・社内システムなどへの接続役(MCPサーバー)がすべて同じつなぎ方なので、道具を増やすたびにAIアプリ側の接続コードを書き直す必要がなくなります。

MCPサーバーがAIに提供できるものは、主に3種類です。

種類中身例
tools(ツール)AIが実行できる機能「Issueを作る」「レポートを取得する」
resources(リソース)AIが読めるデータファイルの中身、DBの表
prompts(プロンプト)定型のプロンプト(手順書)「週次レポートを作る手順」

つなぎ方(トランスポート)には、自分のパソコンの中でプログラムを起動して話すstdio(ローカル向け)と、インターネット越しに話すStreamable HTTP(リモート向け)があります。たとえばClaude Codeには、次のようなコマンドでMCPサーバーを登録できます。

ターミナルShell
# 手元のプログラムをMCPサーバーとして登録(stdio)
claude mcp add my-tools -- node /path/to/server.js

# インターネット上のMCPサーバーを登録(Streamable HTTP)
claude mcp add --transport http my-remote https://example.com/mcp

MCPとAPIの関係も押さえておきましょう。MCPはAPIを置き換えるものではありません。多くのMCPサーバーは、中で各サービスのAPIを呼んでいます。MCPは「AIがAPIを使うための共通の差し込み口」と考えると分かりやすいでしょう。便利な反面、MCPサーバーはあなたの権限で動くので、提供元が信頼できるものだけを入れることが大切です。MCPサーバーの作り方は開発者向けのMCPサーバー開発記事で解説しています。

APIキー漏洩の実害と対策

APIキーが漏れると何が起きるのでしょうか。

  • 高額請求:第三者があなたのキーでAIを大量に使い、請求はあなたに来る。AIのAPIは1回の単価が小さくても、自動化されると短時間で積み上がる
  • データへのアクセス:広告アカウントやDBのキーなら、顧客データや配信設定を見られたり、書き換えられたりする恐れがある
  • 信用の失墜:取引先のアカウントに関わるキーなら、取引先にも迷惑がかかる

特に多いのがGitHubへのうっかり公開です。公開リポジトリに上がった秘密情報は、自動で探し回るプログラムに短時間で見つけられると広く指摘されています。しかも後からファイルを消しても、Gitの履歴には残ります。

対策は次のとおりです。

  1. キーは .env ファイルか、クラウドの環境変数・シークレット機能に置く。コードからは名前(ANTHROPIC_API_KEY など)で読む
  2. .gitignore に .env を書いて、Gitの管理対象から外す(第7章)
  3. フロントエンド(ブラウザで動くコード)に書かない。必ずバックエンド経由にする(第3章)
  4. 管理画面で使用上限(利用額の上限)を設定する。万一漏れても被害額に天井ができる
  5. 用途ごとにキーを分け、権限は最小限に。漏れたときに止めるキーが特定でき、影響範囲も小さくなる
  6. 漏れたら(漏れたかもと思ったら)すぐ無効化して再発行。ファイルを消すより先にキーを止める
  7. チャット・メール・スクリーンショット・AIへの貼り付けにも注意する
自社事例

このサイトの .gitignore

AIエージェント研究所はGitHubでGit管理し、Claude Codeと共同で作業しています。AIエージェントにファイル操作を任せるからこそ、秘密情報がそもそもコミットされない仕組みを最初に用意しています。実際の .gitignore の一部がこちらです。

.gitignore(抜粋)gitignore
# 機密情報(APIキー・トークン・環境変数はコミットしない)
.env
.env.*
*.key
*.pem
*.p12
credentials.json
secrets.json

.env だけでなく、.env.local のような派生ファイル(.env.*)、秘密鍵の形式(*.key・*.pem・*.p12)、Googleなどのサービスでよく使われる認証ファイル名(credentials.json)もまとめて除外しています。「気をつける」ではなく「間違えても入らない」仕組みにするのがポイントです。

用語まとめ表

用語ひとことでたとえ
APIプログラム同士がやりとりする窓口役所の窓口
エンドポイントAPIの個々の入口(URL)窓口の番号
RESTURLで「何を」、メソッドで「どうする」を表す作法窓口の共通ルール
リクエスト/レスポンスお願いと返事の1往復申請と交付
ステータスコード結果を表す3桁の数字(200、401、429など)「受理」「書類不備」の判子
JSONデータを書く書式。{ } と [ ] で構造を表す決まった書式の注文票
APIキー誰からのリクエストかを証明する文字列身分証+財布に直結したカード
トークンAIが処理する文字のかけら。課金の単位タクシーの走行距離
レート制限(429)一定時間に使える量の上限整理券・1人1杯まで
Webhook相手から「起きたよ」と知らせてもらう仕組み「終わったら電話して」
ツール呼び出しAIが使う道具と引数を選び、プログラムが実行する料理長の「あれ取って」
MCPAIとツール・データをつなぐ共通規格AIのUSB-C

🤖 AIエージェントとやってみよう

ChatGPTやClaudeに、次のプロンプトをそのまま貼り付けて試してみてください。

プロンプト①:JSONを読み解いてもらうPrompt
次のJSONは、あるAIのAPIから返ってきたレスポンスです。
プログラミング初心者にも分かるように、各項目の意味を表にして説明してください。
また、「AIの答えの文章だけ」を取り出すには、どの項目をどうたどればよいかも教えてください。

{"id":"msg_01AbC","type":"message","role":"assistant","model":"claude-opus-5",
 "content":[{"type":"text","text":"こんにちは!"}],
 "stop_reason":"end_turn","usage":{"input_tokens":12,"output_tokens":18}}
プロンプト②:ツール定義を一緒に作るPrompt
AIエージェントに「社内の商品在庫を調べる道具」を渡したいです。
Claude API の tool use 形式(name / description / input_schema)で、
商品コードを受け取って在庫数を返すツールの定義をJSONで書いてください。
- description は、AIが「いつ使うべきか」判断しやすい書き方にしてください
- input_schema の各項目が何を意味するかも説明してください
- このツールを「読むだけ」にしておくべき理由も教えてください
プロンプト③:APIキーの管理を点検するPrompt
私はこれからAIのAPIキーを使った小さなWebアプリを作り、GitHubで管理する予定です。
APIキーを漏らさないためのチェックリストを、初心者向けに10項目で作ってください。
.env と .gitignore の具体的な書き方の例、
うっかりGitHubに上げてしまったときに最初にやるべきことの順番も含めてください。
試すときの注意 プロンプトに本物のAPIキーを貼り付けないでください。例として示すときは sk-ant-xxxx のようなダミーを使いましょう。

よくあるつまずき

症状よくある原因対処
401 authentication_errorAPIキーが空・打ち間違い・環境変数が読めていないecho $ANTHROPIC_API_KEY の結果が空でないか確認(画面共有中は注意)
400 invalid_request_errorJSONの形が違う、必須項目(max_tokens など)がない、古い書き方のパラメータエラーメッセージの本文を読む。公式ドキュメントの例と見比べる
JSONの構文エラー最後の要素のあとの余計な ,、'(シングルクォート)の使用、かっこの閉じ忘れJSONはダブルクォートのみ。整形ツールやAIにチェックさせる
429 rate_limit_error短時間に呼びすぎ待って再試行(指数バックオフ)。同時実行数を減らす
答えが途中で切れるstop_reason が max_tokens=長さの上限に達したmax_tokens を増やす、または答えを短く頼む
AIがツールを使ってくれないdescription があいまいで、いつ使うか判断できない「〜を調べるときに使う」と用途を具体的に書く
請求額が想定より多いループで履歴を毎回送っている、高価なモデルで大量処理usage を記録して確認。安いモデル・キャッシュ・使用上限を活用

よくある質問

APIを使うのにプログラミングは必須?

最初の一歩なら必須ではありません。ターミナルでcurlコマンドを1行実行するだけでもAPIは呼べますし、Postmanのような画面から試せるツールもあります。ただし、繰り返し使ったり結果を加工したりするにはPythonやJavaScriptのコードが必要になるので、AIエージェントに書いてもらいながら少しずつ慣れるのがおすすめです。

APIキーを漏らしてしまったらどうすればいい?

すぐに管理画面でそのキーを無効化(削除)し、新しいキーを発行してください。GitHubに上げてしまった場合、ファイルを消すだけでは履歴に残るので、キーの無効化が最優先です。その後、利用履歴と請求額を確認し、身に覚えのない利用があればサービス提供元のサポートに連絡します。

MCPとAPIは何が違うの?

APIは各サービスがそれぞれ独自の形で用意する窓口です。MCPは、AIアプリがさまざまなツールやデータにつながるための共通規格で、いわばAIのUSB-Cです。MCPサーバーの中では多くの場合、既存のAPIを呼んでいます。APIを置き換えるものではなく、AIがAPIを使いやすくするための共通の差し込み口と考えると分かりやすいです。

AIのAPIの料金はどれくらいかかる?

多くのAIのAPIは、送った文章と返ってきた文章の量をトークンという単位で数える従量課金です。短いやりとりなら1回あたり数円程度に収まることが多い一方、長い資料を何度も読ませるエージェントでは大きく増えます。モデルごとの単価は変わるため、公式の料金ページを確認し、管理画面で使用上限を設定しておくと安心です。

まとめ|APIを知れば、AIエージェントの「できること」が見える

APIはサービスの窓口、JSONは注文票の書式、APIキーは身分証(兼、財布に直結したカード)でした。AIのAPIも、広告やGA4のAPIも、基本の形は同じです。

  • リクエストは「メソッド・URL・ヘッダ・ボディ」、レスポンスは「ステータスコード・ボディ」
  • AIのAPIはトークン課金。エージェントはループで何度も呼ぶので、使用上限とモデル選びが大切
  • ツール呼び出しでは、AIが道具と引数を選び、実行は司令塔(バックエンド)が行う。お金や外部に影響する操作は人の承認を挟む
  • MCPはAIのUSB-C。道具を共通の差し込み口でつなぐ
  • APIキーは.envに置き、.gitignoreで除外し、フロントに書かない

「このサービスにAPIはあるか?」と考えられるようになると、AIエージェントに任せられる仕事の範囲が一気に見えてきます。次の第5章「サーバー・Linux入門」では、ここまで何度も登場したターミナル・コマンド・環境変数を、AIエージェントが実際に動く「場所」としてじっくり学びます。

基礎を身につけたら、次は「仕事」につなげる

独学で進めるのも十分可能ですが、「最短で実務レベルにしたい」「転職・副業につなげたい」なら、次の記事も参考にしてください。

AIスキル・プログラミングが学べるオンラインスクール比較8選【2026】独学で詰まる前に。給付金の対象コースで費用を抑える方法も
記事を読む

次の一歩

姉妹サイトの記事で、次に気になりやすいことを調べられます。