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

Servidor MCP de OpenRouter

Un servidor de Protocolo de Contexto de Modelo (MCP) que se integra perfectamente con el diverso ecosistema de modelos de OpenRouter.ai. Acceda a diversos modelos de IA a través de una interfaz unificada con seguridad de tipos, almacenamiento en caché integrado, limitación de velocidad y gestión de errores.

Características

  • Acceso al modelo
    • Acceso directo a todos los modelos de OpenRouter.ai
    • Validación automática de modelos y verificación de capacidad
    • Compatibilidad con la configuración del modelo predeterminado
  • Optimización del rendimiento
    • Almacenamiento en caché de información del modelo inteligente (expiración de 1 hora)
    • Gestión automática del límite de velocidad
    • Retroceso exponencial para solicitudes fallidas
  • Formato de respuesta unificado
    • Estructura ToolResult consistente para todas las respuestas
    • Identificación clara de errores con el indicador isError
    • Mensajes de error estructurados con contexto

Instalación

pnpm install @mcpservers/openrouterai

Configuración

Prerrequisitos

  1. Obtenga su clave API de OpenRouter de OpenRouter Keys
  2. Elija un modelo predeterminado (opcional)

Variables de entorno

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

Configuración

Agregue a su archivo de configuración de MCP ( cline_mcp_settings.json o 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" } } } }

Formato de respuesta

Todas las herramientas devuelven respuestas en una estructura estandarizada:

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

Ejemplo de éxito:

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

Ejemplo de error:

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

Herramientas disponibles

finalización del chat

Enviar mensajes a los modelos de 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

modelos de búsqueda

Busca y filtra los modelos disponibles:

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

obtener_información_del_modelo

Obtenga información detallada sobre un modelo específico:

{ model: string; // Model identifier }

validar_modelo

Compruebe si un ID de modelo es válido:

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

Manejo de errores

El servidor proporciona errores estructurados con información contextual:

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

Categorías de errores comunes:

  • Validation Error : parámetros de entrada no válidos
  • API Error : Problemas de comunicación de la API de OpenRouter
  • Rate Limit : detección de limitación de solicitudes
  • Internal Error : errores de procesamiento del lado del servidor

Manejo de respuestas:

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 } }

Desarrollo

Consulte CONTRIBUTING.md para obtener información detallada sobre:

  • Configuración de desarrollo
  • Estructura del proyecto
  • Implementación de funciones
  • Pautas de manejo de errores
  • Ejemplos de uso de herramientas
# Install dependencies pnpm install # Build project pnpm run build # Run tests pnpm test

Registro de cambios

Consulte CHANGELOG.md para obtener actualizaciones recientes, incluidas:

  • Implementación del formato de respuesta unificado
  • Sistema mejorado de gestión de errores
  • Mejoras en la interfaz de tipos seguros

Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

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

Proporciona integración con OpenRouter.ai, lo que permite el acceso a varios modelos de IA a través de una interfaz unificada.

  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