mcpField
T
TypeScript MCP Demo Server

TypeScript MCP Demo Server

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

TypeScript MCP Demo Server について

TypeScript MCP Demo Serverは、Bunで構築されたTypeScript製のMCPサーバー例です。サーバーツールを学ぶ開発者や試作向けに、挨拶と加算のツールをstdioで提供します。

主な機能

  1. 01Bunランタイム
  2. 02stdioトランスポート
  3. 03型安全なTypeScript実装
  4. 04greetとadd_numbersのサンプルツール
  5. 05MCP Inspectorによるデバッグ

活用シーン

  1. 01MCPサーバー初期化の学習
  2. 02TypeScriptツールの試作
  3. 03MCP Inspectorでの機能テスト

MCP 対応

stdio経由でMCPサーバーを実装し、クライアントが呼び出せるツールを登録します。サンプルツールは、指定ユーザーへの挨拶と2つの数値の加算です。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

TypeScript MCP デモサーバー

TypeScript SDK と Bun ランタイムを使用した、基本的な Model Context Protocol(MCP)サーバーの実装です。

概要

このプロジェクトでは、以下の機能を備えた TypeScript による MCP サーバーの構築方法を紹介します。

  • stdio トランスポートによるサーバーの初期化
  • ツールの登録と処理
  • TypeScript の型安全性
  • 高速な実行を実現する Bun ランタイム

前提条件

  • Bun(最新バージョン)
  • Task(任意。タスクランナーとして使用)

インストール

# Clone the repository
git clone https://github.com/gedankrayze/ts-demo-mcp.git
cd ts-demo-mcp

# Install dependencies
bun install

プロジェクト構成

ts-demo-mcp/
├── src/
│   └── index.ts        # Main MCP server implementation
├── package.json        # Project dependencies and scripts
├── tsconfig.json       # TypeScript configuration
├── Taskfile.yaml       # Task runner configuration
└── README.md          # This file

利用可能なツール

このサーバーには、2 つのツールの例が実装されています。

1. greet

ユーザーの名前を使って挨拶します。

入力スキーマ:

{
  "name": "string"  // Required: The name of the person to greet
}

応答例:

Hello, John! Welcome to the TypeScript MCP demo server.
2. add_numbers

2 つの数値を足します。

入力スキーマ:

{
  "a": "number",  // Required: The first number
  "b": "number"   // Required: The second number
}

応答例:

The sum of 5 and 3 is 8.

使用方法

npm/bun スクリプトを使用する場合
# Start the MCP server
bun start

# Run TypeScript type checking
bun typecheck
Task ランナーを使用する場合
# Start the MCP server
task start

# Inspect server capabilities with MCP inspector
task inspect-server

# Send a raw initialization request
task inspect

Claude Desktop との連携

このサーバーを Claude Desktop で使用するには、以下を Claude Desktop の設定に追加します。

{
  "mcpServers": {
    "ts-demo-mcp": {
      "command": "bun",
      "args": ["run", "/path/to/ts-demo-mcp/src/index.ts"]
    }
  }
}

開発

新しいツールの追加

サーバーに新しいツールを追加するには、以下の手順に従います。

  1. ListToolsRequestSchema ハンドラーのツールリストを更新します
  2. CallToolRequestSchema ハンドラーにツールの実装を追加します

例:

// In ListToolsRequestSchema handler
{
  name: "my_tool",
  description: "Description of what the tool does",
  inputSchema: {
    type: "object",
    properties: {
      param1: { type: "string", description: "Parameter description" }
    },
    required: ["param1"]
  }
}

// In CallToolRequestSchema handler
case "my_tool": {
  const param1 = request.params.arguments?.param1 as string;
  return {
    content: [{
      type: "text",
      text: `Tool output for ${param1}`
    }]
  };
}
型チェック

このプロジェクトでは、厳格モードを有効にした TypeScript を使用しています。次のコマンドで型チェックを実行します。

bun typecheck

MCP Inspector

このプロジェクトには、デバッグ用の MCP Inspector が含まれています。これを使って、サーバーの機能を確認できます。

task inspect-server

これにより、MCP サーバーをテストするためのインタラクティブな Web インターフェースが起動します。

ライセンス

このプロジェクトは公開されており、https://github.com/gedankrayze/ts-demo-mcp で利用できます。

リソース

コメント

MCP は初めてですか?

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

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