SSE MCP Server with JWT Authentication
Servidor SSE MCP con autenticación JWT
Este es un servidor SSE de Protocolo de Contexto de Modelo (MCP) con autenticación basada en JWT.
Le permite exponer múltiples herramientas de IA a través de un transporte SSE, protegido a través de un flujo seguro de token portador.
Construido con:
🚀 Node.js + Express
🧩 @modelcontextprotocol/sdk
🔒 Tokens web JSON (JWT) para autenticación
⚙️ Zod para validación de entrada
✅ Completamente probado con
@modelcontextprotocol/inspector
📂 Estructura del proyecto
server/
├── index.ts # Main Express + MCP server
├── .env # Environment variables
├── package.json # Project metadata & scripts
├── tsconfig.json # TypeScript config
└── README.md # You are here!Related MCP server: MCP Toolkit
✨ Características
✅ Conexión SSE segura mediante token JWT de portador
✅ Registro dinámico de herramientas (eco, tiempo, número aleatorio, etc.)
✅ Probado con MCP Inspector
✅ Registra todos los eventos del ciclo de vida de la solicitud
✅ Gestión de sesiones para el punto final /message
🚀 Listo para extenderse para uso en producción
⚙️ Configuración
1. Clonar el repositorio
git clone https://github.com/anisirji/mcp-server-remote-setup-with-jwt-auth.git
cd mcp-server-remote-setup-with-jwt-auth2. Instalar dependencias
npm install3. Crear archivo .env
echo "JWT_SECRET=your-secret-key" > .env4. Ejecute el servidor
npm run dev✅ El servidor se ejecutará en:
http://localhost:3001/sse🧪 Probando el servidor con MCP Inspector
Paso 1: Instalar MCP Inspector
📖 Documentos oficiales: Inspector MCP
npx @modelcontextprotocol/inspectorPaso 2: Generar un token
Utilice cURL para obtener su token JWT:
curl "http://localhost:3001/auth/token?username=aniket&scope=mcp:access"✅ Ejemplo de respuesta:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Paso 3: Conectar MCP Inspector
Abrir la interfaz de usuario del Inspector
Establecer tipo de transporte: SSE
URL:
http://localhost:3001/sseAgregar encabezado de autorización:
Authorization: Bearer <your-token>Haga clic en Conectar
¡Éxito! Tu servidor ya está conectado.
Paso 4: Herramientas de prueba
Vaya a la pestaña Herramientas en el Inspector y haga clic en Herramientas de lista .
Verás:
✅
test✅
echo✅
get-time✅
random-number
¡Pruébalos y disfrútalos!
Referencia de API
🔑 Generar token
GET /auth/token?username=<username>&scope=mcp:accessPunto final SSE (requiere token)
GET /sse
Authorization: Bearer <token>📩 Enviar mensaje a sesión activa
POST /message?sessionId=<sessionId>
Authorization: Bearer <token>🧩 Referencia de herramientas
Nombre de la herramienta | Descripción |
| Conexión de prueba (comprobación de seguridad) |
| Echo de vuelta el mensaje proporcionado |
| Devuelve la hora actual del servidor |
| Devuelve un número aleatorio (mín./máx.) |
🗓️ Próximos cambios
[ ] Lista de revocación de tokens (lista negra)
[ ] Acceso a herramientas basado en roles (verificaciones de alcance)
[ ] Latido de la sesión / mantener activa
[ ] Limitación de velocidad y registro
[ ] Dockerización para implementación
📚 Recursos útiles
👨💻 Mantenedor
Aniket
📄 Licencia
Este proyecto es de código abierto y de uso gratuito.
🚀 Construir. Asegurar. Empodera.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anisirji/mcp-server-remote-setup-with-jwt-auth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server