MCP AEMPS — CIMA
io.github.romanpert由 GitHub 帳號 romanpert 發布v0.5.0更新於 Oct 24, 2026
MCP server for the Spanish AEMPS CIMA pharmaceutical registry (20,000+ authorised medicines).
概覽
面向西班牙 AEMPS CIMA 藥品註冊資料庫的唯讀 MCP 伺服器,讓助理查詢核准藥品、說明書與供應短缺資訊。
- 可以做什麼
- 查詢與搜尋藥品、規格及主檔資料(ATC 代碼、有效成分、劑型、實驗室),支援篩選、分頁、變更紀錄與臨床等效(VMP/VMPP)。取得官方文件:仿單與病人說明書的章節或完整 HTML、資訊素材與安全通告。依代碼、DCP 或 DCPF 查詢目前供應短缺問題。提供 cima:// 資源以讀取主檔資料與文件章節,並提供面向社區藥局、醫院、產業與病人諮詢的現成提示詞。
- 適用情境
- 適合需要依據西班牙官方藥品註冊資料庫作答的情境:仿單章節、不良反應、供應短缺、藥物警戒通告、學名藥替換或法規變更追蹤。主要面向藥局、醫院、製藥產業與法規事務工作,而非一般網路檢索。
- 執行需求
- 以本機 Python 套件(mcp-aemps)執行,可透過 uvx、pip 或 pipx 安裝,也可使用 Docker 容器;預設為 stdio 傳輸,另有選用的 HTTP 模式(連接埠 8765)。不需要任何憑證,使用預設設定即可啟動。選用設定包括用於共享快取與限流的 REDIS_URL,以及多租戶 HTTP 部署的 OAuth 變數。需要能連線至公開的 AEMPS CIMA API。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 MCP AEMPS — CIMA,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
mcp-aemps
Datos farmacéuticos oficiales, listos para tu agente.
El primer servidor MCP open-source para la industria farmacéutica. 20.000+ medicamentos AEMPS, en tiempo real, regulator-grade.
🇪🇸 Español · 🇬🇧 English
[PyPI]
[npm]
[GHCR]
[Python versions]
[PyPI downloads]
[License]
[CI]
[MCP Registry]
[CIMA API v1.23]
Lo que tu agente puede hacer
Conecta tu asistente — Claude, ChatGPT, Gemini, Cursor, Continue, Zed, Junie — al registro oficial AEMPS / CIMA. Sin scrapers. Sin hardcoded snapshots. Sin patient data. Cada respuesta cita endpoint REST oficial y fecha de consulta.
Tú: «¿Qué efectos adversos graves aparecen en la ficha técnica de HUMIRA 40 mg?» Tu agente consulta
obtener_medicamento→doc_contenido(sección 4.8 de la FT) → devuelve estructurado, con timestamp y fuente AEMPS.
Tú: «Lista los problemas de suministro vigentes para omeprazol 20 mg cápsulas.» Tu agente llama
problemas_suministro_dcpf→ devuelve los lotes afectados, fechas previstas de retorno y alternativas terapéuticas equivalentes.
Tú: «¿Qué notas de farmacovigilancia ha publicado AEMPS sobre inhibidores SGLT2 en los últimos 6 meses?» Tu agente filtra
listar_notas+ recuperaobtener_notas→ resumen accionable con enlaces oficiales.
Tú: «Dame un equivalente clínico (mismo VMP) para simvastatina 20 mg comprimidos sin lactosa.» Tu agente cruza
buscar_vmpp+buscar_en_ficha_tecnica("lactosa")→ propone alternativas con autorización AEMPS vigente y excipientes confirmados.
Tú: «¿Qué cambia entre la FT actual de Eliquis y la versión publicada hace 90 días?» Tu agente invoca el prompt curado
monitorizar_cambios_cartera→ diff por sección sobre la documentación oficial.
10 prompts curados más, cubriendo farmacia comunitaria, hospitalaria, industria y counseling al paciente — listos para invocar como slash-commands en tu cliente MCP.
Instalación en 30 segundos
¿Sin Python en la máquina? Hay tres alternativas equivalentes:
Reinicia tu cliente MCP. El servidor aparece como mcp-aemps. Listo.
💡 Sin servidor que mantener. Por defecto los instaladores configuran el cliente para lanzar
uvx mcp-aemps@latest stdiobajo demanda — el agente arranca el servidor cuando lo necesita y lo apaga cuando termina. Para despliegues compartidos / multi-tenant ver Despliegue.
Compatibilidad — un comando, 11 clientes
Los instaladores son idempotentes (re-ejecuta sin miedo), atómicos (la escritura se completa entera o no se aplica), additive (preservan tus otras entradas), port-aware (leen el puerto real bound por mcp-aemps up), y purgan automáticamente aliases legacy (aemps-cima, etc.) para limpiar instalaciones de versiones antiguas. mcp-aemps install (sin subcomando) configura todos los detectados a la vez.
Por qué mcp-aemps
🏛️ Regulator-grade. Cada respuesta cita endpoint CIMA REST oficialmente documentado + timestamp. Audit trail por petición vía logs JSON estructurados (alineado con EU GMP Annex 11). Sin alucinación, sin datos derivados — solo el registro AEMPS publicado, expuesto tal cual.
🔒 Read-only por construcción. Proxy fino sobre la API pública AEMPS. Cero escrituras. Cero PII procesada. Cero clinical decision support — esto NO es un dispositivo médico (MDR 2017/745 no aplica). Detalles del threat model en SECURITY.md.
🌐 Estándar abierto. Apache-2.0. Listado en registry.modelcontextprotocol.io. Implementación de referencia para servidores MCP en sectores regulados — quien quiera mirror oficial de su propio NCA (EMA, AIFA, Swissmedic, …) tiene aquí el blueprint.
Catálogo
21 herramientas MCP — todas mapean 1:1 a endpoints CIMA REST oficiales
Todas las tools llevan anotaciones MCP — readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true — para que clientes spec-compliant no pidan confirmación por consulta.
11 recursos curados bajo el esquema URI cima:// — cacheables, sin coste de tokens
Recursos estáticos:
Templates:
10 prompts MCP curados — workflows profesionales y de paciente listos para invocar
Los prompts dirigidos a pacientes cierran siempre con un disclaimer "no es consejo médico" — cubierto por test (tests/test_prompts.py); su eliminación rompe CI.
Configuración
Cero variables requeridas — el servidor arranca con defaults sensatos. Las opciones más usadas:
OAuth 2.1: cinco env vars (OAUTH_ISSUER, OAUTH_JWKS_URL, OAUTH_AUDIENCE, OAUTH_REQUIRED_SCOPES). RFC 9728 Protected Resource Metadata expuesto en /.well-known/oauth-protected-resource. Sin Authorization Server embebido — bring your own (Auth0 / Keycloak / Hydra / Stytch / Cloudflare). Detalles en SECURITY.md.
Despliegue
stdio (default). Cada cliente MCP arranca uvx mcp-aemps@latest stdio bajo demanda. Sin servidor que mantener. Sin gestión de puertos. Es el patrón Anthropic-canonical — usa esto si solo quieres que tu agente local consulte CIMA.
HTTP compartido (multi-usuario). mcp-aemps up --bind-all + reverse-proxy (nginx / Caddy / Traefik) + MCP_AEMPS_DNS_REBINDING_PROTECTION=true + MCP_AEMPS_ALLOWED_HOSTS=tu-dominio.com. Con OAuth 2.1 activado para gating. Una sola instancia sirve a equipos enteros.
Docker / Compose.
MCP Registry. Listado como io.github.romanpert/mcp-aemps. Los clientes MCP-aware lo descubren automáticamente.
Observabilidad. /health/live, /health/ready (Kubernetes-friendly), /internal/metrics (gated por METRICS_KEY). Logs JSON estructurados con correlation IDs. Para Prometheus / OpenTelemetry, plug-in vía extra_middleware / startup_hooks del factory — ver app/factory.py.
Hooks de auditoría (Claude Code)
El sistema de hooks de Claude Code ejecuta comandos shell client-side alrededor de cada llamada a tool. El matcher mcp__mcp-aemps__* captura cada herramienta de este servidor — útil para audit trails GMP Annex 11 / EMA GVP.
Equivalente server-side disponible vía pre_tool_hooks / post_tool_hooks en create_app(...) — útil cuando no puedes confiar en que cada usuario tenga el ~/.claude/settings.json correcto. Detalles en app/tool_hooks.py.
Compliance y seguridad
mcp-aemps está construido para entornos regulados — sin sustituir el juicio profesional:
- Datos públicos AEMPS — sin PII, sin patient data, sin clinical decision support.
- Audit trail — logs JSON estructurados con correlation IDs, retención configurable (
LOG_RETENTION_DAYS). - Sin GPL en el paquete — Apache-2.0 limpio, distribuible en stack farmacéutico privado.
- Threat model auditado — STRIDE pass end-to-end por release. Política completa en SECURITY.md.
- Disclosure coordinada —
[email protected], triage en 48h.
Posture detallada (GDPR Art.5, LOPD-GDD, EU GMP Annex 11, EMA GVP Module VI): CLAUDE.md.
Roadmap & versioning
mcp-aemps mirrorea el surface CIMA REST 1:1 — ni más, ni menos. Las mejoras hasta v1.0 son calidad (eficiencia, seguridad, escalabilidad, modularidad), no nuevas features.
Add-ons que NO encajan en esta scope rule (extracción de PDF de IPT, descarga de imágenes de medicamentos, agregación multi-NCA, push notifications) viven en un repo separado, premium-tier, que importa este mcp-aemps>=0.4.x desde PyPI como dependencia.
CHANGELOG completo: CHANGELOG.md. Política de versionado en CLAUDE.md.
Contribuir
Issues y PRs en inglés. Conventional commits. Setup, estándares de código, y las hard scope rules en CONTRIBUTING.md.
Si construyes algo serio sobre mcp-aemps en producción farmacéutica / hospitalaria, escríbeme — me interesa el use case, y los road-map items se priorizan en parte por demanda concreta.
Licencia & autor
Apache-2.0 · Author: Román Pérez Dumpert · [email protected]
MCP Registry identifier: mcp-name: io.github.romanpert/mcp-aemps
來源:README.md,提交 3eb4985
工具
0版本歷史
1- v0.5.0最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。