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
ToolResultconsistente para todas las respuestasIdentificación clara de errores con el indicador
isErrorMensajes de error estructurados con contexto
Related MCP server: MindBridge MCP Server
Instalación
pnpm install @mcpservers/openrouteraiConfiguración
Prerrequisitos
Obtenga su clave API de OpenRouter de OpenRouter Keys
Elija un modelo predeterminado (opcional)
Variables de entorno
OPENROUTER_API_KEY=your-api-key-here
OPENROUTER_DEFAULT_MODEL=optional-default-modelConfiguració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 errormodelos 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 errorobtener_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álidosAPI Error: Problemas de comunicación de la API de OpenRouterRate Limit: detección de limitación de solicitudesInternal 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 testRegistro 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.