Skip to main content
Glama

MCP Server Template

by stevennevins

MCP サーバー テンプレート

TypeScriptでモデルコンテキストプロトコル(MCP)サーバーを作成するためのテンプレートです。このテンプレートは、適切なツール、型安全性、そしてベストプラクティスを用いて、MCP互換サーバーを構築するための強固な基盤を提供します。

特徴

  • 🚀 TypeScriptの完全サポート
  • 🏗️ コンテナベースの依存性注入
  • 📦 DataProcessor インターフェースを使用したサービスベースのアーキテクチャ
  • 🛠️ テストを含むツール実装の例
  • 🧪 Vitest テストフレームワーク
  • 📝 型定義
  • 🔌 MCP SDK 統合

はじめる

発達

  1. 依存関係をインストールします:
    npm install
  2. ホット リロードで開発サーバーを起動します。
    npm run dev
  3. プロジェクトをビルドします。
    npm run build
  4. テストを実行します:
    npm test
  5. 本番サーバーを起動します。
    npm start

プロジェクト構造

src/ ├── index.ts # Entry point ├── interfaces/ # Interface definitions │ └── tool.ts # DataProcessor interface └── tools/ # Tool implementations └── example.ts # Example tool

ツールの作成

  1. src/tools/example.tsの例に従って、ツールとハンドラーをエクスポートします。
    // In your-tool.ts export const YOUR_TOOLS = [ { name: "your-tool-name", description: "Your tool description", parameters: { // Your tool parameters schema }, }, ]; export const YOUR_HANDLERS = { "your-tool-name": async (request) => { // Your tool handler implementation return { toolResult: { content: [{ type: "text", text: "Result" }], }, }; }, };
  2. src/index.tsALL_TOOLSおよびALL_HANDLERS定数にツールを登録します。
    // In src/index.ts import { YOUR_TOOLS, YOUR_HANDLERS } from "./tools/your-tool.js"; // Combine all tools const ALL_TOOLS = [...EXAMPLE_TOOLS, ...YOUR_TOOLS]; const ALL_HANDLERS = { ...EXAMPLE_HANDLERS, ...YOUR_HANDLERS };

サーバーは自動的に次の処理を実行します。

  • 利用可能なツールにツールをリストします
  • 入力検証を処理する
  • ツールへのリクエストを処理する
  • MCPプロトコルに従って応答をフォーマットする

テスト

テンプレートには、ローカル テスト用の組み込み TestClient と視覚的なデバッグ用の MCP Inspector が含まれています。

TestClientの使用

TestClient はツールをテストする簡単な方法を提供します。

import { TestClient } from "./utils/TestClient"; describe("YourTool", () => { const client = new TestClient(); it("should process data correctly", async () => { await client.assertToolCall( "your-tool-name", { input: "test" }, (result) => { expect(result.toolResult.content).toBeDefined(); } ); }); });

MCPインスペクターの使用

テンプレートには、ツールを視覚的にデバッグするための MCP インスペクターが含まれています。

  1. インスペクターを起動します。
    npx @modelcontextprotocol/inspector node dist/index.js
  2. http://localhost:5173でインスペクターUIを開きます。

検査官は以下を提供します:

  • テストツールのビジュアルインターフェース
  • リアルタイムのリクエスト/レスポンス監視
  • ツールメタデータ検査
  • インタラクティブなテスト環境

カーソルを使ったローカルテスト

Cursor を使用して MCP サーバーをローカルでテストするには:

  1. パッケージをビルドしてリンクします。
    npm run build npm run link
  2. バイナリが動作することを確認します。
    npx example-mcp-tool
  3. カーソルにサーバーを追加します。
    • カーソル設定を開く
    • 機能タブに移動します
    • MCPサーバーのセクションまでスクロールします
    • 「サーバーを追加」をクリックします
    • 「コマンド」タイプを選択
    • 名前を付けます(例:「ローカルサンプルツール」)
    • 次のコマンドを入力します: npx example-mcp-tool
    • 確認をクリック
  4. MCP サーバー セクションでサーバーが実行中であることが表示されていることを確認し、カーソルでサーバーが正しく起動していることを確認します。

注意: コードを変更した場合は、必ず再構築して再リンクしてください。

npm run build npm run link

テストが完了したら、パッケージのリンクを解除できます。

npm run unlink

これにより、開発中に作成されたグローバル シンボリック リンクが削除されます。

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

依存性注入やサービスベースのアーキテクチャなどの機能を備えたモデルコンテキストプロトコルサーバーを開発するための TypeScript ベースのテンプレートで、カスタムデータ処理ツールの作成と統合を容易にします。

  1. 特徴
    1. はじめる
      1. 発達
    2. プロジェクト構造
      1. ツールの作成
        1. テスト
          1. TestClientの使用
          2. MCPインスペクターの使用
          3. カーソルを使ったローカルテスト

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A production-ready template for creating Model Context Protocol servers with TypeScript, providing tools for efficient testing, development, and deployment.
          Last updated -
          1
          1
          12
          JavaScript
          MIT License
        • A
          security
          A
          license
          A
          quality
          A production-ready template for building Model Context Protocol servers in TypeScript, offering fast development with Bun, Biome linting, and automated version management.
          Last updated -
          1
          1
          JavaScript
          MIT License
        • A
          security
          F
          license
          A
          quality
          A template for creating Model Context Protocol (MCP) servers in TypeScript, offering features like container-based dependency injection, a service-based architecture, and integration with the LLM CLI for architectural design feedback through natural language.
          Last updated -
          1
          5
          TypeScript
        • A
          security
          A
          license
          A
          quality
          A TypeScript-based template for building Model Context Protocol servers, featuring fast testing, automated version management, and a clean structure for MCP tool implementations.
          Last updated -
          1
          1
          2
          TypeScript
          MIT License

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevennevins/mcp-server-template'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server