Super Secret MCP Server
Servidor MCP súper secreto
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) en Node.js puro que proporciona una herramienta divertida para generar combinaciones aleatorias de firmas y estados de EE. UU.
Características
Implementación pura de Node.js
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 esquemas
Transporte STDIO
Related MCP server: Vercel MCP Python Server
Empezando
Prerrequisitos
Node.js (se recomienda la última versión LTS)
Inspector MCP para pruebas
Instalación
Clonar el repositorio:
git clone git@github.com:gbti-network/mcp-basic-test.git
cd mcp-basic-testInstalar dependencias:
npm installEjecución del Inspector
Inicie el servidor con MCP Inspector:
npx @modelcontextprotocol/inspector -- node index.jsEl servidor se iniciará y estará disponible para conexiones a través de STDIO.
Herramientas disponibles
obtenerFraseDeContraseñaSecreta
Devuelve una combinación aleatoria de un estado de EE. UU. y su sopa característica. Algunos ejemplos son:
Sopa de almejas de Nueva Inglaterra
Gumbo de Luisiana
Chili texano
Cioppino de California
Sopa de cerezas de Michigan
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 directoryDesarrollo
Agregar nuevas herramientas
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';
}
});Prueba usando MCP Inspector:
Conectarse al servidor
Utilice "Lista de herramientas" para verificar el registro de la herramienta
Ejecución de la herramienta de prueba
Explotación florestal
El servidor utiliza un sistema de registro personalizado con múltiples niveles:
DEBUG: Información detallada de depuración
INFO: Información operativa general
ADVERTENCIA: 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 se carga en Cascade, puede utilizar directamente la herramienta getSecretPassphrase para generar combinaciones de sopa de estados.
Opción 2: Interfaz de lenguaje natural
Para que la herramienta sea más intuitiva, puede configurar Cascade para que responda a consultas en lenguaje natural sobre códigos de acceso secretos. A continuación, se muestra un ejemplo:
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 mediante preguntas naturales como:
"¿Cuál es la contraseña secreta?"
"Dime el código secreto"
"¿Cuál es la contraseña 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, puede crear una memoria en cascada 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, agregue lo siguiente a su 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 su servidor MCPcommand: El comando para iniciar el servidor (npx en este caso)args: Argumentos de la línea de comandos--yes: Aprobar automáticamente la instalación del paquete npmnode: Ejecutar con Node.js<path-to-project>/index.js: Ruta a su archivo de servidor
disabled: si el servidor está deshabilitadoautoApprove: Lista de herramientas que se pueden ejecutar sin confirmación del usuario
El archivo de configuración debe ubicarse en:
Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.jsonmacOS/Linux:
$HOME/.codeium/windsurf/mcp_config.json
Pruebas
Inicie el servidor con MCP Inspector
Verificar la inicialización del servidor
Consultar lista de herramientas
Ejecución de la herramienta de prueba
Verificar formatos de respuesta
Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones
Confirme sus cambios
Empujar hacia la rama
Crear una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Expresiones de gratitud
Equipo de Protocolo de Contexto Modelo para la especificación del protocolo
Equipo de inspectores de MCP para la herramienta de pruebas
Mantente conectado
Síguenos en tus plataformas favoritas para obtener actualizaciones, noticias y debates de la comunidad:
Available Tools
1 toolgetSecretPassphraseD
Whats the password?
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral information beyond the implied retrieval action. With no annotations provided, the description carries the full burden of behavioral disclosure but fails to mention anything about authentication requirements, rate limits, side effects, error conditions, or what format the password is returned in. It doesn't even clarify if this retrieves a specific password or prompts for one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this is under-specification rather than effective conciseness. The description doesn't earn its place - it provides almost no useful information. Good conciseness balances brevity with information density, which this description completely fails to achieve.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that presumably retrieves sensitive authentication information, the description is completely inadequate. With no annotations, no output schema, and a tool name suggesting security implications, the description should provide critical context about what's being retrieved, security considerations, and usage constraints. Instead, it offers virtually no useful information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage (empty schema), so there are no parameters to document. The description doesn't need to compensate for any parameter documentation gaps. The baseline for zero parameters is 4, as there's nothing for the description to add regarding parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Whats the password?' is a tautology that essentially restates the tool name 'getSecretPassphrase' in question form. It doesn't specify what resource or system this password belongs to, what format the password is in, or what the tool actually does beyond the obvious implication of retrieving something. While it implies retrieval of a password, it lacks specificity about what kind of password or from where.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, what context it applies to, what prerequisites might be needed, or any alternatives. It's a simple question with no usage context whatsoever. With no sibling tools mentioned, there's no need to distinguish from alternatives, but the description still fails to provide any usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
getSecretPassphrase
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool's purpose is singular and clearly defined, so disambiguation is perfect.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The naming follows a clear verb_noun pattern (getSecretPassphrase).
One tool is too few for most server purposes, as it severely limits functionality and scope. This feels thin and incomplete, even for a simple server, unless it's intentionally minimalistic.
The server's purpose is unclear from the single tool, but a 'secret passphrase' domain would typically require more operations (e.g., set, update, list, delete). With only a get operation, the surface is severely incomplete and will likely cause agent failures.
Maintenance
Related MCP Connectors
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
An MCP server that provides congressional transcripts
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
One MCP server exposing every tool in the Gumball portfolio.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA beginner-friendly MCP-inspired JSON-RPC server built with Node.js, offering basic client-server interaction through an 'initialize' capabilities handshake and an 'echo' function.3MIT
- AlicenseNot gradedqualityDmaintenanceA serverless MCP server deployed on Vercel that provides basic utility tools including echo, time retrieval, arithmetic operations, and mock weather information. Includes an interactive client application for testing and demonstration purposes.MIT
- FlicenseNot gradedqualityDmaintenanceA modular MCP server that provides tools for looking up country and state information. Designed as a demonstration of building extensible MCP servers with custom tool modules.-
- FlicenseNot gradedqualityFmaintenanceA basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.2-