Everything MCP Server
Un servidor de prueba que demuestra todas las características del protocolo MCP, incluyendo prompts, herramientas, recursos y muestreo.
Documentación
Everything MCP Server
Este servidor MCP intenta ejercitar todas las características del protocolo MCP. No está pensado para ser un servidor útil, sino más bien un servidor de prueba para desarrolladores de clientes MCP. Implementa prompts, herramientas, recursos, sampling y más para mostrar las capacidades de MCP.
Componentes
Herramientas
-
echo- Herramienta simple para devolver mensajes de entrada
- Entrada:
message(string): Mensaje a devolver
- Devuelve: Contenido de texto con el mensaje devuelto
-
add- Suma dos números
- Entradas:
a(number): Primer númerob(number): Segundo número
- Devuelve: Resultado de texto de la suma
-
longRunningOperation- Demuestra notificaciones de progreso para operaciones largas
- Entradas:
duration(number, default: 10): Duración en segundossteps(number, default: 5): Número de pasos de progreso
- Devuelve: Mensaje de finalización con duración y pasos
- Envía notificaciones de progreso durante la ejecución
-
sampleLLM- Demuestra la capacidad de sampling de LLM usando la función de sampling de MCP
- Entradas:
prompt(string): El prompt a enviar al LLMmaxTokens(number, default: 100): Máximo de tokens a generar
- Devuelve: Respuesta generada del LLM
-
getTinyImage- Devuelve una pequeña imagen de prueba
- No requiere entradas
- Devuelve: Datos de imagen PNG codificados en Base64
-
printEnv- Imprime todas las variables de entorno
- Útil para depurar la configuración del servidor MCP
- No requiere entradas
- Devuelve: Cadena JSON de todas las variables de entorno
-
annotatedMessage- Demuestra cómo se pueden usar las anotaciones para proporcionar metadatos sobre el contenido
- Entradas:
messageType(enum: "error" | "success" | "debug"): Tipo de mensaje para demostrar diferentes patrones de anotaciónincludeImage(boolean, default: false): Si se debe incluir una imagen de ejemplo
- Devuelve: Contenido con anotaciones variadas:
- Mensajes de error: Prioridad alta (1.0), visibles tanto para el usuario como para el asistente
- Mensajes de éxito: Prioridad media (0.7), enfocados al usuario
- Mensajes de depuración: Prioridad baja (0.3), enfocados al asistente
- Imagen opcional: Prioridad media (0.5), enfocada al usuario
- Ejemplos de anotaciones:
{ "priority": 1.0, "audience": ["user", "assistant"] }
-
getResourceReference- Devuelve una referencia a un recurso que puede ser utilizada por clientes MCP
- Entradas:
resourceId(number, 1-100): ID del recurso a referenciar
- Devuelve: Una referencia a un recurso con:
- Introducción de texto
- Recurso incrustado con
type: "resource" - Instrucción de texto para usar la URI del recurso
Recursos
El servidor proporciona 100 recursos de prueba en dos formatos:
-
Recursos con números pares:
- Formato de texto plano
- Patrón de URI:
test://static/resource/{even_number} - Contenido: Descripción de texto simple
-
Recursos con números impares:
- Formato de blob binario
- Patrón de URI:
test://static/resource/{odd_number} - Contenido: Datos binarios codificados en Base64
Características de los recursos:
- Soporta paginación (10 elementos por página)
- Permite suscribirse a actualizaciones de recursos
- Demuestra plantillas de recursos
- Actualiza automáticamente los recursos suscritos cada 5 segundos
Prompts
-
simple_prompt- Prompt básico sin argumentos
- Devuelve: Intercambio de un solo mensaje
-
complex_prompt- Prompt avanzado que demuestra el manejo de argumentos
- Argumentos requeridos:
temperature(number): Configuración de temperatura
- Argumentos opcionales:
style(string): Preferencia de estilo de salida
- Devuelve: Conversación de múltiples turnos con imágenes
-
resource_prompt- Demuestra la incrustación de referencias a recursos en prompts
- Argumentos requeridos:
resourceId(number): ID del recurso a incrustar (1-100)
- Devuelve: Conversación de múltiples turnos con una referencia a un recurso incrustada
- Muestra cómo incluir recursos directamente en los mensajes de prompt
Registro
El servidor envía mensajes de log de nivel aleatorio cada 15 segundos, por ejemplo:
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Info-level message"
}
}
Uso con Claude Desktop (usa transporte stdio)
Añade a tu claude_desktop_config.json:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}
Uso con VS Code
Para una instalación rápida, usa uno de los botones de instalación con un clic a continuación...
Para la instalación manual, añade el siguiente bloque JSON a tu archivo de Configuración de Usuario (JSON) en VS Code. Puedes hacerlo presionando Ctrl + Shift + P y escribiendo Preferences: Open User Settings (JSON).
Opcionalmente, puedes añadirlo a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otros.
Ten en cuenta que la clave
mcpno es necesaria en el archivo.vscode/mcp.json.
NPX
{
"mcp": {
"servers": {
"everything": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
}
}
Ejecución desde el código fuente con transporte HTTP+SSE (obsoleto desde 2025-03-26)
cd src/everything
npm install
npm run start:sse
Ejecutar desde el código fuente con transporte Streamable HTTP
cd src/everything
npm install
npm run start:streamableHttp
Ejecución como paquete instalado
Instalación
npm install -g @modelcontextprotocol/server-everything@latest
Run the default (stdio) server
npx @modelcontextprotocol/server-everything
O especificar stdio explícitamente
npx @modelcontextprotocol/server-everything stdio
Ejecutar el servidor SSE
npx @modelcontextprotocol/server-everything sse
Ejecutar el servidor HTTP streamable
npx @modelcontextprotocol/server-everything streamableHttp