MCP protokol: Jak propojit AI s vašimi daty (praktický tutoriál)
TL;DR
MCP (Model Context Protocol) je otevřený standard od Anthropic pro propojení AI s externími daty. Funguje jako "USB pro AI" - univerzální rozhraní pro databáze, API a služby. Server běží lokálně pro maximální bezpečnost. Ideální pro knowledge bases, CRM integrace a analýzu repozitářů.

Co je Model Context Protocol a proč na něm záleží
Model Context Protocol (MCP) je otevřený standard vyvinutý Anthropic, který definuje, jak AI modely komunikují s externími datovými zdroji. Představte si to jako USB pro AI - univerzální rozhraní, které umožňuje propojit jakýkoli AI nástroj s jakoukoli databází, API nebo službou.
Před MCP musel každý AI nástroj implementovat vlastní integraci pro každou službu. S MCP stačí jeden server a všechny kompatibilní AI nástroje ho mohou využívat.
Klíčové výhody MCP:
- Standardizované rozhraní pro AI-data komunikaci
- Bezpečný přístup k citlivým datům bez jejich odesílání do cloudu
- Možnost lokálního běhu pro maximální privátnost
- Rostoucí ekosystém předpřipravených serverů
Architektura MCP (vizuální diagram)
MCP funguje na principu klient-server architektury:
┌─────────────────┐ MCP Protocol ┌─────────────────┐
│ AI Klient │◄───────────────────►│ MCP Server │
│ (Claude, etc.) │ │ │
└─────────────────┘ └────────┬────────┘
│
┌────────▼────────┐
│ Datový zdroj │
│ (DB, API, Files)│
└─────────────────┘
Komponenty:
- MCP Klient: AI nástroj (Claude Desktop, Cursor, atd.)
- MCP Server: Váš kód, který zpřístupňuje data
- Transport: stdio (lokální) nebo HTTP/SSE (remote)
Váš první MCP server (tutoriál s kódem)
Vytvoříme jednoduchý MCP server, který zpřístupní poznámky z lokálního souboru.
Krok 1: Inicializace projektu
mkdir mcp-notes-server
cd mcp-notes-server
npm init -y
npm install @modelcontextprotocol/sdk
Krok 2: Vytvoření serveru
// server.js
import { McpServer } from "@modelcontextprotocol/sdk/server";
import { StdioTransport } from "@modelcontextprotocol/sdk/transport";
import fs from "fs/promises";
const server = new McpServer({
name: "notes-server",
version: "1.0.0",
});
// Definice nástroje pro čtení poznámek
server.tool("read_notes", "Přečte všechny poznámky", async () => {
const notes = await fs.readFile("./notes.json", "utf-8");
return JSON.parse(notes);
});
// Definice nástroje pro přidání poznámky
server.tool(
"add_note",
"Přidá novou poznámku",
{ content: { type: "string", description: "Text poznámky" } },
async ({ content }) => {
const notes = JSON.parse(await fs.readFile("./notes.json", "utf-8"));
notes.push({ content, created: new Date().toISOString() });
await fs.writeFile("./notes.json", JSON.stringify(notes, null, 2));
return { success: true };
}
);
// Spuštění serveru
const transport = new StdioTransport();
server.connect(transport);
Krok 3: Konfigurace v Claude Desktop
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"notes": {
"command": "node",
"args": ["/cesta/k/mcp-notes-server/server.js"]
}
}
}
Krok 4: Testování
Restartujte Claude Desktop a zkuste: "Přečti moje poznámky" nebo "Přidej poznámku: Nakoupit mléko".
Připojení k Supabase přes MCP
Praktičtější příklad - propojení s Supabase databází:
import { McpServer } from "@modelcontextprotocol/sdk/server";
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_SERVICE_KEY
);
const server = new McpServer({
name: "supabase-mcp",
version: "1.0.0",
});
// Čtení uživatelů
server.tool("get_users", "Získá seznam uživatelů", async () => {
const { data, error } = await supabase
.from("profiles")
.select("id, full_name, email")
.limit(100);
if (error) throw new Error(error.message);
return data;
});
// Vyhledávání
server.tool(
"search_users",
"Vyhledá uživatele podle jména",
{ query: { type: "string" } },
async ({ query }) => {
const { data } = await supabase
.from("profiles")
.select("*")
.ilike("full_name", `%${query}%`);
return data;
}
);
Bezpečnostní aspekty MCP
MCP je navržen s bezpečností jako prioritou:
- Lokální běh: Server běží na vašem stroji, data neopouštějí vaši síť
- Explicitní schválení: Každé použití nástroje vyžaduje potvrzení uživatelem
- Granulární oprávnění: Můžete omezit, které operace jsou povoleny
- Audit log: Všechny operace jsou logovány
Best practices:
- Nikdy nepoužívejte admin/service key pro MCP - vytvořte dedikovaného uživatele s minimálními oprávněními
- Implementujte rate limiting
- Validujte všechny vstupy
- Logujte všechny operace
Příklady z praxe: 3 use cases
1. Personal Knowledge Base
Propojte Claude s vašimi Notion poznámkami, lokálními Markdown soubory nebo Obsidian vaultem. AI pak může odpovídat na otázky z vašich poznámek.
2. Customer Support Dashboard
MCP server propojený s CRM systémem umožňuje AI asistentovi přístup k historii zákazníka při řešení tiketu.
3. Code Repository Analysis
Server, který analyzuje Git historii a poskytuje insights o vývoji projektu.
Budoucnost MCP a AI integrací
MCP je teprve na začátku. V roce 2026 očekáváme:
- Rozšíření podpory v dalších AI nástrojích (Cursor, Windsurf)
- Marketplace s předpřipravenými MCP servery
- Enterprise features (SSO, audit, compliance)
- Real-time streaming dat
Pro vibecodery je MCP příležitost vytvářet vlastní AI-powered nástroje bez nutnosti trénovat vlastní modely.
Často kladené otázky
Zdroje
- [1]Model Context Protocol Documentation— Anthropic
- [2]Building MCP Servers Tutorial— Codecademy
- [3]MCP with Databases Guide— Dremio
- [4]MCP Servers GitHub Repository— Anthropic
Štítky
Chcete se stát vibecoderem?
Zaregistrujte se a získejte přístup k práci, kurzům a komunitě.
Vytvořit účet zdarma