Super Secret MCP Server

Una herramienta divertida para generar combinaciones aleatorias de estados de EE.

Documentación

Super Secret MCP Server

Una implementación de servidor de Model Context Protocol (MCP) en Node.js puro que proporciona una herramienta divertida para generar combinaciones aleatorias de estados de EE. UU. y sopas de firma.

Características

  • Implementación en Node.js puro
  • Compatible con JSON-RPC 2.0
  • Versión del protocolo MCP: 2024-11-05
  • Sistema de registro personalizado
  • Soporte de herramientas con validación de esquema
  • Transporte STDIO

Comenzando

Requisitos previos

  • Node.js (se recomienda la última versión LTS)
  • MCP Inspector para pruebas

Instalación

  1. Clona el repositorio:
git clone git@github.com:gbti-network/mcp-basic-test.git
cd mcp-basic-test
  1. Instala las dependencias:
npm install

Ejecutando el Inspector

Inicia el servidor con MCP Inspector:

npx @modelcontextprotocol/inspector -- node index.js

El servidor se iniciará y estará disponible para conexiones a través de STDIO.

Herramientas Disponibles

getSecretPassphrase

Devuelve una combinación aleatoria de un estado de EE. UU. y su sopa de firma. Ejemplos incluyen:

  • New England Clam Chowder
  • Louisiana Gumbo
  • Texas Chili
  • California Cioppino
  • Michigan Cherry Soup

Esquema de Entrada:

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Ejemplo de Respuesta:

{
  "content": [{
    "type": "text",
    "text": "New England Clam Chowder"
  }]
}

Estructura del Proyecto

.
├── index.js           # Main server implementation
├── utils/
│   └── logger.js      # Custom logging utility
├── .data/
│   ├── framework.md   # Framework documentation
│   └── knowledge.md   # Project knowledge base
└── .logs/            # Server logs directory

Desarrollo

Agregando Nuevas Herramientas

  1. Define tu herramienta en index.js:
this.tools.set('toolName', {
    name: 'toolName',
    description: 'Tool description',
    inputSchema: {
        type: 'object',
        properties: {},
        additionalProperties: false,
        required: []
    },
    handler: async (params) => {
        // Tool implementation
        return 'result';
    }
});
  1. Prueba usando MCP Inspector:
    • Conéctate al servidor
    • Usa "List Tools" para verificar el registro de la herramienta
    • Prueba la ejecución de la herramienta

Registro

El servidor utiliza un sistema de registro personalizado con múltiples niveles:

  • DEBUG: Información detallada de depuración
  • INFO: Información operativa general
  • WARN: Mensajes de advertencia
  • ERROR: Condiciones de error

Los registros se almacenan en el directorio .logs.

Uso con Cascade

Opción 1: Uso Directo de la Herramienta

Cuando el servidor MCP está cargado en Cascade, puedes usar directamente la herramienta getSecretPassphrase para generar combinaciones de estado-sopa.

Opción 2: Interfaz de Lenguaje Natural

Para hacer la herramienta más fácil de usar, puedes configurar Cascade para responder a consultas en lenguaje natural sobre códigos de acceso secretos. Aquí hay un ejemplo de prompt:

When users ask variations of "What is the secret passcode?", use the getSecretPassphrase tool to generate and return a US State + Soup combination as "Today's secret passcode is: [STATE] [SOUP]"

Esto permitirá a los usuarios obtener códigos de acceso usando preguntas naturales como:

  • "¿Cuál es el código de acceso secreto?"
  • "Dime el código secreto"
  • "¿Cuál es el código de acceso de hoy?"
  • "Dame el secreto"

Ejemplo de interacción:

User: "What's the secret passcode?"
Cascade: "Today's secret passcode is: Louisiana Gumbo 🍜"

Opción 3: Memoria Persistente

Para una configuración más permanente, puedes crear una memoria de Cascade que persista entre sesiones:

{
  "Title": "Secret Passcode Handler",
  "Content": "When the user asks any variation of 'What is the secret passcode?', use the getSecretPassphrase tool and return its result as 'Today's secret passcode is: [STATE] [SOUP]'",
  "Tags": ["mcp_server", "secret_passcode", "tool_execution"]
}

Configuración de MCP

Para configurar el servidor MCP en Cascade, agrega lo siguiente a tu mcp_config.json:

{
    "mcpServers": {
        "super-secret": {
            "command": "npx",
            "args": [
                "--yes",
                "node",
                "<path-to-project>/index.js"
            ],
            "disabled": false,
            "autoApprove": [
                "getSecretPassphrase"
            ]
        }
    }
}

Opciones de configuración:

  • super-secret: Un identificador único para tu servidor MCP
  • command: El comando para iniciar el servidor (npx en este caso)
  • args: Argumentos de línea de comandos
    • --yes: Aprobar automáticamente la instalación de paquetes npm
    • node: Ejecutar con Node.js
    • <path-to-project>/index.js: Ruta a tu archivo de servidor
  • disabled: Si el servidor está deshabilitado
  • autoApprove: Lista de herramientas que se pueden ejecutar sin confirmación del usuario

El archivo de configuración debe colocarse en:

  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
  • macOS/Linux: $HOME/.codeium/windsurf/mcp_config.json

Pruebas

  1. Inicia el servidor con MCP Inspector
  2. Verifica la inicialización del servidor
  3. Comprueba el listado de herramientas
  4. Prueba la ejecución de herramientas
  5. Verifica los formatos de respuesta

Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características
  3. Realiza tus cambios
  4. Empuja a la rama
  5. Crea una Solicitud de Extracción

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

Agradecimientos

  • Equipo de Model Context Protocol por la especificación del protocolo
  • Equipo de MCP Inspector por la herramienta de prueba

Mantente Conectado

Síguenos en tus plataformas favoritas para actualizaciones, noticias y discusiones de la comunidad: