しんたろーしんたろーのITアカデミー
AI活用Tips

【2026年版】MCP入門ガイド|AIエージェントを爆速化する7つの構築ステップ

【2026年版】MCP入門ガイド|AIエージェントを爆速化する7つの構築ステップ
しんたろーしんたろー
16分で読めます
この記事の内容(目次)

AIエージェントに社内のデータベースや独自のAPIを触らせたいと考える場面がある。しかし、関数をそのまま渡したり、大切なAPIキーを丸ごと預けたりするのはセキュリティの観点から不安が残る。その悩みを解決するのが、Anthropicが提唱したMCP(Model Context Protocol)だ。MCPを導入すれば、AIと外部ツールの間に安全な境界線を引きつつ、自分専用の最強エージェントを構築できる。

MCPは、AIモデルと外部のデータソースやツールを接続するための標準プロトコルだ。いわば「AI版のUSB-C規格」である。この規格に従ってサーバーを自作すれば、Claude CodeやCursorといった様々なAIアプリから、同じツールを安全に呼び出せる。この記事では、初心者でも今日からMCPサーバーを自作し、AIエージェントを爆速化するための7つのステップを解説する。

SNS運用を自動化しませんか?

ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。

無料で始める

ステップ1:MCPの3つの役割(Server・Client・Host)を理解する

MCPを使いこなすための第一歩は、登場人物の整理だ。MCPには「Host」「Client」「Server」という3つの役割が存在する。これらを混同すると設計で迷うため、把握しておく必要がある。

「Host」は、直接操作するAIアプリケーション本体を指す。具体的には、Claude CodeやClaude Desktop、Cursor、VS Codeなどが該当する。ユーザーからの指示を受け取り、最終的な回答を生成する窓口だ。「Client」は、Hostの中に組み込まれている通信部品だ。Hostからの指示を受けてServerにリクエストを送り、その結果をHostへ返す仲介役を担う。

そして、今回自作の対象となるのが「Server」だ。これは、実際のツールやデータを提供するプログラムを指す。たとえば「現在の在庫数を取得する関数」や「社内ドキュメントを検索する仕組み」を実装したものがMCPサーバーだ。Hostがユーザーの脳だとしたら、ServerはAIが使うための道具箱である。この役割分担があるため、一度サーバーを作れば、どのHostからでも同じ道具を使い回せる。

ステップ2:TypeScriptで最小構成のサーバーを構築する

概念を理解したら、次は実際に手を動かしてサーバーを作る。多くの開発者に支持されているTypeScriptを使った構築手順を解説する。TypeScriptを使うメリットは、公式のSDKが充実していることと、型定義によって安全なコードが書けることだ。

まず、作業用ディレクトリを作成し、npm initコマンドでプロジェクトを初期化する。次に、公式のMCP SDKである「@modelcontextprotocol/sdk」と、入力データの検証に使う「zod」をインストールする。サーバーの実装では、StdioServerTransportという通信方式を採用するのが一般的だ。これは標準入出力を通じてAIとやり取りする仕組みで、ローカル環境で動かすには適している。

具体的な実装の流れとしては、まずMcpServerのインスタンスを作成し、そこにツールを登録する。たとえば「商品コードを渡すと在庫数を返すツール」を作る場合、ツールの名前、説明、そして入力される引数のスキーマを定義する。この際、zodを使って引数の型を厳密に定義することが重要だ。最後に、connectメソッドを呼び出してサーバーを起動させる。これで、AIが呼び出し可能な最小限のサーバーが完成する。

ステップ3:PythonとFastMCPで開発効率を最大化する

Pythonに慣れているなら、FastMCPというライブラリを使うのが効率的だ。FastMCPを使えば、少ないコード量で実用的なMCPサーバーを構築できる。Pythonはデータ分析やスクリプト作成に強いため、既存の資産をAIツール化するのに適している。

まず、Pythonの仮想環境(venv)を作成し、pip install mcp[cli]を実行してSDKをインストールする。FastMCPの特徴は、デコレータを活用した直感的なコーディングだ。クラスを定義してインスタンスを作ったら、AIに実行させたい関数の上に「@mcp.tool()」というデコレータを付ける。これだけで、その関数がMCPツールとして公開される。

ここで重要なのが、関数のdocstring(説明文)を丁寧に書くことだ。AIは、この説明文を読んで「いつ、どのツールを使うべきか」を判断する。たとえば「現在の日時を返す関数」を作るなら、どのようなフォーマットで返すのかを詳しく記載する。これだけで、AIのツール呼び出し精度が向上する。最後にmcp.run()を呼び出せば、サーバーとして動作し始める。

ステップ4:Claude Codeへ自作サーバーを登録する

サーバーができたら、Claude Codeに認識させる。登録作業はシンプルで、ターミナルからコマンドを1つ実行するだけで完了する。

具体的には「claude mcp add」というコマンドを使用する。この後にサーバーの名前と、そのサーバーを起動するためのコマンドを指定する。TypeScriptで作った場合は「node」コマンドと実行ファイルのパスを、Pythonで作った場合は仮想環境の「python」コマンドとスクリプトのパスを指定する。

登録が完了すると、Claude Codeはチャットの中で「このツールを使っていいか」と尋ねてくるようになる。一度許可すれば、自然言語で指示を出すだけで、AIが裏側で自作サーバーを呼び出し、結果を取得して回答に反映する。サーバーの内容を更新した場合は、再度登録し直す必要はなく、そのまま最新のコードが反映される。

しんたろーしんたろー:
Claude Codeでコードを書く際、自作MCPサーバーとの連携は強力だ。自分のPC内の特定のファイルを検索したり、社内APIを叩いたりする作業をAIに任せられるのは、一度体験すると戻れない。

ステップ5:Tools、Resources、Promptsを適切に使い分ける

MCPサーバーを設計する上で、重要なのが「プリミティブ」の使い分けだ。MCPでは、サーバーが提供できる機能を「Tools」「Resources」「Prompts」の3つに分類している。これらを適切に選ぶことが、安全で使い勝手の良いシステムへの近道だ。

「Tools」は、関数の実行やデータの更新など、何らかのアクションを伴う操作に使う。たとえば「ファイルを書き換える」「メールを送信する」「データベースにレコードを追加する」といった副作用のある操作はすべてToolsに集約する。これに対して「Resources」は、データの読み取り専用だ。ログファイルの内容や、データベースの照会結果など、AIに参照させたいだけのデータはResourcesとして定義する。

最後に「Prompts」は、AIへの指示のテンプレートだ。「このコードをレビューして」「要件定義書を作成して」といった、よく使うプロンプトをサーバー側で管理できる。すべてをToolsで実装するのはアンチパターンだ。読み取りはResources、定型文はPrompts、実行はToolsと使い分けることで、AIの誤操作を防ぎ、権限管理を明確にできる。

ここまで読んだあなたに

今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。

無料で始める

ステップ6:公式・既存のMCPサーバーを活用して機能を拡張する

すべてを自作する必要はない。世界中の開発者が公開している既存のMCPサーバーを組み合わせることで、AIエージェントの能力は飛躍する。特に、大手テック企業が提供している公式サーバーは信頼性が高く、導入も容易だ。

たとえば、GitHub公式のMCPサーバーを導入すれば、ブラウザを開かずにIssueの確認やプルリクエストのレビューが可能になる。また、Brave Searchのサーバーを使えば、AIが最新のウェブ情報を検索して回答の根拠にできる。Playwrightのサーバーを導入すれば、AIにブラウザを操作させ、特定のサイトからデータをスクラップしてくることも可能だ。

これらの既存サーバーを追加するには、自作サーバーと同じように「claude mcp add」コマンドを使う。多くの場合はnpxコマンド経由で実行できるため、ローカルにソースコードをダウンロードする必要はない。自作の「社内業務特化ツール」と、公式の「汎用外部連携ツール」を組み合わせることで、最強の開発環境が整う。

ステップ7:チームでの管理とセキュリティ対策を徹底する

MCPを活用する範囲が個人からチームへと広がる場合、管理とセキュリティの重要性が増す。特に、Cursorなどのツールでは「Team Marketplace」という機能が登場しており、組織内で承認されたMCPサーバーをメンバーに一括配布できる。

セキュリティ面で注意すべきは、認証情報の取り扱いだ。MCPサーバー内でAPIキーやパスワードを扱う場合、決してコードの中に直接書き込んではならない。必ず環境変数(.envファイルなど)から読み込む設計にする。また、MCPサーバーはローカルプロセスとして動作するため、AIが意図しないファイルを削除したり、機密情報を外部に送信したりしないよう、入力値のバリデーションを厳密に行う必要がある。

zodなどのライブラリを使って、AIから渡される引数が期待通りの形式であるかをチェックする。また、書き込み権限を持つToolsについては、実行前に必ずユーザーの確認を求める設定にする。安全な境界線を引くことこそが、MCPの設計思想における核心だ。

しんたろーしんたろー:
1人でSaaS開発をしているとセキュリティを後回しにしがちだが、MCPなら構造的に安全性を保てる。APIキーの管理をMCPサーバー側に閉じ込めることで、AIに安心して作業を任せられている。

MCP開発の比較表:TypeScript vs Python

開発言語を選ぶ際の参考に、それぞれの特徴をまとめる。

| 比較項目 | TypeScript (Standard SDK) | Python (FastMCP) |

| :--- | :--- | :--- |

| 学習コスト | 中(型定義の理解が必要) | 低(直感的に書ける) |

| 実装スピード | 普通 | 非常に速い |

| 型の安全性 | 非常に高い(zod併用) | 普通 |

| エコシステム | Web開発向けライブラリが豊富 | データ分析・AI系ライブラリが豊富 |

| おすすめの人 | 厳密な設計を好むエンジニア | 素早くツールを作りたい人 |

つまずきポイントと解決策

初心者がMCPサーバー自作でハマりやすいポイントを3つ挙げる。

  1. 標準出力の汚染: MCPは標準入出力(stdio)を使って通信する。そのため、コード内で「console.log」や「print」を使ってデバッグメッセージを出すと、通信データと混ざってエラーが発生する。デバッグ情報は必ず標準エラー出力(console.errorやsys.stderr)に出す。
  2. パスの指定ミス: Claude Codeにサーバーを登録する際、実行ファイルやPython仮想環境のフルパスを指定しないと起動に失敗することが多い。相対パスではなく、必ず絶対パスで指定する。
  3. 引数の説明不足: AIがツールを正しく使ってくれない原因の多くは、説明文(description)の不足だ。そのツールが「何を解決するものか」「引数には何を入れるべきか」を、詳しく書くことが成功の秘訣だ。

FAQ(よくある質問)

Q1:MCPサーバーを自作する最大のメリットは何か?

最大のメリットはセキュリティと再利用性の両立だ。APIキーなどの機密情報をAIモデルに直接渡すことなく、手元のサーバー内で安全に管理しながら、AIに特定の機能だけを実行させることができる。また、一度MCP規格で作れば、Claude DesktopやCursorなど、対応するあらゆるアプリで同じツールを使い回せるため、開発効率が向上する。

Q2:Tools、Resources、Promptsはどう使い分ければいいか?

副作用があるかどうかで判断する。データベースの更新やファイル作成、APIの実行など、外部の状態を変化させる操作はすべて「Tools」に分類する。一方で、既存のドキュメントの読み込みや設定ファイルの参照など、データの取得のみを行う場合は「Resources」を使う。定型の指示文や複雑なプロンプトのテンプレートを共有したい場合は「Prompts」を活用する。

Q3:自作したサーバーの動作確認はどのように行うか?

開発中は、SDKに付属しているデバッグツールを活用する。Pythonなら「mcp[cli]」をインストールすることで、ターミナルから直接サーバーと対話して挙動を確認できる。また、実際にClaude Codeに登録し、自然言語で指示を出して、意図した通りに関数が呼び出されるかテストするのも有効だ。

Q4:Claude Codeでツールが認識されない時のチェック項目は?

まずは「claude mcp list」コマンドを実行し、サーバーが正しく登録されているか確認する。次に、登録した起動コマンドのパスが正しいか、実行権限があるかをチェックする。それでも動かない場合は、サーバーのログを標準エラー出力に吐き出すように設定し、エラーメッセージが出ていないかを確認する。stdio通信では、標準出力に余計な文字が出ていないかも重要な確認ポイントだ。

Q5:社内ツールを接続する際に最も気をつけるべきことは?

認証情報の管理とバリデーションだ。APIキーなどの機密情報は、絶対にソースコードに直書きせず、環境変数から読み込むように設計する。また、AIは時として予想外の引数を渡してくることがある。zodなどのスキーマ検証ライブラリを使い、入力されたデータが安全な範囲内であるかを厳密にチェックすることで、意図しない操作やデータ破壊を防ぐことができる。

まとめ:AIエージェントを自分専用にカスタマイズしよう

MCPは、AIエージェントを単なる「物知りなチャット相手」から「実務をこなす優秀な部下」へと進化させるための武器だ。最初はPythonのFastMCPを使って、現在時刻を返すだけの簡単なサーバーから作り始めてみるといい。一度自分の手で作ったツールをAIが自在に操る様子を見れば、その可能性の大きさを実感できるはずだ。

自作サーバーでセキュリティを担保しつつ、公式サーバーで機能を拡張する。この組み合わせこそが、2026年におけるAI活用のスタンダードになる。まずは今日、1つのツールをMCP化するところから始める。

👉 ThreadPostでSNS運用を自動化する

ThreadPost — SNS投稿をAIが自動化

この記事が参考になったら、ThreadPostを試してみませんか?投稿作成・画像生成・スケジュール管理まで、AIがサポートします。

無料で始める

この記事をシェア

XはてブLINE
しんたろー

ThreadPost開発者・個人開発エンジニア

AI × SaaS個人開発者。Cursor / Claude Code を使った効率的開発、SNS自動化について実体験から発信。

人気の記事