ChatGPTなどの生成AIを業務に活用しようとすると、「AIと複数のツールをどうつなげるか」 が課題になります。
ここで登場するのが MCP(Model Context Protocol) です!
MCPは、AIモデルとツールやアプリケーションが共通のルールで会話できるようにするための標準プロトコルです。
従来はツールごとにREST APIや独自SDKを用意する必要がありましたが、MCPを使うと「ツールごとにコードを書き換える手間がなくなる」ので、開発・保守が楽になります。
この記事では、最小限のサーバーを立ち上げて、サーバーに登録したツールを、MCPを使用して外部から実行するまでを、サンプルコード付きで解説します。
開発環境の準備
前提知識
-
Node.js(v22以上推奨)
-
JSONの基本理解
必要なツール
- Windows 11
- Node.js(v22以上推奨、インストール済)
- MCP SDK(JavaScript/TypeScript向けに提供)
- 任意のエディタ(VS Codeなど)
セットアップ
まずはプロジェクトを作成し、MCP SDKを導入します。
[PowerShell]
mkdir hello-mcp
cd hello-mcp
npm init -y
npm i @modelcontextprotocol/sdk zod
package.json
は、次の内容に書き換えます。
{
"name": "hello-mcp",
"version": "1.0.0",
"type": "module",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.17.3",
"zod": "^3.23.8"
}
}
これで準備完了です。
Hello MCP:最小サーバー実装
以下のサンプルコードは「入力テキストの頭にHelloをつけてそのまま返すハローツール」を実装したMCPサーバーです。index.jsとして保存します。
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// サーバー生成
const server = new McpServer({
name: "hello-mcp",
version: "1.0.0",
});
// 「hello」を返すツールを登録
server.registerTool(
"hello",
{
title: "Hello Tool",
description: "Return a Hello, World! greeting",
// ← SDKの推奨どおり、各フィールドを zod の型で定義(z.objectではなく“shape”)
inputSchema: {
name: z.string().optional().describe("Optional name to greet"),
},
},
// ツール本体:MCPの返り値は content: [{type:'text', text: ...}]
async ({ name }) => ({
content: [
{
type: "text",
text: `Hello, ${name ?? "World"}!`,
},
],
})
);
// STDIOトランスポートで起動(Inspectorや各クライアントから接続可能)
const transport = new StdioServerTransport();
await server.connect(transport);
MCP Inspector で試す
コマンドラインに下記を入力して実行します。
[PowerShell]
npx @modelcontextprotocol/inspector -- node index.js
すると、MCP InspectorのGUIがブラウザで立ち上がります。
GUIの操作手順
- ブラウザ上の左下の方のConnectをクリック
- 左右中央の上の方のList Toolsをクリック
- helloをクリック
- 右上のname欄に、適当なテキストを入力(例:Taro San)
- Run Toolをクリック
すると、Tool Result欄に下記のようなレスポンスが表示されます。
"Hello, Taro San!"
動作確認ができれば、Hello MCPの完成です。
まとめ
-
MCPはAIとツールをつなぐ標準プロトコル
-
最小のサーバー実装(Hello MCP)で、動作を試す
-
外部APIや社内システムと組み合わせることで、実用的なAIアプリ基盤になる
みなさんも動作を試してみてください。
今回は以上です。