Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for the Spanish AEMPS CIMA pharmaceutical registry (20,000+ authorised medicines).
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
PORT, LOG_LEVEL, REDIS_URL必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"aemps": {
"command": "uvx",
"args": [
"mcp-aemps",
"up"
],
"env": {
"PORT": "your-value",
"LOG_LEVEL": "your-value",
"REDIS_URL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add aemps --env PORT=your-value --env LOG_LEVEL=your-value --env REDIS_URL=your-value -- uvx mcp-aemps up動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"aemps": {
"command": "uvx",
"args": [
"mcp-aemps",
"up"
],
"env": {
"PORT": "your-value",
"LOG_LEVEL": "your-value",
"REDIS_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"aemps": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-aemps",
"up"
],
"env": {
"PORT": "your-value",
"LOG_LEVEL": "your-value",
"REDIS_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
PORT envLOG_LEVEL envREDIS_URL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント romanpert で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.5.0)がレジストリに届いたのは6 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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
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.
# Una línea — cualquier cliente MCP detectado se configura automáticamente.
pip install mcp-aemps && mcp-aemps install
¿Sin Python en la máquina? Hay tres alternativas equivalentes:
uvx mcp-aemps install # zero-install vía uv (recomendado)
docker run -p 8765:8765 ghcr.io/romanpert/mcp-aemps:latest # contenedor multi-arch pipx run mcp-aemps install # pipx
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.
| Cliente | Comando | Notas |
|---|---|---|
| Claude Desktop | mcp-aemps install claude-desktop | Anthropic — stdio por defecto, HTTP via mcp-remote opcional |
| Claude Code | mcp-aemps install claude-code | Anthropic CLI — usa claude mcp add cuando está disponible |
| Codex CLI | mcp-aemps install codex | OpenAI — ~/.codex/config.toml |
| Gemini CLI | mcp-aemps install gemini | Google — ~/.gemini/settings.json, MCP nativo (v0.4.17+) |
| VS Code | mcp-aemps install vscode | GitHub Copilot Chat MCP — mcp.json dedicado (post-2025) |
| Cursor | mcp-aemps install cursor | ~/.cursor/mcp.json |
| Windsurf | mcp-aemps install windsurf | Codeium — ~/.codeium/windsurf/mcp_config.json |
| Zed | mcp-aemps install zed | context_servers en settings.json |
| Continue.dev | mcp-aemps install continue | Extensión VS Code / JetBrains — YAML |
| JetBrains Junie | mcp-aemps install jetbrains | ~/.junie/mcp.json |
| Antigravity | mcp-aemps install antigravity | Google — IDE agente |
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.
🏛️ 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.
21 herramientas MCP — todas mapean 1:1 a endpoints CIMA REST oficiales
| Herramienta | Endpoint CIMA | Descripción | |
|---|---|---|---|
obtener_medicamento | GET /medicamento | Ficha completa por CN o nregistro | |
buscar_medicamentos | GET /medicamentos | Búsqueda paginada con 20+ filtros | |
buscar_en_ficha_tecnica | POST /buscarEnFichaTecnica | Full-text dentro de fichas técnicas | |
listar_presentaciones | GET /presentaciones | Listado con filtros | |
obtener_presentacion | GET /presentacion/:cn | Detalle por Código Nacional | |
buscar_vmpp | GET /vmpp | Equivalentes clínicos (VMP/VMPP) | |
consultar_maestras | GET /maestras | ATC, principios activos, formas, laboratorios | |
registro_cambios | `GET\ | POST /registroCambios` | Histórico de altas / bajas / modificaciones |
problemas_suministro | GET /psuministro + GET /psuministro/v2/cn/:cn | Listado global o por Código Nacional | |
problemas_suministro_dcp | GET /psuministro/v2/dcp/:dcp | Por DCP (descripción clínica) | |
problemas_suministro_dcpf | GET /psuministro/v2/dcpf/:dcpf | Por DCPF (con forma farmacéutica) | |
listar_notas / obtener_notas | GET /notas/:nregistro | Notas de seguridad | |
listar_materiales / obtener_materiales | GET /materiales/:nregistro | Materiales informativos | |
doc_secciones | GET /docSegmentado/secciones/:tipo | Metadatos de secciones | |
doc_contenido | GET /docSegmentado/contenido/:tipo | Contenido (JSON / HTML / texto) | |
html_ficha_tecnica | GET /dochtml/ft/:nregistro/:file | HTML completo de la FT | |
html_prospecto | GET /dochtml/p/:nregistro/:file | HTML completo del prospecto |
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:
| URI | Contenido |
|---|---|
cima://maestras/atc | Árbol completo de códigos ATC |
cima://maestras/principios-activos | Listado completo |
cima://maestras/laboratorios | Laboratorios titulares de autorización |
cima://maestras/formas-farmaceuticas | Comprimido, inyectable, … |
cima://maestras/vias-administracion | Oral, IV, tópica, … |
Templates:
| URI template | Contenido |
|---|---|
cima://maestras/atc/{codigo} | Lookup ATC (p.ej. C09AA02 → Enalapril) |
cima://maestras/principios-activos/{id} | Lookup principio activo |
cima://docs/ficha-tecnica/{nregistro} | HTML completo |
cima://docs/ficha-tecnica/{nregistro}/{seccion} | Sección concreta (4.1, 4.8, 5.1, …) |
cima://docs/prospecto/{nregistro} | HTML completo |
cima://docs/prospecto/{nregistro}/{seccion} | Sección concreta (1, 2, 3, 4, 5, 6) |
10 prompts MCP curados — workflows profesionales y de paciente listos para invocar
| Prompt | Audiencia | Caso de uso |
|---|---|---|
identificar_cn | Farmacia comunitaria | Tarjeta resumen one-screen a partir de un Código Nacional |
equivalencias_genericas | Farmacia comunitaria | Sustitución durante desabastecimiento |
vigilancia_paciente | Farmacia hospitalaria | Notas de seguridad activas para una cartera de medicación |
comparar_fichas_tecnicas | Hospital + industria | Tabla wide-format comparando 2-5 medicamentos sección a sección |
auditar_cartera_laboratorio | Industria | Snapshot regulatorio completo de un laboratorio |
monitorizar_cambios_cartera | Regulatory affairs | Diff de altas / bajas / modificaciones sobre una lista de productos |
informe_posicionamiento_terapeutico | Hospital + industria | IPE/IPT + indicación autorizada + mecanismo |
material_visual_paciente | Counseling | Fotos, vídeos, material informativo segregado por audiencia |
info_medicamento_para_no_sanitarios | Público general | Resumen llano sin jerga |
comprobar_interaccion_principios_activos | Hospital + industria | Búsqueda textual sobre la sección 4.5 (Interacciones) |
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.
Cero variables requeridas — el servidor arranca con defaults sensatos. Las opciones más usadas:
| Variable | Default | Para qué |
|---|---|---|
UVICORN_HOST | 127.0.0.1 | Loopback por defecto desde v0.4.16. mcp-aemps up --bind-all o UVICORN_HOST=0.0.0.0 para Docker / reverse-proxy. |
PORT | 8765 | Puerto HTTP. Auto-fallback si está ocupado. |
REDIS_URL | — | Activa cache distribuida + rate-limit compartido entre réplicas. Opcional. |
MCP_AEMPS_LOCALE | auto | es / en. Auto-detecta del SO. |
| MCP_AEMPS_DNS_REBINDING_PROTECTION | true | Validación Host / Origin en /mcp. Activado por
冒頭だけを表示しています。続きはリポジトリで読めます