MCP rozwiązuje ten problem raz na zawsze. I prawie nikt o tym nie mówi.
{% youtube "NBfQKEgCqXE" %}
Czym jest MCP?
Model Context Protocol to otwarty standard stworzony przez Anthropic. Jeden protokół, który definiuje jak AI komunikuje się z zewnętrznymi narzędziami.
Pomyśl o USB. Przed USB każde urządzenie miało inny kabel. Po USB — jeden standard, wszystko działa. MCP to "USB dla AI".
Architektura:
AI (Claude/GPT/Gemini) ←→ MCP Client ←→ MCP Server (Twoje narzędzia)
MCP Server to program, który udostępnia AI dostęp do:
- Plików na dysku
- Baz danych (SQL, NoSQL)
- API zewnętrznych serwisów
- Narzędzi systemowych (git, docker, CLI)
- Czegokolwiek, co potrafisz zaprogramować
Dlaczego to jest przełomowe?
1. Jeden standard zamiast wielu integracji
Napisze raz MCP Server → działa z Claude, VS Code, Cursor, Claude Code i każdym klientem MCP. Nie piszesz integracji per narzędzie.
2. AI "widzi" Twoje dane w kontekście
Zamiast kopiować dane do promptu, AI wywołuje narzędzie MCP i dostaje aktualne dane z Twojego systemu. Real-time, zawsze świeże.
3. Bezpieczeństwo
MCP Server działa lokalnie — dane nie wychodzą z Twojego komputera/serwera. AI dostaje tylko to, co MCP Server mu udostępni.
Budujemy MCP Server w Pythonie
Zbudujmy prosty MCP Server, który daje AI dostęp do bazy danych SQLite.
Instalacja
Bash1pip install mcp
Kod serwera
Python1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48import sqlite3 from mcp.server import Server from mcp.types import Tool, TextContent app = Server("my-database") DB_PATH = "company.db" @app.tool() async def query_database(sql: str) -> str: """Wykonaj zapytanie SQL na bazie danych firmy. Używaj SELECT do odczytu danych. Dostępne tabele: - clients (id, name, email, plan, created_at) - orders (id, client_id, amount, status, date) """ conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() try: cursor.execute(sql) rows = cursor.fetchall() columns = [desc[0] for desc in cursor.description] if cursor.description else [] result = [{col: val for col, val in zip(columns, row)} for row in rows] return str(result[:50]) # limit wyników except Exception as e: return f"Błąd SQL: {e}" finally: conn.close() @app.tool() async def get_client_summary(client_id: int) -> str: """Pobierz podsumowanie klienta — dane kontaktowe i historię zamówień.""" conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() cursor.execute("SELECT * FROM clients WHERE id = ?", (client_id,)) client = cursor.fetchone() if not client: return "Klient nie znaleziony" cursor.execute( "SELECT COUNT(*), SUM(amount) FROM orders WHERE client_id = ?", (client_id,) ) stats = cursor.fetchone() conn.close() return f"Klient: {client[1]} ({client[2]})\nPlan: {client[3]}\nZamówienia: {stats[0]}, łączna kwota: {stats[1]} zł" if __name__ == "__main__": import asyncio from mcp.server.stdio import stdio_server asyncio.run(stdio_server(app))
I to tyle. Masz MCP Server, który daje AI dostęp do Twojej bazy.
Podłączenie do Claude Desktop
W pliku konfiguracji Claude Desktop (claude_desktop_config.json):
JSON1 2 3 4 5 6 7 8{ "mcpServers": { "my-database": { "command": "python", "args": ["server.py"] } } }
Od teraz Claude "widzi" Twoją bazę danych. Możesz zapytać: "Który klient złożył najwięcej zamówień w marcu?" i Claude sam napisze SQL, odpyta bazę i da Ci odpowiedź.
Praktyczne przykłady MCP Serverów
Dostęp do plików projektu
MCP Server, który daje AI dostęp do plików w katalogu projektu — czytanie, wyszukiwanie, analiza kodu.
Integracja z CRM
Server podłączony do API HubSpot/Pipedrive — AI pyta o dane klientów, pipeline sprzedażowy, prognozę.
Monitoring serwerów
Server z dostępem do metryk (Grafana, Prometheus) — pytasz AI "jak wygląda CPU na produkcji" i dostajesz odpowiedź w kontekście.
Baza wiedzy firmy
Server z dostępem do Confluence/Notion — AI odpowiada na pytania na podstawie dokumentacji wewnętrznej. RAG bez budowania RAG.
MCP vs Function Calling — co lepsze?
| MCP | Function Calling | |
|---|---|---|
| Standard | Otwarty, niezależny od providera | Per-provider (OpenAI, Anthropic, Google) |
| Reużywalność | Jeden server, wielu klientów | Piszesz osobno per integrację |
| Bezpieczeństwo | Server lokalny, kontrola dostępu | Zależy od implementacji |
| Ekosystem | Rosnący (1000+ gotowych serverów) | Każdy pisze swoje |
| Debugowanie | MCP Inspector, logi | Trudniejsze |
Function calling nie zniknie — ale MCP jest warstwą wyżej. Budujesz MCP Server raz, a function calling staje się detalem implementacji.
Gotowe MCP Servery — nie musisz pisać wszystkiego
Społeczność już zbudowała setki MCP Serverów:
- filesystem — dostęp do plików
- github — repozytoria, issues, PR-y
- slack — wiadomości, kanały
- postgres — bazy danych
- google-drive — dokumenty
- brave-search — wyszukiwanie w internecie
Większość instalujesz jedną komendą i konfigurujesz w JSON.
Podsumowanie
- MCP to otwarty standard komunikacji AI ↔ narzędzia ("USB dla AI")
- Budujesz MCP Server raz → działa z Claude, VS Code, Cursor i innymi
- Prosty server w Pythonie to ~30 linii kodu
- Dane zostają lokalnie — AI dostaje tylko to, co mu udostępnisz
- Gotowe serwery: filesystem, github, slack, postgres, google-drive i setki innych
MCP zmienia sposób w jaki myślimy o integracji AI z naszymi narzędziami. Zamiast "wklej dane do promptu" mamy "AI, użyj tego narzędzia". I to jest ogromna różnica.
Więcej o budowaniu integracji AI? Sprawdź mój kurs n8n gdzie łączymy automatyzację z AI.



