Wiki · Integrace
Vlastní aplikace přes MCP
MCP se nejčastěji pokazí dvěma způsoby: agent dostane celý nástrojový povrch najednou, nebo se server přidá tam, kde stačil HTTP požadavek.
🔌
MCP se nejčastěji pokazí dvěma způsoby: agent dostane celý nástrojový povrch firmy najednou,
nebo se server přidá tam, kde by stačil obyčejný HTTP požadavek.
Dobré napojení není „připojit všechno“, ale „připojit to pravé s co nejmenší plochou“ —
proto se v konfiguraci filtrují nástroje a nastavují časové limity.
Kdy MCP dává smysl
| Použijte MCP | Nepoužívejte MCP |
|---|---|
| Nástroj už existuje v MCP podobě a nechcete psát vlastní | Stačí zabudovaný nástroj Hermese (čtení souborů, terminál, web) |
| Potřebujete čistou vrstvu k firemnímu systému, databázi nebo internímu API | Server vystavuje obrovskou plochu nebezpečných nástrojů a nemáte čas ji filtrovat |
| Chcete jemně řídit, které nástroje jsou vidět | Jde o jednu úzkou věc a prostý skript by byl jednodušší i bezpečnější |
Dvě podoby serveru
# ~/.hermes/config.yaml — lokální program (stdio)
mcp_servers:
moje-aplikace:
command: "python3"
args: ["/opt/mcp/moje-aplikace.py"]
env:
DATABAZE_URL: "${DATABASE_URL}" # hodnota z prostředí, ne natvrdo
enabled: true
timeout: 120
tools:
exclude: ["smazat_vse"] # tohle agentovi nedávejte
# vzdálený server přes HTTP
mcp_servers:
firemni-api:
url: "https://api.firma.cz/mcp"
headers:
Authorization: "Bearer ${FIRMA_TOKEN}" # z .env, nikdy do gitu
ssl_verify: true
connect_timeout: 60
tools:
include: ["hledej_zakaznika", "vytvor_fakturu"]
| Klíč | K čemu |
|---|---|
tools.include / tools.exclude | Které nástroje agent uvidí. Začněte úzkým výběrem a rozšiřujte |
timeout, connect_timeout | Kolik sekund čekat na odpověď a na spojení |
lazy: true | Server se spustí až při prvním volání — start Hermese je rychlejší |
ssl_verify | Ověřování TLS; cesta k vlastnímu CA, když máte interní certifikát |
transport: sse | Když server mluví starším SSE protokolem místo Streamable HTTP |
Postup krok za krokem
1) server spustit samostatně a ověřit, že odpovídá (bez Hermese)
2) vložit konfiguraci do ~/.hermes/config.yaml
3) hermes mcp list # co Hermes vidí
4) zkusit jeden nástroj na neškodném dotazu („najdi zákazníka 123“)
5) teprve potom pustit do pravidelné úlohy nebo do komunity
Bod 1 je důležitý: když server nefunguje sám, v Hermesu to vypadá jako chyba agenta a hledá se na špatném místě.
Na co si dát pozor
| Situace | Co s tím |
|---|---|
| Agent je najednou „hloupější“ nebo dražší | Server přidal desítky nástrojů a zaplavil kontext — filtrujte přes tools.include |
| Tajemství v konfiguraci | Pište ${PROMENNA} a hodnotu držte v .env nebo v trezoru |
| Server občas „zmizí“ | Zvyšte timeout nebo keepalive_interval; u vzdáleného zkontrolujte ssl_verify |
| Nebezpečný nástroj omylem dostupný | Přidejte ho do tools.exclude dřív, než se něco stane |
| Server se načítá pomalu | lazy: true — nástroje se registrují z uloženého schématu |
Jak to máme u nás
| Napojení | Zkušenost |
|---|---|
| Databáze aplikace | Skvělé na čtení a rychlé dotazy; zápisy pouštíme jen po potvrzení |
| Monitoring chyb | Pomáhá hlavně správná oblast serveru (de.sentry.io) — se špatnou adresou to vypadá jako výpadek |
| Dokumentace knihoven | Užitečné, ale jen pro konkrétní knihovnu; globální „vše o všem“ agenta zpomaluje |
