OpenRouter MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides a type-safe interface for accessing and interacting with OpenRouter.ai's diverse model ecosystem

OpenRouter MCP サーバー

OpenRouter.aiの多様なモデルエコシステムとのシームレスな統合を実現するモデルコンテキストプロトコル(MCP)サーバー。キャッシュ、レート制限、エラー処理を内蔵した統合型セーフインターフェースを通じて、様々なAIモデルにアクセスできます。

特徴

  • モデルアクセス
    • すべてのOpenRouter.aiモデルへの直接アクセス
    • 自動モデル検証と機能チェック
    • デフォルトのモデル構成のサポート
  • パフォーマンスの最適化
    • スマートモデル情報のキャッシュ(1時間で有効期限切れ)
    • 自動レート制限管理
    • 失敗したリクエストに対する指数バックオフ
  • 統一応答形式
    • すべてのレスポンスに一貫したToolResult構造
    • isErrorフラグでエラー識別をクリアする
    • コンテキスト付きの構造化されたエラーメッセージ

インストール

pnpm install @mcpservers/openrouterai

構成

前提条件

  1. OpenRouter KeysからOpenRouter APIキーを取得します。
  2. デフォルトモデルを選択する(オプション)

環境変数

OPENROUTER_API_KEY=your-api-key-here OPENROUTER_DEFAULT_MODEL=optional-default-model

設定

MCP 設定構成ファイル ( cline_mcp_settings.jsonまたはclaude_desktop_config.json ) に追加します。

{ "mcpServers": { "openrouterai": { "command": "npx", "args": ["@mcpservers/openrouterai"], "env": { "OPENROUTER_API_KEY": "your-api-key-here", "OPENROUTER_DEFAULT_MODEL": "optional-default-model" } } } }

応答フォーマット

すべてのツールは、標準化された構造で応答を返します。

interface ToolResult { isError: boolean; content: Array<{ type: "text"; text: string; // JSON string or error message }>; }

成功例:

{ "isError": false, "content": [{ "type": "text", "text": "{\"id\": \"gen-123\", ...}" }] }

エラー例:

{ "isError": true, "content": [{ "type": "text", "text": "Error: Model validation failed - 'invalid-model' not found" }] }

利用可能なツール

チャット完了

OpenRouter.ai モデルにメッセージを送信します。

interface ChatCompletionRequest { model?: string; messages: Array<{role: "user"|"system"|"assistant", content: string}>; temperature?: number; // 0-2 } // Response: ToolResult with chat completion data or error

検索モデル

利用可能なモデルを検索してフィルタリングします:

interface ModelSearchRequest { query?: string; provider?: string; minContextLength?: number; capabilities?: { functions?: boolean; vision?: boolean; }; } // Response: ToolResult with model list or error

モデル情報を取得する

特定のモデルに関する詳細情報を取得します。

{ model: string; // Model identifier }

検証モデル

モデル ID が有効かどうかを確認します。

interface ModelValidationRequest { model: string; } // Response: // Success: { isError: false, valid: true } // Error: { isError: true, error: "Model not found" }

エラー処理

サーバーは、コンテキスト情報を含む構造化されたエラーを提供します。

// Error response structure { isError: true, content: [{ type: "text", text: "Error: [Category] - Detailed message" }] }

一般的なエラー カテゴリ:

  • Validation Error : 入力パラメータが無効です
  • API Error : OpenRouter API通信の問題
  • Rate Limit : リクエストスロットリング検出
  • Internal Error : サーバー側の処理エラー

応答の処理:

async function handleResponse(result: ToolResult) { if (result.isError) { const errorMessage = result.content[0].text; if (errorMessage.startsWith('Error: Rate Limit')) { // Handle rate limiting } // Other error handling } else { const data = JSON.parse(result.content[0].text); // Process successful response } }

発達

詳細については、 CONTRIBUTING.md を参照してください。

  • 開発セットアップ
  • プロジェクト構造
  • 機能実装
  • エラー処理ガイドライン
  • ツールの使用例
# Install dependencies pnpm install # Build project pnpm run build # Run tests pnpm test

変更履歴

以下の内容を含む最近の更新については、 CHANGELOG.md を参照してください。

  • 統一された応答形式の実装
  • 強化されたエラー処理システム
  • 型安全なインターフェースの改善

ライセンス

このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

OpenRouter.ai との統合を提供し、統一されたインターフェースを通じてさまざまな AI モデルにアクセスできるようになります。

  1. Features
    1. Installation
      1. Configuration
        1. Prerequisites
        2. Environment Variables
        3. Setup
      2. Response Format
        1. Available Tools
          1. chat_completion
          2. search_models
          3. get_model_info
          4. validate_model
        2. Error Handling
          1. Development
            1. Changelog
              1. License
                ID: xdnmf8yei0