Co je MCP a proč ho jako vývojář potřebuješ
Model Context Protocol (MCP) mění způsob, jak AI asistenti pracují s tvými nástroji. Vysvětlíme co to je, jak funguje a jak napsat vlastní MCP server.
Model Context Protocol (MCP) je otevřený standard od Anthropic, který řeší jeden zásadní problém: jak dát AI modelům bezpečný přístup k externím nástrojům a datům.
Proč MCP vzniklo?
Před MCP každý AI nástroj řešil integraci jinak. Cursor měl svá rozšíření, GitHub Copilot jiná. Neexistoval standard.
MCP přináší jednotné rozhraní — jednou napíšeš MCP server a funguje s Claude Desktop, Claude Code, nebo jakýmkoli jiným MCP klientem.
Jak MCP funguje?
[Claude Desktop] ←→ [MCP Server] ←→ [Tvé nástroje / API / databáze]
MCP server je malý program (Node.js, Python...) který:
- Definuje nástroje (tools) — funkce které AI může zavolat
- Komunikuje přes stdio nebo HTTP
- Vrátí výsledky zpět AI
Minimální MCP server v TypeScriptu
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js'
const server = new Server(
{ name: 'muj-server', version: '1.0.0' },
{ capabilities: { tools: {} } }
)
// Definuj co server umí
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{
name: 'pocasi',
description: 'Vrátí aktuální počasí pro město',
inputSchema: {
type: 'object',
properties: {
mesto: { type: 'string' }
},
required: ['mesto']
}
}]
}))
// Implementuj volání nástrojů
server.setRequestHandler(CallToolRequestSchema, async (req) => {
if (req.params.name === 'pocasi') {
const { mesto } = req.params.arguments as { mesto: string }
const res = await fetch(`https://wttr.in/${mesto}?format=3`)
const text = await res.text()
return { content: [{ type: 'text', text }] }
}
})
// Připoj se přes stdio
const transport = new StdioServerTransport()
await server.connect(transport)
Připojení do Claude Desktop
Přidej do ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"muj-server": {
"command": "node",
"args": ["/cesta/k/serveru/src/index.ts"]
}
}
}
Restartuj Claude Desktop a server je dostupný.
Co lze přes MCP integrovat?
- Lokální soubory — Claude čte a píše soubory na tvém počítači
- Databáze — přímý přístup k PostgreSQL, SQLite...
- Interní API — firemní systémy bez nutnosti sdílet API klíč s cloudem
- Git repozitáře — analýza kódu, commit history
- Browserové nástroje — screenshots, klikání na elementy
Kompletní ukázku najdeš na github.com/aidevelopers-cz/mcp-server-example.