MCP Boilerplate

MIT License
1
2

Integrations

  • Allows loading environment variables from a .env file for server configuration, including port, API key, and host settings.

  • Provides development mode with automatic server restarting for a smoother development experience.

  • Enables production deployment with process management capabilities for improved stability and monitoring.

Texto estándar de MCP: Servidor de protocolo de contexto de modelo

Este servidor implementa el Protocolo de Contexto de Modelo (MCP) para uso global como código estándar. Proporciona una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas mediante dicho protocolo.

Características

  • Implementa el transporte de eventos enviados por el servidor (SSE) de MCP
  • Proporciona una estructura robusta para construir servidores MCP personalizados
  • Incluye herramientas de ejemplo con definiciones de tipos adecuadas
  • Autenticación segura con clave API
  • Capacidades de registro con diferentes niveles de gravedad
  • Gestión de sesiones para múltiples conexiones de clientes
  • Manejo elegante del apagado para señales SIGINT y SIGTERM

Herramientas

El servidor actualmente incluye la siguiente herramienta de ejemplo:

  • calculator : Realiza operaciones aritméticas básicas (sumar, restar, multiplicar, dividir)

Para obtener información sobre cómo agregar sus propias herramientas personalizadas, consulte la sección Ampliación del texto estándar .

Configuración

La configuración del servidor está centralizada en src/config.ts . Esto facilita el ajuste de la configuración sin modificar varios archivos.

// Essential configuration options export const config = { server: { name: "mcp-boilerplate", version: "1.0.0", port: parseInt(process.env.PORT || "4005"), host: process.env.HOST || "localhost", apiKey: process.env.API_KEY || "dev_key", }, sse: { // How often to send keepalive messages (in milliseconds) keepaliveInterval: 30000, // Whether to send ping events in addition to comments usePingEvents: true, // Initial connection message sendConnectedEvent: true, }, tools: { // Number of retries for failed tool executions maxRetries: 3, // Delay between retries (in milliseconds) retryDelay: 1000, // Whether to send notifications about tool execution status sendNotifications: true, }, logging: { // Default log level defaultLevel: "debug", // How often to send log messages (in milliseconds) logMessageInterval: 10000, }, };

Solución de problemas de tiempos de espera de SSE

Si experimenta un error de tiempo de espera del cuerpo con su conexión MCP:

  1. Disminuya keepaliveInterval para enviar mensajes de mantenimiento más frecuentes (por ejemplo, 15 000 ms)
  2. Asegúrese de que usePingEvents esté habilitado para una mayor estabilidad de la conexión
  3. Comprueba si hay tiempos de espera de proxy si estás usando un servidor proxy

Configuración

  1. Instalar dependencias:
npm install
  1. Crea un archivo .env con las siguientes variables:
PORT=4005 API_KEY=your_api_key
  1. Construir el proyecto:
npm run build
  1. Iniciar el servidor:
npm run start:sse

Desarrollo

# Start in development mode with hot reloading npm run start # Start with PM2 for production npm run start:pm2 # Development mode with nodemon npm run dev

Puntos finales de API

  • /health : Punto final de verificación de estado que devuelve el estado y la versión del servidor
  • /sse : punto final SSE para establecer conexiones MCP (requiere clave API)
  • /messages : Punto final de manejo de mensajes para la comunicación cliente-servidor

Configuración de MCP

Para conectar un MCP a este servidor, agregue la siguiente configuración:

{ "mcpServers": { "mcp-server": { "url": "http://localhost:4005/sse?API_KEY={{your_api_key_here}}" } } }

Ampliación del texto modelo

Agregar herramientas personalizadas

Siga estos pasos para agregar una nueva herramienta al servidor MCP:

  1. Crea tu manejador de herramientas :
    • Agregue su nuevo controlador de herramientas en el archivo src/tools.ts o cree un nuevo archivo en el directorio src/tools
    • La herramienta debe seguir la interfaz ToolHandler
  2. Configura tu herramienta :
    • Agregue la configuración de su herramienta a la matriz toolConfigs en src/tools.ts
    • Define el nombre, la descripción, el esquema de entrada y el controlador para tu herramienta
  3. Exporta y registra tu herramienta :
    • Si creó un archivo separado, exporte su controlador e impórtelo en src/tools.ts
    • Asegúrese de que su herramienta esté registrada correctamente en la matriz toolConfigs

Ejemplo:

// In src/tools.ts (adding directly to the toolConfigs array) { name: "myTool", description: "My tool description", inputSchema: { type: "object" as const, properties: {}, required: [], }, handler: async () => { return createSuccessResult({ result: "Tool result" }); }, }

Manejo de errores

El servidor implementa un manejo integral de errores:

  • Todas las operaciones están envueltas en bloques try/catch
  • Validación adecuada de parámetros y entradas
  • Mensajes de error apropiados para una mejor depuración
  • Funciones auxiliares para crear respuestas estandarizadas de errores y éxitos

Consideraciones de seguridad

  • Autenticación de clave API para todas las conexiones
  • Validación de tipos para todos los parámetros
  • Sin información confidencial codificada
  • Manejo adecuado de errores para evitar fugas de información
  • Gestión de transporte basada en sesiones

Características del protocolo MCP

Esta plantilla admite las funciones principales de MCP:

  • Herramientas: Enumere y llame herramientas con la validación de parámetros adecuada
  • Registro: varios niveles de gravedad (depuración, información, aviso, advertencia, error, crítico, alerta, emergencia)
  • Configuración del servidor: nombre, versión y capacidades

Gestión de sesiones

El servidor administra las sesiones de cliente a través de:

  • ID de sesión únicos para cada conexión de cliente
  • Seguimiento de transportes activos por ID de sesión
  • Limpieza automática de sesiones desconectadas
  • Seguimiento del estado de la conexión

Recursos adicionales

Licencia

Este proyecto está licenciado bajo la licencia MIT : consulte el archivo de LICENCIA para obtener más detalles.

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

Un servidor que implementa el Protocolo de Contexto de Modelo, proporcionando una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas.

  1. Características
    1. Herramientas
      1. Configuración
        1. Solución de problemas de tiempos de espera de SSE
      2. Configuración
        1. Desarrollo
          1. Puntos finales de API
            1. Configuración de MCP
              1. Ampliación del texto modelo
                1. Agregar herramientas personalizadas
              2. Manejo de errores
                1. Consideraciones de seguridad
                  1. Características del protocolo MCP
                    1. Gestión de sesiones
                      1. Recursos adicionales
                        1. Licencia

                          Related MCP Servers

                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
                            Last updated -
                            25
                            14
                            • Apple
                            • Linux
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.
                            Last updated -
                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.
                            Last updated -
                            4
                            28
                            TypeScript
                            • Linux
                            • Apple
                          • -
                            security
                            A
                            license
                            -
                            quality
                            A Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.
                            Last updated -
                            275
                            2
                            TypeScript
                            MIT License
                            • Apple

                          View all related MCP servers

                          ID: hvby5vclw6