Skip to main content
Glama

Maqueta de reserva de salas de reuniones HTTP MCP de Dify 1.13

Proyecto para validar el MCP de reserva de salas de reuniones mediante el encabezado estático Authorization de Dify 1.13, sin servidor de autenticación.

Dify 1.13 ── Bearer <고정 JWT> ──> MCP 서버 ── 내부 API 키 ──> 회의실 API

En el alcance actual, name=dify del JWT no es un nombre de usuario real, sino que actúa únicamente como identificador de servicio fijo. Debe emitir el token directamente en cada entorno y registrar el mismo token tanto en el encabezado de Dify como en MCP_STATIC_TOKEN del servidor MCP.

Consulte la guía de integración de token estático para conocer el procedimiento detallado.

Funciones proporcionadas

  • Consulta de lista de salas de reuniones

  • Reserva de salas de reuniones y prevención de solapamiento de horarios

  • Consulta de lista de reservas del servicio fijo

  • HTTP 401 cuando el token falta, no coincide, ha expirado o falta name

  • Devuelve dify님 예약이 완료되었습니다. al reservar con éxito

Related MCP server: Boma MCP

Ejecución rápida

El proceso de instalación de Docker no se trata en este documento.

cp .env.example .env

docker compose run --rm --no-deps mcp-server \
  python scripts/mint_dev_token.py

Registre el JWT generado en .env.

MCP_STATIC_TOKEN=eyJ...

Ejecute el servidor.

docker compose up -d --build --force-recreate
docker compose ps

Direcciones del servicio:

  • MCP: http://localhost:8001/mcp

  • Estado de la API de salas: http://localhost:8000/health

Si Dify está en otro servidor, registre la URL HTTPS accesible desde Dify en MCP_PUBLIC_URL y en la configuración MCP de Dify, en lugar de localhost.

Configuración de Dify 1.13

Elemento

Valor

URL del servidor

https://<공개주소>/mcp

Nombre del encabezado

Authorization

Valor del encabezado

Bearer eyJ...

Configuración OAuth

No se utiliza

Como es un encabezado estático, el JWT y name=dify no cambian aunque cambie el usuario de Dify.

Archivos principales

Archivo

Función

meeting_mock/auth.py

Comparación de token fijo, comprobación de expiración, sub y name

meeting_mock/mcp_server.py

Streamable HTTP MCP y 3 herramientas

meeting_mock/meeting_api.py

Almacén de reservas de salas de reuniones y memoria

scripts/mint_dev_token.py

Emisión de JWT de maqueta para cada usuario

scripts/e2e_dify_legacy_client.py

E2E de token estático de Dify 1.13

Pruebas

PYTHONPATH=. uv run --isolated --extra test pytest -q

E2E con Docker:

docker compose up -d --build --force-recreate
docker compose exec -T mcp-server python scripts/e2e_dify_legacy_client.py

Limitaciones de la maqueta

  • No se verifica la firma del JWT con la clave pública del servidor de autenticación.

  • Solo se permite una cadena de token fija en .env del servidor MCP.

  • No se puede distinguir la identidad de cada usuario.

  • Los datos de reserva se inicializan al recrear el contenedor.

  • Para la transición a producción se necesitan servidor de autenticación, verificación de firma, expiración corta, rotación de claves y entrega de tokens por usuario.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A simple MCP server that enables meeting room booking through an AI assistant, supporting room availability checks and booking operations with React Agent pattern for tool calling.
    3
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search for available desk space, submit room reservations, and let admins approve or reject booking requests through a scoped MCP API.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables local employee onboarding, leave tracking, meeting coordination, and workplace requests through any MCP-compatible client, with optional SMTP notifications.
    2
    -