Skip to main content
Glama

Servidor MCP de MedEval

Acceso MCP HTTP Streamable autenticado a un espacio de trabajo regulatorio de dispositivos médicos MedEval en ejecución.

Punto de conexión público: https://xiaoyuu.me/mcp

El servidor expone la selección de proyectos de MedEval, la recuperación de evidencia, el contexto de secciones CEP/CER, la observabilidad del agente, el control de tareas de generación/evaluación y las revisiones de documentos inmutables a clientes MCP compatibles con Codex.

Modelo de seguridad

  • Cada solicitud MCP requiere Authorization: Bearer <token>.

  • El proceso MCP se vincula a 127.0.0.1; solo Nginx lo expone a través de HTTPS.

  • El adaptador solo puede llamar a una API de MedEval de bucle de retorno.

  • No se expone ninguna herramienta de eliminación, limpieza, cancelación, reversión o carga arbitraria de archivos del servidor.

  • El token de acceso se almacena únicamente en /etc/medeval-mcp.env en el servidor y nunca debe ser confirmado.

  • Esta implementación utiliza una única instancia compartida de MedEval. Cualquier persona con el token puede inspeccionar sus proyectos e invocar sus herramientas de escritura expuestas. Utilice implementaciones/tokens separados cuando se requiera aislamiento de inquilinos.

MedEval en sí mismo aún puede llamar a los proveedores de modelos y literatura configurados por el operador del servidor. No asuma que esas operaciones posteriores están fuera de línea simplemente porque el adaptador MCP es privado.

Related MCP server: AuroraDocs MCP Server

Uso con Codex

Codex admite servidores MCP HTTP Streamable con tokens de portador. Coloque el token en una variable de entorno en lugar de en config.toml.

1. Establecer el token

PowerShell:

$env:MEDEVAL_MCP_TOKEN = "the-token-provided-by-the-server-owner"

macOS/Linux:

export MEDEVAL_MCP_TOKEN='the-token-provided-by-the-server-owner'

2. Configurar Codex

Agregue esto a ~/.codex/config.toml:

[mcp_servers.medeval]
url = "https://xiaoyuu.me/mcp"
bearer_token_env_var = "MEDEVAL_MCP_TOKEN"
tool_timeout_sec = 1800
startup_timeout_sec = 30
default_tools_approval_mode = "writes"

Reinicie la aplicación de escritorio de ChatGPT, la CLI de Codex o la extensión del IDE. Use /mcp para verificar que medeval esté conectado.

El modo de aprobación writes permite que la inspección de solo lectura se ejecute normalmente mientras solicita confirmación antes de la generación, evaluación, creación de espacios de trabajo o parcheo de documentos.

Flujo de trabajo típico

  1. Llame a medeval_health.

  2. Llame a medeval_list_projects; nunca adivine un espacio de trabajo o ID de tarea.

  3. Suba los materiales fuente a través de xiaoyuu.me cuando sea necesario. El MCP remoto deliberadamente no puede leer rutas en la computadora del cliente.

  4. Use medeval_search_project_evidence o medeval_build_section_context para una recuperación trazable.

  5. Inicie la generación/evaluación solo después de una autorización explícita y conserve el ID de tarea devuelto.

  6. Inspeccione medeval_get_task_progress, medeval_list_runs y medeval_get_run en lugar de reenviar ciegamente una tarea lenta.

  7. Para ediciones, lea la revisión actual, parchee con su base_revision_id y luego verifique el diff resultante.

Los hechos del producto deben provenir de los materiales del producto cargados. La literatura externa es evidencia de apoyo y no debe reemplazar silenciosamente el uso previsto, las indicaciones, las especificaciones, los riesgos o los resultados de las pruebas.

Herramientas disponibles

Herramientas de solo lectura:

  • medeval_health

  • medeval_list_projects

  • medeval_get_workspace

  • medeval_list_workspace_documents

  • medeval_list_runs

  • medeval_get_run

  • medeval_get_agent_context

  • medeval_list_project_documents

  • medeval_search_project_evidence

  • medeval_build_section_context

  • medeval_list_generation_templates

  • medeval_get_task_progress

  • medeval_get_generation_task

  • medeval_list_document_revisions

  • medeval_read_document_revision

  • medeval_diff_document_revisions

Herramientas de escritura no destructivas:

  • medeval_create_workspace

  • medeval_start_generation

  • medeval_start_evaluation

  • medeval_patch_document_revision

Ejecute su propia instancia

Requisitos:

  • Python 3.11+

  • Un backend FastAPI de MedEval accesible en el mismo host

  • Proxy inverso HTTPS para uso público

git clone https://github.com/hanxiaoyu-cmd/medeval-mcp-server.git
cd medeval-mcp-server
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e .
cp .env.example .env

Exporte las variables desde .env y luego ejecute:

python -m medeval_mcp_server

El oyente predeterminado es 127.0.0.1:8765; la ruta MCP es /mcp y la ruta de salud pública es /healthz.

Implementación en producción

Los archivos de ejemplo de systemd y Nginx están en deploy/:

  • medeval-mcp.service ejecuta un proceso sin privilegios y endurecido.

  • nginx-location.conf proxifica /mcp sin almacenamiento en búfer y mantiene vivas las llamadas de herramientas largas.

Genere un token con:

python -c 'import secrets; print(secrets.token_urlsafe(36))'

Almacénelo en un archivo de entorno legible por root:

MEDEVAL_MCP_TOKEN=<generated-token>
MEDEVAL_API_BASE_URL=http://127.0.0.1:8000
MEDEVAL_MCP_PUBLIC_HOSTS=your-domain.example,127.0.0.1,localhost

Establezca el modo de archivo en 600, valide Nginx con nginx -t y verifique tanto el rechazo no autenticado como la inicialización MCP autenticada antes de compartir el token.

Desarrollo

python -m pip install -e ".[dev]"
python -m pytest
python -m compileall -q src

Licencia

MIT

Related MCP Connectors

Related MCP Servers