MCP Server-Client Example について
MCP Server-Client Exampleは、基本的なMCPサーバーとクライアントを学ぶためのTypeScript SDKの例です。stdio通信とリソースの一覧取得、読み取りを示します。
主な機能
- 01TypeScript製MCPサーバーとクライアント
- 02stdioトランスポートでの接続
- 03利用可能なリソースの一覧取得
- 04リソース内容の読み取り
- 05不明なリソースのエラー処理
活用シーン
- 01基本的なMCPサーバーとクライアントの通信学習
- 02リソースの一覧取得と読み取りのテスト
- 03リソース追加の出発点としての利用
MCP 対応
テキストリソースを提供するMCPサーバーと、stdioで接続してリソースを一覧表示・読み取りするクライアントを含みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー・クライアントの例
このプロジェクトでは、TypeScript SDK を使用した Model Context Protocol(MCP)の基本的な実装を紹介します。stdio トランスポートを介して通信するサーバーとクライアントの両方の実装が含まれています。
概要
この例には、次の内容が含まれています。
- リソースへのアクセスを提供する MCP サーバー
- サーバーに接続してリソースを要求する MCP クライアント
- 基本的なリソースの一覧表示と読み取り機能
前提条件
- Node.js(v16 以降)
- npm
インストール
リポジトリをクローンし、依存関係をインストールします。
npm install
プロジェクト構成
src/
├── index.ts # Server implementation
└── client.ts # Client implementation
例の実行
サーバーとクライアントは、別々のターミナルウィンドウで実行する必要があります。
- サーバーを起動します。
npm run start:server
- 新しいターミナルで、クライアントを起動します。
npm run start:client
クライアントは次の処理を行います。
- サーバーに接続します
- 利用可能なリソースの一覧を要求します
- 例のリソースの内容を読み取ります
サーバーの機能
現在、サーバーは次の機能をサポートしています。
- リソースの一覧表示
- リソースの読み取り
- 不明なリソースに対する基本的なエラー処理
利用可能なリソース
このサーバーの例では、次のリソースにアクセスできます。
file:///example.txt:シンプルなテキストリソース
開発
スクリプト
npm run start:server:MCP サーバーを起動しますnpm run start:client:MCP クライアントを起動します
新しいリソースの追加
新しいリソースを追加するには、src/index.ts の ListResourcesRequestSchema ハンドラーを変更します。
server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "file:///example.txt",
name: "Example Resource",
},
// Add new resources here
],
};
});
依存関係
@modelcontextprotocol/sdk:MCP TypeScript SDKts-node:TypeScript 実行環境typescript:TypeScript コンパイラー
ライセンス
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。