AI

MCP Python: własny serwer Model Context Protocol krok po kroku

Kacper Sieradziński
Kacper Sieradziński20 maja 2026 · 3 min czytania
Streszczenie
  • Czym jest MCP?
  • Dlaczego to jest przełomowe?
  • 1. Jeden standard zamiast wielu integracji
  • 2. AI "widzi" Twoje dane w kontekście
MCP Python: własny serwer Model Context Protocol krok po kroku

Każdy, kto próbował podłączyć AI do swoich narzędzi, zna ten ból: piszesz function calling dla OpenAI, potem przepisujesz na tool use dla Claude, potem Google ma swoje API... Każdy provider, inny format.

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

Bash
1 pip install mcp

Kod serwera

Python
1 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 48 import 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):

JSON
1 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?

MCPFunction Calling
StandardOtwarty, niezależny od provideraPer-provider (OpenAI, Anthropic, Google)
ReużywalnośćJeden server, wielu klientówPiszesz osobno per integrację
BezpieczeństwoServer lokalny, kontrola dostępuZależy od implementacji
EkosystemRosnący (1000+ gotowych serverów)Każdy pisze swoje
DebugowanieMCP Inspector, logiTrudniejsze

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.

Tagi

#AI#automatyzacja#Python#Gemini#Claude Code#MCP
Powiązane

Claude Code vs n8n: czy AI zastąpi automatyzacje no-code? Porównanie 2026

Claude Code vs n8n — sprawdź, kiedy wybrać agenta AI w terminalu, a kiedy workflow automation z triggerami, monitoringiem i integracjami. Praktyczne porównanie 2026.

Czytaj →