mcpField
S
Simple MCP Client with LangGraph Agent

Simple MCP Client with LangGraph Agent

ローカル
github.com/simozampaAI・エージェント178 週間前に更新

Simple MCP Client with LangGraph Agent について

TypeScript と Express.js で構築されたチャットサービスで、LangGraph エージェントが複数の MCP サーバーのツールを利用します。MCP ツールを使ったストリーミング応答が必要なアプリケーション向けです。

主な機能

  1. 01LangGraph による対話エージェント
  2. 02複数の MCP サーバーに接続
  3. 03対話中に MCP ツールを利用
  4. 04チャット応答のストリーミング
  5. 05TypeScript の Express.js API

活用シーン

  1. 01エージェントを使ったチャット API の構築
  2. 021 つの対話で複数 MCP サーバーのツールを利用

MCP 対応

リクエストで指定された MCP サーバーに接続し、利用可能なツールを取得して LangGraph エージェントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

LangGraph エージェントを使用したシンプルな MCP クライアント

Express.js と TypeScript を使用し、LangGraph エージェントで複数の MCP サーバーに対応する軽量な MCP(Model Context Protocol)クライアントを実装します。

特長

  • TypeScript を使用した Express.js サーバー
  • 会話を処理する LangGraph エージェント
  • ツール連携用の MCP クライアント
  • ストリーミング応答

セットアップ

  1. リポジトリをクローンします
  2. 依存関係をインストールします: npm install
  3. 次の変数を含む .env ファイルを作成します:
    PORT=3000
    NODE_ENV=development
    CORS_ORIGIN=*
    ANTHROPIC_API_KEY=your_anthropic_api_key
    
  4. サーバーをビルドして起動します: npm run buildnpm start

API エンドポイント

チャットの初期化
GET /api/chat/init
チャットの生成
POST /api/chat

リクエストボディ:

{
  "input": "Hello, how can you help me?",
  "characterId": "character_123",
  "llmConfig": {
    "model": "claude-3-opus-20240229",
    "verbose": true
  },
  "chatHistory": [],
  "mcpServers": [
    {
      "name": "weather-service",
      "version": "1.0",
      "url": "https://example-mcp-server.com",
      "key": "optional_api_key"
    }
  ]
}
チャットの終了
GET /api/chat/close

MCP 連携

サーバーはリクエストで指定された MCP サーバーに接続し、LangGraph エージェントが使用できる利用可能なツールを取得します。

開発

自動リロードを有効にして開発サーバーを実行します:

npm run dev

使用例

// Send a message and stream the response
const response = await fetch("/api/chat", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    input: "What's the weather in New York?",
    characterId: "agent1",
    chatHistory: [],
    mcpServers: [
      {
        name: "weather-service",
        version: "1.0",
        url: "https://my-mcp-server.com",
      },
    ],
  }),
});

// Read the streaming response
const reader = response.body.getReader();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  const text = new TextDecoder().decode(value);
  const events = text.split("\n\n").filter(Boolean);
  for (const event of events) {
    const data = JSON.parse(event);
    console.log(data);
  }
}

コメント

MCP は初めてですか?

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

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