MedEval MCP Server
Provides authenticated Streamable HTTP MCP access to a MedEval medical-device regulatory workspace, enabling project selection, evidence retrieval, section context, document revision management, and generation/evaluation task control.
README
MedEval MCP Server
Authenticated Streamable HTTP MCP access to a running MedEval medical-device regulatory workspace.
Public endpoint: https://xiaoyuu.me/mcp
The server exposes MedEval project selection, evidence retrieval, CEP/CER section context, Agent observability, generation/evaluation task control, and immutable document revisions to Codex-compatible MCP clients.
Security model
- Every MCP request requires
Authorization: Bearer <token>. - The MCP process binds to
127.0.0.1; only Nginx exposes it over HTTPS. - The adapter may call only a loopback MedEval API.
- No delete, cleanup, cancel, rollback, or arbitrary server-file upload tool is exposed.
- The access token is stored only in
/etc/medeval-mcp.envon the server and must never be committed. - This deployment uses one shared MedEval instance. Anyone with the token can inspect its projects and invoke its exposed write tools. Use separate deployments/tokens when tenant isolation is required.
MedEval itself can still call model and literature providers configured by the server operator. Do not assume that those downstream operations are offline merely because the MCP adapter is private.
Use with Codex
Codex supports Streamable HTTP MCP servers with bearer tokens. Put the token in an environment variable rather than in config.toml.
1. Set the 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. Configure Codex
Add this to ~/.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"
Restart the ChatGPT desktop app, Codex CLI, or IDE extension. Use /mcp to verify that medeval is connected.
The writes approval mode lets read-only inspection run normally while prompting before generation, evaluation, workspace creation, or document patching.
Typical workflow
- Call
medeval_health. - Call
medeval_list_projects; never guess a workspace or task ID. - Upload source materials through xiaoyuu.me when needed. Remote MCP deliberately cannot read paths on the client computer.
- Use
medeval_search_project_evidenceormedeval_build_section_contextfor traceable retrieval. - Start generation/evaluation only after explicit authorization and retain the returned task ID.
- Inspect
medeval_get_task_progress,medeval_list_runs, andmedeval_get_runrather than blindly resubmitting a slow task. - For edits, read the current revision, patch with its
base_revision_id, then verify the resulting diff.
Product facts must come from uploaded product materials. External literature is supporting evidence and must not silently replace intended use, indications, specifications, risks, or test results.
Available tools
Read-only tools:
medeval_healthmedeval_list_projectsmedeval_get_workspacemedeval_list_workspace_documentsmedeval_list_runsmedeval_get_runmedeval_get_agent_contextmedeval_list_project_documentsmedeval_search_project_evidencemedeval_build_section_contextmedeval_list_generation_templatesmedeval_get_task_progressmedeval_get_generation_taskmedeval_list_document_revisionsmedeval_read_document_revisionmedeval_diff_document_revisions
Non-destructive write tools:
medeval_create_workspacemedeval_start_generationmedeval_start_evaluationmedeval_patch_document_revision
Run your own instance
Requirements:
- Python 3.11+
- A reachable MedEval FastAPI backend on the same host
- HTTPS reverse proxy for public use
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
Export the variables from .env, then run:
python -m medeval_mcp_server
The default listener is 127.0.0.1:8765; the MCP route is /mcp and the public health route is /healthz.
Production deployment
Example systemd and Nginx files are under deploy/:
medeval-mcp.serviceruns an unprivileged, hardened process.nginx-location.confproxies/mcpwithout buffering and keeps long tool calls alive.
Generate a token with:
python -c 'import secrets; print(secrets.token_urlsafe(36))'
Store it in a root-readable environment file:
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
Set the file mode to 600, validate Nginx with nginx -t, and verify both unauthenticated rejection and authenticated MCP initialization before sharing the token.
Development
python -m pip install -e ".[dev]"
python -m pytest
python -m compileall -q src
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。