TypeScriptでMCPサーバーを作る方法

MCPサーバーの作り方

TypeScriptでMCPサーバーを作る方法(SDK v2) | We.Inc

公式TypeScript SDK v2で動くMCPサーバーを作ります。インストール、Zodスキーマを使ったツールの登録、stdioでの接続、MCP Inspectorでのテストまで解説します。

公式パッケージ@modelcontextprotocol/serverとZodをインストールし、名前とバージョンを指定してMcpServerを作成します。各ツールはregisterToolで、説明とZodの入力スキーマを付けて登録し、StdioServerTransportを接続します。AIアプリケーションに触らせる前に、npx @modelcontextprotocol/inspectorを実行して、ツールを手動で呼び出してみましょう。

必要な部品

進めながら各ステップにチェックを入れてください。チェックリストが進捗を記録し、各ステップには必要なコマンドやファイルがそのまま載っています。完成したサーバーは小さなメモの一覧を検索します。データベースなしで、すべての構成要素を確認するには十分です。

よくある質問

どのnpmパッケージをインストールすればよいですか?

SDKバージョン2では、サーバーには@modelcontextprotocol/serverを、クライアントには@modelcontextprotocol/clientをインストールします。古いv1のパッケージ@modelcontextprotocol/sdkはv1.xブランチで維持され、v2リリース後も少なくとも6か月間はバグとセキュリティの修正が提供されます。

Zodは必要ですか?

v2のREADMEでは入力スキーマにZod v4を使い、zod/v4からimportしています。また、ValibotやArkTypeなど他のStandard Schemaライブラリも使えると書かれています。選んだものをSDKと一緒にインストールしてください。

サーバーはBunやDenoで動きますか?

SDKのREADMEによると、Node.js、Bun、Denoで動作します。Inspectorは別のNodeツールで、そのREADMEではNode 22.19.0以降が必要とされています。

サーバーをリモートから使えるようにするには?

stdioトランスポートをStreamable HTTPに替え、到達可能な場所でプロセスをホストします。URLに到達できる人なら誰でもリクエストを送れるため、データを変更するツールを公開する前に認証を追加しましょう。

AIアプリケーションがツールを理解できるかどうか、どうすればわかりますか?

プロジェクトについて何も知らないつもりで、説明とスキーマを読んでみてください。初めて見る人が、いつツールを呼び出し何を渡せばよいか判断できないなら、モデルも推測することになります。Inspectorは、ホストに見える内容をそのまま表示します。

まずstdioから始める理由

ハンドラーの応答を設計する

完成したサーバー

ファイルは2つです。notes配列は、サーバーに検索させたい内容に置き換えてください。

type moduleによりESのimport構文がそのまま動きます。startスクリプトはtsxを使うため、ビルド手順を省けます。

Zodスキーマ付きのツール1つ、普通の検索関数、stdio接続で構成されています。ログはstderrに出力されるため、プロトコルのメッセージと混ざりません。

Inspectorでテストする

Inspectorには3つのモードがあります。最初に使うならWeb UIが最も簡単で、CLIモードはスクリプトやCIに向いています。

Inspectorのモード

Web UIでは、サーバーを起動するコマンド(npx tsx server.ts)で接続し、ツールの一覧を開きます。

SDK、Zod、TypeScriptの実行ツールをインストールする

ツールを1つ持つserver.tsを書く

一度サーバーを起動し、クラッシュしないことを確認する

Inspectorを開き、サーバーに接続する

ツールを一覧表示し、notes_searchを手動で呼び出す

作成チェックリスト

{v}ステップ中{n}ステップ完了

チェックを外す

コマンドをコピー

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る