Architektura
CzechMedMCP je MCP server postavený na FastMCP frameworku s modulární architekturou.
Vysokoúrovňový přehled
czechmedmcp.__main__:main()
→ cli/ (Typer app)
→ cli/server.py:run_server()
→ core.py:mcp_app (FastMCP singleton)Registrace nástrojů
Všech 60 nástrojů se registruje dekorátorem @mcp_app.tool() přes importy v src/czechmedmcp/__init__.py:
| Modul | Nástrojů | Soubor |
|---|---|---|
| Standardní biomedicínské | 33 | individual_tools.py |
| České zdravotnické | 23 | czech/czech_tools.py |
| Router (search + fetch) | 2 | router.py |
| Sekvenční myšlení | 1 | thinking_tool.py |
| Metriky | 1 | metrics_handler.py |
Vzor doménového modulu
Každá doména (articles/, trials/, variants/, czech/sukl/ atd.) má:
- Privátní implementace (
_function()) vsearch.py/getter.py - Registrace nástroje v
individual_tools.pyneboczech_tools.py - CLI příkaz v
cli/ - Pydantic modely pro validaci
Klíčové soubory
| Soubor | Účel |
|---|---|
src/czechmedmcp/core.py | FastMCP singleton, StrEnum, ensure_list() |
src/czechmedmcp/constants.py | API URL, timeouty, limity |
src/czechmedmcp/http_client.py | HTTP vrstva s cache, retry, circuit breaker |
src/czechmedmcp/exceptions.py | Hierarchie výjimek |
src/czechmedmcp/individual_tools.py | 33 standardních registrací |
src/czechmedmcp/czech/czech_tools.py | 23 českých registrací |
src/czechmedmcp/router.py | Unifikované search + fetch |
src/czechmedmcp/router_handlers.py | Doménově specifické handlery |
Last updated on