【入門】MCPの導入方法とサンプルコード【Node.js】

  • 2025-08-17
  • 2025-08-17
  • AI
AI

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の操作手順

    1. ブラウザ上の左下の方のConnectをクリック
    2. 左右中央の上の方のList Toolsをクリック
    3. helloをクリック
    4. 右上のname欄に、適当なテキストを入力(例:Taro San)
    5. Run Toolをクリック

    すると、Tool Result欄に下記のようなレスポンスが表示されます。

    "Hello, Taro San!"

    動作確認ができれば、Hello MCPの完成です。


    まとめ

    • MCPはAIとツールをつなぐ標準プロトコル

    • 最小のサーバー実装(Hello MCP)で、動作を試す

    • 外部APIや社内システムと組み合わせることで、実用的なAIアプリ基盤になる

    みなさんも動作を試してみてください。
    今回は以上です。