mcpField
M
MCP Test Server

MCP Test Server

ローカル
github.com/nabadeep25開発ツール074 週間前に更新

MCP Test Server について

テストとデモ向けの TypeScript・Express.js 製 MCP サーバーです。Streamable HTTP 経由で BMI 計算、天気検索、エコーのツールを提供し、環境変数で設定できます。

主な機能

  1. 01BMI 計算ツール
  2. 02都市の天気検索
  3. 03メッセージのエコーツール
  4. 04Streamable HTTP トランスポート
  5. 05環境変数による設定

活用シーン

  1. 01サンプル機能で MCP ツール呼び出しをテスト
  2. 02Streamable HTTP MCP サーバーのデモ
  3. 03API キーを使った天気検索の試用

MCP 対応

`/mcp` エンドポイントの Streamable HTTP 経由で、BMI、天気、エコーのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Test Server

テストとデモを目的とした、複数のツールを備えたModel Context Protocol(MCP)サーバーの実装です。

概要

このサーバーでは、主に次の3つのツールを利用できます。

  • BMI Calculator:体重と身長からBMIを計算します
  • Weather Service:任意の都市の気象情報を取得します(APIキーに対応)
  • Echo Tool:テスト用のシンプルなエコー機能です

特長

  • TypeScriptとExpress.jsで構築
  • MCP用のストリーミング可能なHTTPトランスポート
  • 環境変数による設定
  • ホットリロードによる開発に対応
  • モジュール式のツールアーキテクチャ

前提条件

  • Node.js(v18以降)
  • npmまたはyarnのパッケージマネージャー

インストール

  1. このリポジトリをクローンまたはダウンロードします

  2. 依存関係をインストールします。

    npm install
    
  3. 環境変数のサンプルファイルをコピーします。

    cp .env.example .env
    
  4. (任意).envに気象APIキーを追加します。

    WEATHER_API_KEY=your_openweathermap_api_key_here
    

ビルドと実行

開発モード
# Build and start with hot reload
npm run dev
本番モード
# Build the project
npm run build

# Start the server
npm start

サーバーはhttp://localhost:3000(またはPORT環境変数で指定したポート)で起動します。

APIエンドポイント

MCPサーバーには次のエンドポイントからアクセスできます。

POST http://localhost:3000/mcp

利用可能なツール

1. BMI Calculator(calculate-bmi)

体重と身長からBMIを計算します。

パラメーター:

  • weightKg(数値):体重(キログラム)
  • heightM(数値):身長(メートル)
2. Weather Service(get-weather)

都市の現在の気象情報を取得します。

パラメーター:

  • city(文字列):都市名
  • country(文字列、任意):国コード(例:"IN"、"US")
3. Echo Tool(echo)

テスト用のシンプルなエコー機能です。

パラメーター:

  • message(文字列):エコーとして返すメッセージ

サーバーのテスト

MCP Inspectorを使用する

MCPサーバーをテストするためのGUIインターフェースを利用するには:

  1. サーバーを起動します。

    npm start
    
  2. 別のターミナルでMCP Inspectorを実行します。

    npm run inspector
    
VS Codeとの連携

MCPに対応したVS Codeを使用している場合は、このサーバーを設定に追加します。

{
  "mcp": {
    "servers": {
      "mcp-test-server": {
        "url": "http://localhost:3000/mcp"
      }
    }
  }
}

プロジェクト構成

├── src/
│   ├── index.ts          # Main server file
│   └── tools/            # Tool implementations
│       ├── bmi.ts        # BMI calculator tool
│       ├── weather.ts    # Weather service tool
│       └── echo.ts       # Echo tool
├── build/                # Compiled JavaScript files
├── package.json          # Project configuration
├── tsconfig.json         # TypeScript configuration
├── .env.example          # Environment variables example
└── README.md             # This file

開発

新しいツールの追加
  1. src/tools/に新しいツールファイルを作成します。

    import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
    import { z } from 'zod';
    
    export const myTool = {
      name: 'my-tool',
      schema: {
        param1: z.string(),
        param2: z.number(),
      },
      handler: async ({ param1, param2 }: { param1: string; param2: number }): Promise<CallToolResult> => {
        return {
          content: [
            {
              type: 'text',
              text: `Result: ${param1} - ${param2}`,
            },
          ],
        };
      },
    };
    
  2. src/index.tsでインポートして登録します。

    import { myTool } from './tools/my-tool.js';
    
    // In the getServer() function:
    server.tool(
      myTool.name,
      'Description of my tool',
      myTool.schema,
      myTool.handler
    );
    
利用可能なスクリプト
  • npm run build - TypeScriptをJavaScriptにコンパイルします
  • npm run watch - 変更を監視して再コンパイルします
  • npm run dev - ホットリロード対応の開発モードで起動します
  • npm start - コンパイル済みのサーバーを起動します
  • npm run inspector - MCP Inspectorを起動します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。