MCP Conversation Server

MCP会話サーバー

OpenRouterの言語モデルとの会話を管理するためのモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーは、統一された会話管理システムを通じて、アプリケーションが様々な言語モデルと対話するための標準化されたインターフェースを提供します。

特徴

  • MCPプロトコルサポート
    • MCPプロトコルに完全準拠
    • リソース管理と発見
    • ツールベースのインタラクションモデル
    • ストリーミングレスポンスのサポート
    • エラー処理と回復
  • OpenRouter統合
    • すべてのOpenRouterモデルをサポート
    • リアルタイムストリーミング応答
    • 自動トークンカウント
    • モデルコンテキストウィンドウの管理
    • 利用可能なモデルは次のとおりです:
      • クロード3作品
      • クロード 3 ソネット
      • ラマ2 70B
      • OpenRouterのカタログからさらに多く
  • 会話管理
    • 複数の会話を作成および管理する
    • システムメッセージのサポート
    • メッセージ履歴の追跡
    • トークン使用状況の監視
    • 会話のフィルタリングと検索
  • ストリーミングサポート
    • リアルタイムメッセージストリーミング
    • チャンク化されたレスポンスの処理
    • トークンカウント
  • ファイルシステムの永続性
    • 会話状態の永続性
    • 設定可能な保存場所
    • 自動状態管理

インストール

npm install mcp-conversation-server

構成

構成

MCP Conversation Server のすべての設定は YAML で提供されるようになりましたconfig/models.yamlファイルを設定に合わせて更新してください。例:

# MCP Server Configuration openRouter: apiKey: "YOUR_OPENROUTER_API_KEY" # Replace with your actual OpenRouter API key. persistence: path: "./conversations" # Directory for storing conversation data. models: # Define your models here 'provider/model-name': id: 'provider/model-name' contextWindow: 123456 streaming: true temperature: 0.7 description: 'Model description' # Default model to use if none specified defaultModel: 'provider/model-name'

サーバー構成

MCP Conversation Server はすべての設定を YAML ファイルから読み込むようになりました。アプリケーションでは、以下のように設定を読み込むことができます。

const config = await loadModelsConfig(); // Loads openRouter, persistence, models, and defaultModel settings from 'config/models.yaml'

注: すべての構成は YAML ファイルを介して提供されるため、環境変数は不要になりました。

使用法

基本的なサーバー設定

import { ConversationServer } from 'mcp-conversation-server'; const server = new ConversationServer(config); server.run().catch(console.error);

利用可能なツール

サーバーはいくつかの MCP ツールを公開します。

  1. 会話を作成する
    { provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title }
  2. メッセージを送信
    { conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses }
  3. 会話リスト
    { filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }

リソース

サーバーはいくつかのリソースへのアクセスを提供します:

  1. 会話://{id}
    • 特定の会話の詳細にアクセスする
    • メッセージ履歴を表示する
    • 会話のメタデータを確認する
  2. 会話://リスト
    • すべてのアクティブな会話を一覧表示する
    • 基準で会話をフィルタリングする
    • 最近のアクティビティで並べ替え

発達

建物

npm run build

テストの実行

npm test

デバッグ

サーバーはいくつかのデバッグ機能を提供します。

  1. エラーログ
    • すべてのエラーはスタックトレースとともに記録されます
    • トークン使用状況の追跡
    • レート制限監視
  2. MCP検査官
    npm run inspector
    MCP インスペクターを使用すると次のことができます。
    • テストツールの実行
    • リソースの内容を表示
    • メッセージフローを監視する
    • プロトコルコンプライアンスの検証
  3. プロバイダー検証
    await server.providerManager.validateProviders();
    検証:
    • APIキーの有効性
    • モデルの入手可能性
    • レート制限ステータス

トラブルシューティング

よくある問題と解決策:

  1. OpenRouter接続の問題
    • APIキーが有効であることを確認してください
    • OpenRouterのダッシュボードでレート制限を確認する
    • モデルIDが正しいことを確認してください
    • クレジットの使用状況を監視する
  2. メッセージストリーミングエラー
    • モデルストリーミングのサポートを確認する
    • 接続の安定性を確認する
    • トークン制限を監視する
    • タイムアウト設定を処理する
  3. ファイルシステムエラー
    • ディレクトリの権限を確認する
    • パス構成を確認する
    • ディスク容量を監視する
    • 同時アクセスを処理する

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. ブランチにプッシュする
  5. プルリクエストを作成する

ライセンス

ISCライセンス

-
security - not tested
A
license - permissive license
-
quality - not tested

統合された会話管理システムを通じてアプリケーションが OpenRouter の言語モデルと対話するための標準化されたインターフェースを提供するモデル コンテキスト プロトコル サーバーの実装。

  1. Features
    1. Installation
      1. Configuration
        1. Configuration
        2. Server Configuration
      2. Usage
        1. Basic Server Setup
        2. Available Tools
        3. Resources
      3. Development
        1. Building
        2. Running Tests
        3. Debugging
        4. Troubleshooting
      4. Contributing
        1. License
          ID: 9z65bn8i2v