Servidor MCP Express
Un servidor de Protocolo de Contexto de Modelo (MCP) sin estado creado con Express y TypeScript.
Características
Implementación de servidor MCP sin estado con transporte HTTP Streamable moderno
TypeScript para seguridad de tipos
Express.js para el manejo de HTTP
Related MCP server: OpenAPI MCP Server
Requisitos
Node.js 18+
npm o hilo
Instalación
# Clone the repository (or download)
git clone https://github.com/your-username/sample-express-mcp-server.git
cd sample-express-mcp-server
# Install dependencies
npm installDesarrollo
# Build the TypeScript code
npm run build
# Run in development mode with auto-reloading
npm run dev
# Run tests (when added)
npm testEstructura del servidor
src/
├── index.ts # Main application entry point
└── server.ts # MCP server definition with resource, tool, and promptFuncionalidad disponible
Este servidor implementa un punto final de eco simple con tres componentes MCP:
Recurso :
echo://{message}- Devuelve el mensaje como un recursoHerramienta :
echo- Repite el mensaje proporcionado como una respuesta de la herramientaPrompt :
echo- Crea un mensaje de usuario con el mensaje proporcionado
Protocolo MCP
Este servidor implementa el Protocolo de Contexto de Modelo (MCP), una forma estandarizada para que los LLM interactúen con datos y funcionalidades externas. Expone un punto final de API sin estado que responde a solicitudes JSON-RPC.
Uso de la API
Envíe una solicitud POST a /mcp con una carga útil JSON-RPC:
Inicializar
curl -X POST http://localhost:3001/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Accept: text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {
"roots": {
"listChanged": true
},
"sampling": {}
},
"clientInfo": {
"name": "ExampleClient",
"version": "1.0.0"
}
}
}'Herramienta de eco de llamada
curl -X POST http://localhost:3001/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Accept: text/event-stream" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "echo",
"arguments": {
"message": "Hello, World!"
}
},
"id": 1
}'Licencia
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.