Co je MCP a proč stavět server
Přejít na sekci
Problém: AI nástroje jsou slepé
Používáte Claude Code nebo Cursor k psaní kódu. Skvěle generuje funkce, vysvětluje algoritmy, refaktoruje. Ale nevidí vaše tikety v Jiře. Neví, co je nasazené v produkci. Nemůže se podívat do databáze, jestli ta migrace proběhla. Váš AI asistent je mocný, ale slepý ke všemu, co je specifické pro váš workflow.
Před MCP si každý AI nástroj budoval vlastní integrační systém. Cursor měl pluginy. ChatGPT měl GPT Actions. Claude měl tool use. Žádný z nich nebyl kompatibilní s ostatními. Pokud jste postavili integraci pro jeden nástroj, museli jste ji přestavět pro každý další. Byla to doba před USB — každé zařízení mělo jiný kabel.
MCP = USB-C pro AI
Model Context Protocol (MCP) je otevřený standard vytvořený firmou Anthropic, který definuje, jak se AI nástroje připojují k externím systémům. Představte si ho jako USB-C — jeden univerzální konektor, který funguje všude. Postavíte jeden MCP server a funguje s Claude Code, Cursor, Windsurf, Copilot a jakýmkoli dalším nástrojem, který podporuje protokol.
Architektura je jednoduchá: MCP client (AI nástroj) se připojí k MCP serveru (váš kód) přes standardní protokol. Server vystavuje vaše data a akce přes tři primitivy. Client zjistí, co je dostupné, a použije to k pomoci uživateli.
┌─────────────────┐ ┌─────────────────┐
│ AI nástroj │ │ Váš MCP Server │
│ (Claude Code, │◄───────►│ (váš kód) │
│ Cursor atd.) │ MCP │ │
│ │ Protokol│ ┌─────────────┐ │
│ MCP Client │ │ │ Resources │ │
│ │ │ │ Tools │ │
│ │ │ │ Prompts │ │
└─────────────────┘ │ └─────────────┘ │
│ │
│ ┌─────────────┐ │
│ │ Vaše DB │ │
│ │ Vaše API │ │
│ │ Vaše infra │ │
│ └─────────────┘ │
└─────────────────┘Tři primitivy: Resources, Tools, Prompts
MCP servery vystavují funkcionalitu přes přesně tři primitivy. Pochopení těchto tří konceptů je klíčové pro návrh dobrého serveru.
Resources — data pouze ke čtení
Resources umožňují AI číst data z vašich systémů. Jsou jako GET endpointy v REST API — AI se na ně může podívat, ale nemůže nic měnit. Resource může být databázový záznam, konfigurační soubor, stav deploymentu nebo API dokumentace. Každý resource má URI jako myapp://users/123 nebo myapp://deployments/production.
Tools — akce se side effecty
Tools umožňují AI provádět akce. Vytvořit tiket v Jiře. Nasadit na staging. Spustit databázový dotaz. Poslat zprávu na Slack. Každé volání toolu vyžaduje souhlas uživatele — AI navrhne akci, uživatel ji potvrdí. To je bezpečnostní mechanismus, který dělá MCP vhodným pro produkční použití.
Prompts — znovupoužitelné šablony
Prompts jsou předpřipravené šablony, které pomáhají AI interagovat s vaším systémem. Představte si je jako slash příkazy — /deploy, /debug, /summarize-tickets. Kombinují instrukce s argumenty pro vytvoření kontextově bohatých interakcí. Jsou volitelné, ale neuvěřitelně užitečné pro standardizaci běžných workflow.
// Resources: AI čte data
server.resource("deployment-status", "myapp://deploy/status", async () => {
const status = await getDeploymentStatus();
return { contents: [{ uri: "myapp://deploy/status", text: JSON.stringify(status) }] };
});
// Tools: AI provádí akce (se souhlasem uživatele)
server.tool("create-ticket", { title: z.string(), priority: z.enum(["low", "medium", "high"]) }, async ({ title, priority }) => {
const ticket = await jira.createIssue({ title, priority });
return { content: [{ type: "text", text: `Vytvořen tiket ${ticket.key}` }] };
});
// Prompts: znovupoužitelné šablony
server.prompt("debug-error", { error_message: z.string() }, ({ error_message }) => ({
messages: [{ role: "user", content: { type: "text", text: `Analyzuj tuto chybu z produkčních logů: ${error_message}` } }]
}));Transport: jak client a server komunikují
MCP podporuje dva transportní mechanismy. stdio je nejběžnější — client spustí server jako subprocess a komunikuje přes standardní vstup/výstup. Takto funguje Claude Code a Cursor pro lokální MCP servery. Streamable HTTP (a starší SSE transport) se používá pro vzdálené servery — client se připojí přes HTTP. To je užitečné pro sdílené týmové servery nebo cloudové MCP služby.
// Claude Code konfigurace (~/.claude/mcp.json) — stdio transport
{
"mcpServers": {
"my-app": {
"command": "node",
"args": ["./build/index.js"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/mydb"
}
}
}
}
// Cursor konfigurace (.cursor/mcp.json) — stejný formát
{
"mcpServers": {
"my-app": {
"command": "npx",
"args": ["-y", "my-mcp-server"]
}
}
}Kdo MCP adoptoval
MCP vznikl v Anthropic, ale byl adoptován napříč průmyslem. Claude Code, Cursor, Windsurf, Copilot a mnoho dalších nástrojů ho podporují jako clienty. Na straně serverů existují oficiální MCP servery pro GitHub, Slack, Linear, Google Drive, PostgreSQL a desítky dalších. OpenAI i Google oznámili podporu MCP. Rychle se stává standardem — ne jen protokolem jedné firmy.
MCP je pro AI nástroje tím, čím REST byl pro webová API. V roce 2005 jste mohli stavět SOAP, XML-RPC nebo vlastní protokoly. Do roku 2010 se všichni standardizovali na REST. MCP je ten moment standardizace pro AI integrace — postavte jednou, funguje všude.
Reálné MCP servery
- Linear MCP — AI čte vaše issues, vytváří tikety, aktualizuje stav
- Slack MCP — AI čte kanály, posílá zprávy, prohledává historii
- PostgreSQL MCP — AI dotazuje vaši databázi přímo (read-only nebo read-write)
- Kubernetes MCP — AI kontroluje stav podů, čte logy, škáluje deploymenty
- GitHub MCP — AI čte PR, vytváří issues, kontroluje CI status
- Sentry MCP — AI čte chybové reporty, trace a výkonnostní data
Co postavíte v tomto kurzu
Na konci tohoto kurzu budete mít produkčně připravený MCP server pro vaši aplikaci. Bude vystavovat vaši databázi jako prohlížitelné resources, umožní AI provádět běžné akce přes tools a poskytne prompt šablony pro workflow vašeho týmu. Budete vědět, jak ho zabezpečit, nasadit a distribuovat týmu.
Nemusíte být AI expert, abyste postavili MCP server. Pokud umíte napsat REST API, umíte postavit MCP server. SDK se starají o všechny detaily protokolu — vy jen definujete, jaká data vystavit a jaké akce povolit.
Podívejte se na svůj současný vývojový workflow a identifikujte 3 věci, které by MCP server mohl vystavit vašim AI nástrojům: 1. Jeden kus dat, která AI aktuálně nevidí (např. schéma vaší databáze, stav deploymentu, backlog tiketů) 2. Jednu akci, kterou provádíte manuálně a AI by ji mohla udělat za vás (např. vytváření tiketů, spouštění migrací, aktualizace konfigurací) 3. Jeden workflow, který by mohl být znovupoužitelnou prompt šablonou (např. debugování produkčních chyb, onboarding nové služby, checklist pro code review) Zapište si je — budeme je implementovat v průběhu kurzu.
Nápověda
Přemýšlejte o věcech, které kopírujete a vkládáte do AI chatu. Pokud neustále vkládáte databázová schémata, chybové logy nebo popisy tiketů, jsou to perfektní kandidáti na MCP resources.
- MCP je otevřený protokol, který propojuje AI nástroje s vašimi systémy — postavte jednou, funguje všude
- Tři primitivy: Resources (čtení dat), Tools (provádění akcí), Prompts (znovupoužitelné šablony)
- Dva transporty: stdio (lokální, nejběžnější) a HTTP (vzdálený, pro sdílené servery)
- Každé volání toolu vyžaduje souhlas uživatele — AI navrhne, uživatel potvrdí
- Adoptováno firmami Anthropic, OpenAI, Google, Microsoft — je to průmyslový standard
- Pokud umíte postavit REST API, umíte postavit MCP server