MCP Conversation Server

Servidor de conversaciones MCP

Implementación de un servidor de Protocolo de Contexto de Modelo (MCP) para gestionar conversaciones con los modelos de lenguaje de OpenRouter. Este servidor proporciona una interfaz estandarizada para que las aplicaciones interactúen con diversos modelos de lenguaje mediante un sistema unificado de gestión de conversaciones.

Características

  • Compatibilidad con el protocolo MCP
    • Cumplimiento total del protocolo MCP
    • Gestión y descubrimiento de recursos
    • Modelo de interacción basado en herramientas
    • Soporte de respuesta en streaming
    • Manejo y recuperación de errores
  • Integración con OpenRouter
    • Compatibilidad con todos los modelos de OpenRouter
    • Respuestas de transmisión en tiempo real
    • Conteo automático de tokens
    • Gestión de ventanas de contexto del modelo
    • Los modelos disponibles incluyen:
      • Claude 3 Opus
      • Soneto Claude 3
      • Llama 2 70B
      • Y muchos más del catálogo de OpenRouter
  • Gestión de conversaciones
    • Crear y gestionar múltiples conversaciones
    • Soporte para mensajes del sistema
    • Seguimiento del historial de mensajes
    • Monitoreo del uso de tokens
    • Filtrado y búsqueda de conversaciones
  • Soporte de transmisión
    • Transmisión de mensajes en tiempo real
    • Manejo de respuestas fragmentadas
    • Conteo de fichas
  • Persistencia del sistema de archivos
    • Persistencia del estado de la conversación
    • Ubicación de almacenamiento configurable
    • Gestión automática del estado

Instalación

npm install mcp-conversation-server

Configuración

Configuración

Toda la configuración del servidor de conversaciones MCP ahora se proporciona mediante YAML. Actualice el archivo config/models.yaml con su configuración. Por ejemplo:

# 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'

Configuración del servidor

El servidor de conversaciones MCP ahora carga toda su configuración desde el archivo YAML. En su aplicación, puede cargar la configuración de la siguiente manera:

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

Nota: Las variables de entorno ya no son necesarias ya que toda la configuración se proporciona a través del archivo YAML.

Uso

Configuración básica del servidor

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

Herramientas disponibles

El servidor expone varias herramientas MCP:

  1. crear conversación
    { provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title }
  2. enviar mensaje
    { conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses }
  3. listas de conversaciones
    { filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }

Recursos

El servidor proporciona acceso a varios recursos:

  1. conversación://{id}
    • Acceder a detalles específicos de la conversación
    • Ver historial de mensajes
    • Comprobar metadatos de la conversación
  2. conversación://lista
    • Listar todas las conversaciones activas
    • Filtrar conversaciones por criterios
    • Ordenar por actividad reciente

Desarrollo

Edificio

npm run build

Ejecución de pruebas

npm test

Depuración

El servidor proporciona varias funciones de depuración:

  1. Registro de errores
    • Todos los errores se registran con seguimientos de pila.
    • Seguimiento del uso de tokens
    • Monitoreo del límite de velocidad
  2. Inspector de MCP
    npm run inspector
    Utilice el Inspector MCP para:
    • Ejecución de la herramienta de prueba
    • Ver el contenido del recurso
    • Monitorear el flujo de mensajes
    • Validar el cumplimiento del protocolo
  3. Validación del proveedor
    await server.providerManager.validateProviders();
    Valida:
    • Validez de la clave API
    • Disponibilidad del modelo
    • Estado del límite de velocidad

Solución de problemas

Problemas comunes y soluciones:

  1. Problemas de conexión de OpenRouter
    • Verifique que su clave API sea válida
    • Consulte los límites de velocidad en el panel de control de OpenRouter
    • Asegúrese de que el ID del modelo sea correcto
    • Monitorear el uso del crédito
  2. Errores de transmisión de mensajes
    • Verificar la compatibilidad con la transmisión de modelos
    • Comprobar la estabilidad de la conexión
    • Monitorear los límites de tokens
    • Manejar la configuración del tiempo de espera
  3. Errores del sistema de archivos
    • Comprobar los permisos del directorio
    • Verificar la configuración de la ruta
    • Monitorizar el espacio en disco
    • Gestionar acceso concurrente

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Licencia ISC

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

Una implementación de servidor de protocolo de contexto de modelo que proporciona una interfaz estandarizada para que las aplicaciones interactúen con los modelos de lenguaje de OpenRouter a través de un sistema unificado de gestión de conversaciones.

  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