Claude Codeで初めてのMCPサーバーを作る:ステップバイステップ完全ガイド
MCPサーバーの仕組みからローカルでの動作確認まで、Claude Codeを使って初めてのMCPサーバーを実装する手順を丁寧に解説します。ゼロ知識からでも動くものが作れます。
MCPサーバーとは何か
MCP(Model Context Protocol)は、Anthropicが策定したオープンプロトコルで、AIモデルが外部ツールやデータソースと標準化された方法で連携するための仕組みです。MCPサーバーを自作することで、Claude CodeやClaude Desktopから独自のデータベース・社内API・専用ツールを直接呼び出せるようになります。
従来のプロンプトエンジニアリングでは「情報をコピーして貼り付けてから質問する」という手順が必要でしたが、MCPを使うとAIが自律的にデータを取りに行けるため、ワークフローが劇的にシンプルになります。
開発環境のセットアップ
MCPサーバーはNode.js(TypeScript)またはPythonで実装できます。Node.jsを選ぶ場合はnpm install @modelcontextprotocol/sdkでSDKをインストールするだけで始められます。最小限のMCPサーバーは50行程度のコードで書けます。
プロジェクト構成はシンプルです。src/index.tsにサーバーのエントリーポイントを置き、package.jsonのscriptsに"build": "tsc"と"start": "node dist/index.js"を追加します。TypeScriptの設定はmoduleResolution: "node16"にしておくとSDKとの相性が良くなります。
最初のToolを実装する
MCPサーバーの中心的な概念は「Tool」です。Toolは関数名・説明文・入力スキーマ・実行ロジックの4要素で構成されます。たとえば社内の在庫データベースを検索するToolを作る場合、search_inventoryという名前でJSON Schemaで入力を定義し、実際のDBクエリを実装します。
Claude CodeにMCPサーバーのパスを登録すると、会話中に「在庫を確認して」と入力するだけでAIが自動的にそのToolを呼び出してくれます。デバッグはclaude mcp inspectorコマンドで可視化でき、どのパラメーターが渡されているかを確認しながら開発を進められます。
本番運用に向けた仕上げ
ローカル動作を確認したら、エラーハンドリングとログ出力を整備します。MCPはJSONRPCベースなので、例外が発生した場合はエラーレスポンスを適切に返すことが重要です。また、認証が必要なAPIにアクセスする場合は環境変数でシークレットを管理し、コードにハードコードしないよう注意してください。チームで共有する際は、Toolの説明文をできるだけ具体的に書いておくと、AIがToolの選択を正確に行えるようになります。