Techsy
Kontakt
Rozpocznij
Powrót do bloga
ai-machine-learning

Model Context Protocol: Zbuduj swój pierwszy serwer MCP już dziś

Napisane przez Mert Batur Gürbüz
Mar 17, 2026
18 min
Spis treści
Model Context Protocol: Zbuduj swój pierwszy serwer MCP już dziś

Model Context Protocol (MCP) to otwarty standard, który zapewnia modelom AI uniwersalny sposób łączenia się z zewnętrznymi narzędziami, źródłami danych i usługami. Zamiast pisać niestandardowy kod integracyjny dla każdej kombinacji model-narzędzie, tworzysz jeden serwer MCP, z którego może korzystać każdy kompatybilny model. Anthropic stworzył MCP pod koniec 2024 roku, obecnie zarządza nim Linux Foundation, a przyjęły go OpenAI, Google oraz reszta ekosystemu agentowego AI. Oto wszystko, co musisz wiedzieć, aby zrozumieć, zbudować i wdrożyć MCP.

MCP w skrócie

Jeśli chcesz szybkiego podsumowania przed zagłębieniem się w tysiące słów szczegółów, oto ono.

AtrybutSzczegóły
Pełna nazwaModel Context Protocol (MCP)
TwórcaAnthropic (listopad 2024), obecnie zarządzany przez Linux Foundation / AAIF (grudzień 2025)
DziałanieUniwersalny standard łączenia modeli AI z narzędziami, danymi i usługami
Rozwiązany problemEliminuje M x N niestandardowych integracji, jak USB-C dla AI
Podstawowe prymitywyNarzędzia (Tools), Zasoby (Resources), Prompty (Prompts) i Próbkowanie (Sampling)
Transportstdio (lokalny dev), Streamable HTTP (produkcja)
UwierzytelnianieOAuth 2.1 (wymagane dla transportu HTTP)
SDKPython (FastMCP), TypeScript, Java, Kotlin, C#
Wielkość ekosystemuPonad 10 000 aktywnych serwerów (według Linux Foundation, grudzień 2025)
Główni adoptującyClaude, ChatGPT, Gemini, Cursor, VS Code Copilot, Windsurf
Status specyfikacjiOtwarty standard, aktywnie ewoluujący (harmonogram na 2026 rok w toku)
Najlepsze zastosowanieAgenci AI, którzy muszą interagować z rzeczywistymi narzędziami i danymi

Teraz rozłóżmy każdy z tych elementów, zaczynając od tego, czym właściwie jest MCP i jaki problem sprawił, że stało się konieczne.

Czym jest Model Context Protocol?

Model Context Protocol to otwarty protokół oparty na JSON-RPC, który standaryzuje sposób, w jaki modele AI odkrywają i współdziałają z zewnętrznymi narzędziami i danymi. Traktuj to jako HTTP dla integracji AI – wspólny język, którym może posługiwać się każdy model i każde narzędzie.

Prawdopodobnie słyszałeś analogię do USB-C i jest ona przydatna do pewnego stopnia: przed USB-C każde urządzenie potrzebowało własnego kabla. MCP robi to samo dla AI, ale ta analogia niedoceniam jego możliwości. USB-C przesyła tylko dane i zasilanie. MCP przenosi definicje narzędzi, wzorce dostępu do danych, wielokrotnego użytku szablony promptów, a nawet pozwala serwerom żądać uzupełnień od modelu. To bogatszy protokół, niż sugeruje metafora kabla.

Problem M x N, który rozwiązuje MCP

Bez MCP połączenie M modeli z N narzędziami wymaga M x N niestandardowych integracji. Powiedzmy, że obsługujesz 5 LLM (Claude, GPT-4, Gemini, Llama, Mistral) i potrzebujesz, aby miały dostęp do 10 narzędzi (GitHub, Postgres, Slack, Jira itd.). To daje 50 indywidualnych warstw integracyjnych, każda z własnym uwierzytelnianiem, obsługą błędów i formatowaniem danych.

Dzięki MCP każdy model implementuje protokół klienta MCP raz, a każde narzędzie implementuje serwer MCP raz. Teraz mamy 5 + 10 = 15 implementacji zamiast 50. Dodajesz nowy model? Natychmiast działa ze wszystkimi 10 narzędziami. Dodajesz nowe narzędzie? Wszystkie 5 modeli może z niego korzystać.

Krótka historia MCP

Anthropic open-sourcował MCP w listopadzie 2024 roku wraz z SDK dla Pythona i TypeScript oraz konektorami dla Claude Desktop. Przyjęcie nastąpiło szybko. OpenAI dodało obsługę MCP do ChatGPT w marcu 2025 roku. Google podążyło za tym dla Gemini w kwietniu 2025 roku. Do grudnia 2025 roku Anthropic przekazał MCP nowej Agentic AI Foundation (AAIF) należącej do Linux Foundation, współzałożonej z Block i OpenAI, czyniąc MCP neutralnym wobec dostawców standardem z międzybranżowym zarządzaniem.

Czym MCP NIE jest:

  • Nie jest modelem ani frameworkiem AI (to protokół, jak HTTP)
  • Nie zastępuje LangChain ani LlamaIndex (to warstwy orkiestracji; MCP znajduje się poniżej nich)
  • Nie jest ograniczony do Anthropic lub Claude (z założenia jest niezależny od modelu)
  • Nie jest tym samym co wywoływanie funkcji (więcej na ten temat w sekcji porównania)

Jak działa MCP? Dogłębna analiza architektury

MCP ma trzy role, a ich mylenie jest najczęstszym błędem początkujących. Ustalmy tę różnicę raz na zawsze.

<!-- IMAGE: Diagram architektury MCP pokazujący role hosta, klienta i serwera z prawdziwymi przykładami takimi jak Claude Desktop, GitHub MCP Server, Postgres MCP Server -->

Host, Klient i Serwer – jaka jest różnica?

KomponentRolaPrzykładyCo robi
HostAplikacja, z którą interakcję prowadzi użytkownikClaude Desktop, Cursor, VS CodeUdostępnia UI, zarządza instancjami klientów
KlientObsługa protokołu wewnątrz hostaWbudowany w aplikację hostaUtrzymuje połączenie 1:1 z jednym serwerem MCP
SerwerUdostępnia narzędzia i dane przez MCPSerwer GitHub, serwer Postgres, serwer SlackOpakowuje zewnętrzne API/dane w punkty końcowe kompatybilne z MCP

Oto konkretny przykład: prosisz Claude Desktop o sprawdzenie otwartych pull requestów na GitHubie. Claude Desktop jest hostem. Jego wbudowany klient MCP otwiera połączenie z serwerem MCP GitHuba. Serwer wywołuje API GitHuba, pobiera Twoje PR-y i zwraca wyniki do klienta, który przekazuje je modelowi.

Jeden host może uruchamiać wielu klientów, każdy połączony z innym serwerem. Dzięki temu Claude Desktop może jednocześnie uzyskiwać dostęp do GitHuba, Twojej bazy danych Postgres i Slacka – trzech oddzielnych serwerów MCP, trzech oddzielnych połączeń klienckich, jednego hosta.

Przepływ wiadomości (JSON-RPC 2.0)

Cała komunikacja MCP wykorzystuje JSON-RPC 2.0, lekki protokół żądanie/odpowiedź. Oto jak wygląda wymiana tools/list w sieci:

json
// Client request: "What tools do you have?"
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Server response: one tool available
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "inputSchema": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    ]
  }
}

Model odczytuje te definicje narzędzi, decyduje, kiedy je wywołać na podstawie żądania użytkownika, a klient wysyła z powrotem do serwera żądanie tools/call z odpowiednimi argumentami.

Cykl życia połączenia

Każda sesja MCP przebiega według tego samego cyklu życia:

  1. Inicjalizacja, klient wysyła swoje możliwości, serwer odpowiada swoimi
  2. Negocjacja możliwości, obie strony uzgadniają obsługiwane funkcje (narzędzia, zasoby, prompty, próbkowanie)
  3. Gotowość, połączenie jest aktywne; żądania płyną w obu kierunkach
  4. Żądania/odpowiedzi, tools/call, resources/read itp.
  5. Zamykanie, czyste rozłączenie

To handshake zapewnia zgodność wsteczną. Jeśli serwer doda nowy prymityw, starsi klienci elegancko go zignorują zamiast ulec awarii.

Prymitywy MCP: Narzędzia, Zasoby, Prompty i Próbkowanie

MCP definiuje cztery prymitywy, a zrozumienie tego, kto kontroluje każdy z nich, jest kluczem do projektowania dobrych serwerów MCP.

PrymitywKto kontrolujeKierunekPrzykładPrzypadek użycia
Narzędzia (Tools)Model decyduje, kiedy wywołaćKlient -> Serwercreate_github_issueAkcje podejmowane autonomicznie przez AI
Zasoby (Resources)Aplikacja/użytkownik wybieraKlient -> Serwerfile://project/README.mdDane dołączone do kontekstu
Prompty (Prompts)Użytkownik wyzwalaKlient -> SerwerSzablon code_reviewWielokrotnego użytku wzorce interakcji
Próbkowanie (Sampling)Serwer żąda uzupełnieniaSerwer -> KlientSerwer prosi model o podsumowaniePętle agentowe, gdzie serwer używa LLM

Narzędzia (Kontrolowane przez model)

Narzędzia to funkcje, które model może wywołać. Serwer deklaruje je z nazwą, opisem i definicją wejścia w JSON Schema. Model odczytuje te definicje i gdy żądanie użytkownika tego wymaga, model decyduje się na wywołanie narzędzia.

json
// Client sends tools/call request
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "city": "Berlin" }
  }
}

Jeśli korzystałeś z wywoływania funkcji OpenAI, narzędzia będą Ci znajome, ale są one standaryzowane across każdego modelu kompatybilnego z MCP.

Zasoby (Kontrolowane przez aplikację)

Zasoby to punkty końcowe danych tylko do odczytu. W przeciwieństwie do narzędzi, model nie decyduje samodzielnie o pobraniu zasobu – aplikacja hostująca lub użytkownik jawnie dołącza zasoby do kontekstu rozmowy. Traktuj je jak punkty końcowe GET: postgres://mydb/users/schema, file://docs/api-reference.md.

Zasoby obsługują subskrypcje poprzez resources/subscribe, dzięki czemu klient może być powiadamiany o zmianach danych.

Prompty (Kontrolowane przez użytkownika)

Prompty to szablony wielokrotnego użytku udostępniane przez serwer MCP. Prompt code_review może przyjmować ścieżkę do pliku i generować ustrukturyzowane żądanie recenzji. Użytkownik (lub UI hosta) wyzwala prompty jawnie, nie są one automatycznie wywoływane przez model.

Próbkowanie (Inicjowane przez serwer), Zaawansowane

Oto prymityw, który pomija większość przewodników. Próbkowanie pozwala serwerowi poprosić klienta o wygenerowanie uzupełnienia przy użyciu LLM. Odwraca to zwykły przepływ: zamiast model wywoływał narzędzie, narzędzie wywołuje model.

Po co? Pętle agentowe. Wyobraź sobie serwer MCP, który przetwarza zgłoszenia wsparcia. Odczytuje zgłoszenie (zasób), używa sampling/createMessage, aby poprosić model o podsumowanie, a następnie używa tego podsumowania do skierowania zgłoszenia za pomocą narzędzia. Serwer organizuje wieloetapowy przepływ pracy, wykorzystując inteligencję modelu.

Próbkowanie jest kontrolowane przez aplikację hostującą – użytkownik musi je zatwierdzić, a host kontroluje, o co serwer może poprosić. Zapobiega to niekontrolowanym pętlom i utrzymuje nadzór człowieka.

Zbuduj swój pierwszy serwer MCP: Python i TypeScript obok siebie

Dość teorii. Zbudujmy działający serwer MCP, który udostępnia narzędzie get_weather. Pokażę zarówno Pythona, jak i TypeScript, abyś mógł porównać doświadczenie deweloperskie i wybrać stos pasujący do Twojego projektu.

Python z FastMCP

FastMCP to oficjalne wysokopoziomowe SDK dla Pythona. Zajmuje się całą mechaniką protokołu, więc możesz skupić się na logice swojego narzędzia.

bash
# Install FastMCP
pip install fastmcp
python
# weather_server.py
from fastmcp import FastMCP

mcp = FastMCP("Weather Server")

@mcp.tool()
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    # In production, call a real weather API here
    weather_data = {
        "Berlin": "Cloudy, 12°C",
        "Tokyo": "Sunny, 22°C",
        "New York": "Rainy, 8°C",
    }
    return weather_data.get(city, f"No data for {city}")

if __name__ == "__main__":
    mcp.run()

To wszystko – 15 linii. FastMCP wnioskuje schemat wejściowy narzędzia z hintów typów Pythona i docstringa. Bez boilerplate'u JSON Schema.

TypeScript z oficjalnym SDK

TypeScript SDK (@modelcontextprotocol/sdk) jest nieco bardziej jawny, ale daje pełną kontrolę nad definicjami schematów.

bash
# Install the SDK and Zod for schema validation
npm install @modelcontextprotocol/sdk zod
typescript
// weather-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "Weather Server",
  version: "1.0.0",
});

server.tool(
  "get_weather",
  "Get the current weather for a city",
  { city: z.string() },
  async ({ city }) => {
    const weatherData: Record<string, string> = {
      Berlin: "Cloudy, 12°C",
      Tokyo: "Sunny, 22°C",
      "New York": "Rainy, 8°C",
    };
    return {
      content: [
        { type: "text", text: weatherData[city] ?? `No data for ${city}` },
      ],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

Wersja TypeScript używa schematów Zod zamiast hintów typów i zwraca ustrukturyzowane bloki treści. Bardziej rozwlekłe, ale bezpieczeństwo typów jest doskonałe.

Połącz z Claude Desktop

Aby podpiąć którykolwiek serwer do Claude Desktop, dodaj go do swojego claude_desktop_config.json:

json
{
  "mcpServers": {
    "weather-python": {
      "command": "python",
      "args": ["weather_server.py"],
      "cwd": "/path/to/your/project"
    },
    "weather-typescript": {
      "command": "npx",
      "args": ["tsx", "weather-server.ts"],
      "cwd": "/path/to/your/project"
    }
  }
}

Uruchom ponownie Claude Desktop, a oba serwery pogodowe pojawią się na liście narzędzi. Zapytaj „Jaka jest pogoda w Berlinie?”, a model automatycznie wywoła Twoje narzędzie get_weather.

Testuj z MCP Inspector

Zanim podłączysz swój serwer do hosta, przetestuj go w izolacji za pomocą MCP Inspector:

bash
npx @modelcontextprotocol/inspector python weather_server.py

Inspector otwiera interfejs przeglądarkowy, w którym możesz zobaczyć odkryte narzędzia, wywoływać je ręcznie i inspekcjonować wiadomości JSON-RPC przesyłane tam i z powrotem. To najlepsze narzędzie debuggerskie w ekosystemie MCP, używaj go wcześnie i często.

Transports MCP: stdio dla Dev, Streamable HTTP dla Produkcji

Wiadomości MCP potrzebują sposobu na podróżowanie między klientem a serwerem. To warstwa transportu, a wybór właściwej ma znaczenie.

TransportPrzypadek użyciaZaletyWadyStatus
stdioLokalny development, narzędzia osobisteZero konfiguracji, prosty, szybkiTylko na tej samej maszynieAktywny
Streamable HTTPProdukcja, zdalne serwery, multi-userDziała przez sieć, obsługuje streaming przez SSE, przyjazny dla bezstanowościWymaga serwera HTTP, potrzebuje authAktywny (spec 2025)
HTTP+SSE (stary)Starszy transport zdalnyBył oryginalną opcją zdalnąZastąpiony przez Streamable HTTPPrzestarzały

stdio działa poprzez spawnowanie serwera MCP jako podprocesu i komunikację przez stdin/stdout. To właśnie użyliśmy w powyższym tutorialu, bez portów, bez TLS, bez potrzeby uwierzytelniania. Idealne do developmentu i jednoosobowych narzędzi lokalnych.

Streamable HTTP to transport produkcyjny, dodany w aktualizacji specyfikacji z 2025 roku. Klienci wysyłają standardowe żądania HTTP POST do serwera. Serwer może odpowiadać synchronicznie lub otworzyć strumień SSE dla dłuższych operacji. Jest przyjazny dla bezstanowości, działa za load balancerami i obsługuje standardowe uwierzytelnianie HTTP.

Jeśli widzisz starsze tutoriale mówiące o „HTTP+SSE” jako o dwóch oddzielnych transportach (jeden do wysyłania, jeden do odbierania), to podejście przestarzałe. Streamable HTTP konsoliduje oba w jeden, czystszy mechanizm.

Decyzja jest prosta: używaj stdio podczas developowania lokalnie, przełącz się na streamable-http podczas wdrażania dla innych.

typescript
// Switching from stdio to Streamable HTTP in TypeScript
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const transport = new StreamableHTTPServerTransport({ port: 3001 });
await server.connect(transport);

MCP vs Wywoływanie Funkcji vs REST API – Kiedy używać czego

To pytanie pojawia się w każdej dyskusji o MCP, więc rozstrzygnijmy to bezpośrednim porównaniem.

CechaMCPWywoływanie FunkcjiREST APIs
StandaryzacjaOtwarty protokół, niezależny od modeluPer-dostawca (OpenAI, Anthropic mają swoje własne)Uniwersalny
Odkrywanie narzędziWbudowane (tools/list)Brak, wysyłasz schematy per żądanieBrak, wymaga dokumentacji lub specyfikacji OpenAPI
Dostęp do danychPrymityw ZasobówNieobsługiwanyStandardowe endpointy
Szablony promptówPrymityw PromptówNieobsługiwanyNie dotyczy
AuthOAuth 2.1 (poziom specyfikacji)Klucz API dostawcyRóżne (klucze API, OAuth itp.)
StreamingSSE przez Streamable HTTPZależne od dostawcyRóżne
Multi-ModelDziała z każdym modelem kompatybilnym z MCPZablokowane do API jednego dostawcyNiezależne od modelu (z kodem klejącym)
Ekosystem serwerów10 000+ gotowych serwerówN/AMiliony API
Złożoność konfiguracjiUruchom serwer MCPWyślij JSON w wywołaniu APIKlient HTTP
Najlepsze dlaŚrodowiska agentowe multi-model, multi-toolProste aplikacje single-model z kilkoma narzędziamiKomunikacja usługa-do-usługi

Kiedy Wywoływanie Funkcji wystarcza

Jeśli masz mniej niż 5 narzędzi i używasz jednego modelu, wywoływanie funkcji jest prostsze. Definiujesz schematy narzędzi inline z każdym wywołaniem API, model zwraca nazwę funkcji i argumenty, a Ty wykonujesz je w kodzie aplikacji. Żadnego serwera do uruchamiania, żadnego protokołu do nauki. Dla chatbota sprawdzającego status zamówienia i szukającego FAQ, wywoływanie funkcji jest całkowicie wystarczające.

Kiedy MCP staje się opłacalne

MCP zyskuje na złożoności, gdy:

  • Obsługujesz wiele LLM i nie chcesz przepisywać definicji narzędzi dla każdego dostawcy
  • Potrzebujesz odkrywania narzędzi, model może zapytać, co jest dostępne, zamiast hardcodować schematy
  • Chcesz zasobów i promptów, nie tylko wywołań narzędzi
  • Budujesz agentów AI, którzy koordynują się autonomicznie i potrzebują standaryzowanej warstwy integracyjnej
  • Twój zespół rośnie i różni inżynierowie budują różne narzędzia, MCP pozwala im pracować niezależnie

Werdykt: MCP wygrywa, gdy potrzebujesz standaryzowanego, multi-model dostępu do narzędzi. Wywoływanie funkcji wygrywa w prostych przypadkach single-model. REST API pozostaje właściwym wyborem dla tradycyjnej komunikacji usługa-do-usługi, która nie obejmuje LLM.

Ekosystem MCP w 2026: Kto go wspiera i co jest dostępne

MCP przeszedł drogę od pobocznego projektu Anthropic do standardu branżowego w niespełna 18 miesięcy. Oto jak wygląda sytuacja.

Jakie LLM wspierają MCP?

LLMWsparcie MCPOdUwagi
ClaudeNatywne, pełne wsparcieListopad 2024Stworzył MCP; najgłębsza integracja
ChatGPTOficjalne wsparcieMarzec 2025Przez integrację MCP OpenAI
GeminiOficjalne wsparcieKwiecień 2025Serwery MCP Google Cloud dla usług Google
Llama / Open-SourcePrzez adaptery2025LangChain, LlamaIndex i customowe adaptery
Copilot (VS Code)Natywne w trybie agenta2025Microsoft dostarcza wsparcie MCP w VS Code

Popularne serwery MCP, które warto znać

KategoriaSerwerCo robi
KodGitHubPR-y, issues, repozytoria, wyszukiwanie kodu
KodGitLabMerge requesty, pipeline'y, zarządzanie projektem
Baza danychPostgreSQLInspekcja schematu, wykonywanie zapytań
Baza danychMySQLDostęp do zapytań i schematu
SaaSSlackWiadomości kanałów, wyszukiwanie, powiadomienia
SaaSGoogle DriveDostęp do plików, wyszukiwanie, czytanie dokumentów
SaaSNotionCzytanie stron, zapytania do bazy danych
WyszukiwarkaBrave SearchWyniki wyszukiwania web
DevOpsDockerZarządzanie kontenerami
InfraAWSZarządzanie zasobami chmurowymi

Ogłoszenie AAIF Linux Foundation cytowało ponad 10 000 aktywnych serwerów i 97 milionów miesięcznych pobrań SDK w momencie przekazania MCP w grudniu 2025 roku. Ekosystem nie jest już eksperymentalny, jest gotowy do produkcji.

MCP Apps to nowy prymityw wprowadzony w styczniu 2026 roku. Pozwala serwerom dostarczać interaktywne komponenty UI, które renderują się wewnątrz aplikacji hostującej. Wciąż wczesne stadium, ale sygnalizuje ewolucję MCP z protokołu danych do pełnego frameworka aplikacyjno-agentowego. Warto obserwować.

Zarządzanie: Od Anthropic do Linux Foundation

MCP jest zarządzany przez Agentic AI Foundation (AAIF) pod auspicjami Linux Foundation, współzałożoną przez Anthropic, Block i OpenAI. Ma to znaczenie dla adopcji enterprise: MCP nie jest związany z roadmapą jednego dostawcy. Priorytety roadmapy na 2026 rok to ewolucja transportu, komunikacja agent-do-agenta (nowy prymityw „Tasks”), dojrzewanie zarządzania i gotowość enterprise.

Dla zespołów budujących produkcyjne systemy AI, frameworki takie jak autonomiczny framework agentów AI OpenClaw już integrują się z serwerami MCP, aby dać agentom możliwości świata rzeczywistego.

Bezpieczeństwo MCP: OAuth 2.1, Zagrożenia i Praktyczna Lista Kontrolna

Bezpieczeństwo to obszar, w którym ekosystem MCP ma najwięcej do nadrobienia. A liczby malują drastyczny obraz.

Problem 88%: Dlaczego większość serwerów MCP jest niezabezpieczona

Astrix Security przeanalizowało ponad 5200 implementacji serwerów MCP open-source i stwierdziło, że 88% wymaga jakichś poświadczeń, ale 53% polega na niezabezpieczonych, długotrwałych statycznych sekretach, takich jak klucze API i tokeny dostępu osobistego, hardcoded w plikach konfiguracyjnych. Tylko 8,5% implementuje OAuth.

Oznacza to, że przytłaczająca większość serwerów MCP w dzikiej naturze używa uwierzytelniania równoważnego przyklejeniu klucza do domu taśmą na drzwiach wejściowych.

OAuth 2.1 dla serwerów MCP

Specyfikacja MCP wymaga OAuth 2.1 dla wszystkich serwerów opartych na HTTP od aktualizacji z czerwca 2025 roku. Przepływ działa tak: klient MCP inicjuje przepływ autoryzacji OAuth 2.1 z serwerem, uzyskuje token dostępu z określonym zakresem i dołącza go do każdego kolejnego żądania. PKCE (Proof Key for Code Exchange) jest wymagane dla wszystkich klientów, bez wyjątków.

Jeśli budujesz serwer MCP działający przez Streamable HTTP, OAuth 2.1 nie jest opcjonalne. Jest wymagane przez specyfikację.

Model zagrożeń: Co może pójść nie tak

Cztery zagrożenia zasługują na uwagę w każdej wdrożeniu MCP:

  • Wstrzykiwanie promptów przez narzędzia, Złośliwe lub skompromitowane źródło danych zwraca treść zaprojektowaną do manipulacji modelem. Jeśli narzędzie pobiera stronę internetową, a ta strona zawiera ukryte instrukcje, model może je wykonać.
  • Atak confused deputy, Model wywołuje narzędzie z szerszymi uprawnieniami niż zamierzał użytkownik. Jeśli serwer MCP ma dostęp admina do bazy danych, model teoretycznie mógłby usunąć tabelę.
  • Ryzyko koncentracji tokenów, Serwer MCP, który przechowuje klucze API do GitHuba, Slacka i Twojej produkcyjnej bazy danych, jest pojedynczym celem o wysokiej wartości. Skompromituj jeden serwer, skompromituj wszystko, z czym się łączy.
  • Niebezpieczny transport, Uruchamianie serwera HTTP MCP bez TLS naraża każde żądanie, w tym tokeny OAuth i poufne dane, w postaci plaintext.

Lista kontrolna bezpieczeństwa dla produkcyjnego MCP

  1. Zaimplementuj OAuth 2.1 dla każdego serwera wystawionego przez HTTP. Żadnych statycznych kluczy API w plikach konfiguracyjnych.
  2. Stosuj zasadę najmniejszych uprawnień. Jeśli Twoje narzędzie tylko odczytuje dane, poświadczenia serwera powinny być tylko do odczytu. Nie dawaj narzędziu raportującemu uprawnień do zapisu.
  3. Izoluj poświadczenia. Każdy serwer MCP powinien mieć swoje własne tokeny z określonym zakresem. Nie dziel jednego „boskiego tokena” między serwerami.
  4. Wymuszaj TLS wszędzie. Streamable HTTP bez HTTPS to automatyczne „nie” dla produkcji.
  5. Waliduj i sanitizuj wyjścia narzędzi. Traktuj dane zwracane przez narzędzia tak samo, jak traktowałbyś dane wejściowe użytkownika, nie ufaj im слепо.
  6. Limituj wywołania narzędzi. Pętla agenta wymykająca się spod kontroli, wywołująca narzędzie tysiące razy, może wyczerpać limity API lub spowodować niezamierzone skutki uboczne.
  7. Audituj i loguj każde wywołanie narzędzia. Dołącz ID żądania, znaczniki czasu, wywołujący model i argumenty narzędzia. Potrzebujesz tego do debugowania i reagowania na incydenty bezpieczeństwa.

Debugowanie MCP: Inspector, Logowanie i Częste Błędy

Napotkasz błędy. Każdy deweloper to robi. Oto jak naprawić je szybko.

MCP Inspector to oficjalne narzędzie debuggerskie i Twoja pierwsza linia obrony. Łączy się z dowolnym serwerem MCP, odkrywa jego narzędzia/zasoby/prompty i pozwala wywoływać je ręcznie, pokazując surowy ruch JSON-RPC.

bash
# Launch Inspector against your Python server
npx @modelcontextprotocol/inspector python weather_server.py

# Or against a TypeScript server
npx @modelcontextprotocol/inspector npx tsx weather-server.ts

Inspector otwiera interfejs oparty na przeglądarce z zakładkami dla Narzędzi, Zasobów, Promptów i panelem powiadomień. Możesz wywołać dowolne narzędzie z customowymi argumentami i zobaczyć dokładnie, jaki JSON przelatuje przez sieć. Używaj go przed połączeniem z aplikacją hostującą, znacznie łatwiej jest debugować serwer w izolacji.

Częste błędy i poprawki

  • „Server not found” w Claude Desktop, Prawie zawsze problem ze ścieżką w claude_desktop_config.json. Sprawdź dwukrotnie, czy command wskazuje na prawdziwy binarium, a cwd na poprawny katalog. Na macOS używaj ścieżek absolutnych.
  • Błędy walidacji schematu narzędzia, Jeśli model wysyła argumenty, które nie pasują do inputSchema narzędzia, serwer odrzuca wywołanie. Sprawdź, czy typy w schemacie pasują do tego, czego oczekuje model. Zod (TypeScript) i hinty typów (Python) łapią większość z nich na etapie definicji.
  • Urywanie połączenia transportu, Dla stdio zwykle oznacza to, że proces serwera uległ awarii. Sprawdź output stderr. Dla Streamable HTTP zweryfikuj ustawienia timeoutu, długo działające narzędzia mogą przekroczyć domyślne timeouty HTTP.
  • „Permission denied” lub błędy 401, Zakres OAuth zbyt wąski. Serwer odrzuca token, ponieważ nie ma wymaganych uprawnień. Poszerz zakres, ale tylko tyle, ile narzędzie rzeczywiście potrzebuje.

Najlepsze praktyki logowania

Strukturyzuj logi z ID żądań, abyś mógł śledzić pojedyncze żądanie użytkownika przez klienta MCP, serwer i wszelkie downstream API. Loguj każde wywołanie tools/call z nazwą narzędzia, argumentami, czasem odpowiedzi i statusem wyniku. W produkcji wysyłaj te logi do platformy observability, gdy coś pójdzie nie tak o 3 nad ranem, będziesz wdzięczny, że to zrobiłeś.

Jak Techsy buduje z MCP

Integrujemy MCP w projektach klienckich od początku 2025 roku, a wzorzec, który widzimy najczęściej, jest taki: zespół ma funkcję AI, która działa z jednym modelem i garstką narzędzi, ale planują skalowanie – więcej modeli, więcej źródeł danych, więcej możliwości agentowych. To punkt zwrotny, w którym MCP zaczyna się opłacać.

Nasze podejście składa się z trzech kroków:

  1. Ocena dopasowania. Nie każdy projekt potrzebuje MCP. Jeśli wywołujesz dwa narzędzia z jednego modelu, wywoływanie funkcji jest prostsze i powiemy Ci to. MCP ma sens, gdy łączysz 3+ źródła danych, obsługujesz wiele modeli lub budujesz przepływy agentowe, gdzie narzędzia muszą być discoverowalne.
  2. Budowa i testowanie serwerów w izolacji. Opracowujemy customowe serwery MCP dla każdego źródła danych – wewnętrznych baz danych, API SaaS, usług proprietary – i walidujemy je z MCP Inspector przed podłączeniem do jakiegokolwiek hosta.
  3. Wdrażanie ze Streamable HTTP i OAuth 2.1. Dla produkcji uruchamiamy serwery MCP jako konteneryzowane usługi za TLS, ze scoped tokenami OAuth i strukturalnym logowaniem od pierwszego dnia. Żadnych statycznych sekretów.

Najczęstsze integracje, które budujemy: łączenie asystentów AI z wewnętrznymi bazami danych Postgres, budowanie customowych serwerów MCP dla platform SaaS klientów oraz migracja zespołów z rozproszonych setupów function-calling do standaryzowanej architektury MCP.

Budujesz narzędzia zasilane AI, które muszą łączyć się z Twoją infrastrukturą? Pomagamy zespołom projektować i implementować integracje MCP. Umów bezpłatną konsultację

Często Zadawane Pytania o MCP

Czym jest Model Context Protocol (MCP)?

MCP to otwarty standard, pierwotnie stworzony przez Anthropic, a obecnie zarządzany przez Linux Foundation, który definiuje, jak modele AI łączą się z zewnętrznymi narzędziami, źródłami danych i usługami. Standaryzuje warstwę integracji, więc jeden serwer MCP działa z każdym kompatybilnym modelem, jak uniwersalna wtyczka dla AI.

Jak działa MCP?

MCP używa trzyczęściowej architektury: aplikacja hosta (jak Claude Desktop lub Cursor), klient MCP wewnątrz hosta, który zarządza połączeniami, oraz serwery MCP, które udostępniają narzędzia i dane. Cała komunikacja wykorzystuje wiadomości JSON-RPC 2.0 przez stdio (lokalnie) lub Streamable HTTP (zdalnie).

Do czego służy MCP?

Typowe przypadki użycia obejmują łączenie asystentów AI z bazami danych (Postgres, MySQL), integrację z platformami kodu (GitHub, GitLab), dostęp do narzędzi SaaS (Slack, Notion, Google Drive) oraz budowanie autonomicznych agentów AI, które muszą interagować z usługami świata rzeczywistego.

Czy MCP jest tym samym co wywoływanie funkcji?

Nie. Wywoływanie funkcji jest specyficzne dla modelu (format OpenAI różni się od Anthropic) i per-żądanie – wysyłasz schematy narzędzi z każdym wywołaniem API. MCP to standaryzowany protokół, który działa across modeli, wspiera odkrywanie narzędzi i obejmuje zasoby oraz prompty poza samym wykonaniem funkcji.

Czym są serwery MCP?

Serwery MCP to programy, które udostępniają narzędzia, zasoby i prompty modelom AI przez protokół MCP. Opakowują zewnętrzne API i źródła danych w standaryzowany interfejs. Przykłady obejmują serwer GitHub MCP (do zarządzania PR i issue) oraz serwer Postgres MCP (do zapytań do bazy danych).

Jak zbudować serwer MCP?

Użyj Pythona z FastMCP (pip install fastmcp) lub TypeScript z oficjalnym SDK (npm install @modelcontextprotocol/sdk). Zdefiniuj swoje narzędzia jako dekorowane funkcje (Python) lub zarejestrowane handlery (TypeScript), a następnie uruchom serwer. Zobacz sekcję tutoriala powyżej dla kompletnego działającego kodu lub skorzystaj z naszego przewodnika krok po kroku budowania serwera MCP od zera dla pełnego walkthrough.

Czy MCP jest bezpieczne?

Sam protokół wspiera OAuth 2.1 do uwierzytelniania i scoped permissions. Jednak badania Astrix Security wykazały, że 88% istniejących implementacji serwerów MCP polega na statycznych sekretach zamiast OAuth. Protokół jest bezpieczny z założenia, ale większość wdrożeń w świecie rzeczywistym jeszcze nie nadążyła.

Jakie LLM wspierają MCP?

Claude ma natywne wsparcie MCP od jego stworzenia w listopadzie 2024 roku. ChatGPT dodało wsparcie w marcu 2025, a Gemini podążyło w kwietniu 2025. Modele open-source mogą używać MCP przez adaptery w LangChain i LlamaIndex.

Jaka jest różnica między MCP a REST API?

REST API są zaprojektowane do ogólnej komunikacji usługa-do-usługi. MCP jest zaprojektowane specjalnie do interakcji z modelem AI – obejmuje odkrywanie narzędzi, negocjację schematów, dostęp do zasobów i szablony promptów, których REST nie posiada. Nie zastępowałbyś swoich REST API przez MCP; służą różnym warstwom.

Kto teraz utrzymuje MCP?

Agentic AI Foundation (AAIF) Linux Foundation, utworzona w grudniu 2025 roku, zarządza MCP. Została współzałożona przez Anthropic, Block i OpenAI. To neutralne wobec dostawców zarządzanie jest kluczowym powodem, dla którego przedsiębiorstwa adoptują MCP.

Czym jest Streamable HTTP w MCP?

Streamable HTTP to mechanizm transportu produkcyjnego dodany w aktualizacji specyfikacji MCP z 2025 roku. Zastępuje starszy transport HTTP+SSE czystszym designem: klienci wysyłają żądania HTTP POST, a serwery mogą odpowiadać synchronicznie lub przez streaming SSE. Działa za load balancerami i wspiera standardowe uwierzytelnianie HTTP.

Ile istnieje serwerów MCP?

Linux Foundation cytowało ponad 10 000 aktywnych serwerów i 97 milionów miesięcznych pobrań SDK, gdy MCP zostało przekazane do AAIF w grudniu 2025 roku. Ekosystem obejmuje bazy danych, narzędzia kodu, integracje SaaS, wyszukiwarki i dostawców infrastruktury chmurowej.

Podsumowanie

MCP przeszło drogę od open-source'owego eksperymentu Anthropic do branżowego standardu protokołu łączenia modeli AI z narzędziami w nieco ponad rok. Oto co ważne:

  • MCP rozwiązuje problem M x N, jeden serwer działa z każdym kompatybilnym modelem, jeden klient działa z każdym serwerem
  • Możesz zbudować działający serwer MCP w mniej niż 50 linii Pythona (FastMCP) lub TypeScript
  • Używaj stdio do developmentu, Streamable HTTP do produkcji, wybór transportu jest prosty
  • Zabezpiecz swoje serwery OAuth 2.1 – 88% obecnych implementacji tego nie robi, a to realne ryzyko
  • Ekosystem jest gotowy do produkcji – 10 000+ serwerów, wszystkie główne LLM, neutralne wobec dostawców zarządzanie pod Linux Foundation

Patrząc w przyszłość, roadmapa na 2026 rok koncentruje się na komunikacji agent-do-agenta przez nowy prymityw Tasks, ulepszonym bezpieczeństwie enterprise i MCP Apps dla interaktywnego UI sterowanego przez serwer. MCP nie jest już tylko protokołem dostępu do narzędzi, staje się warstwą infrastrukturalną dla agentowego AI.

Zacznij od kodu tutoriala powyżej, przetestuj go w MCP Inspector i połącz z Claude Desktop. Będziesz miał działającą integrację MCP w mniej niż godzinę.

Źródła

  • Specyfikacja MCP (2025-11-25)
  • Specyfikacja Autoryzacji MCP
  • Specyfikacja Transportów MCP
  • Dokumentacja MCP Inspector
  • Wprowadzenie Model Context Protocol, Anthropic
  • Przekazanie MCP do Linux Foundation, Anthropic
  • Ogłoszenie AAIF Linux Foundation
  • Wsparcie MCP Google Cloud
  • FastMCP Python SDK
  • MCP TypeScript SDK
  • Astrix Security: Stan Bezpieczeństwa Serwerów MCP 2025
  • Roadmapa MCP 2026

Tagi

model context protocolmcpserwer mcpagenci aitutorial mcparchitektura mcpfastmcprozwój ai

Udostępnij artykuł

Powiązane artykuły

Więcej w ai-machine-learning

ai-machine-learning
Jul 24, 2026

Claude Opus 5 już jest: inteligencja bliska Fable 5 za połowę ceny

Anthropic wydał Claude Opus 5 24 lipca 2026. Model ponad dwukrotnie przebija Opus 4.8 w Frontier-Bench i utrzymuje cenę Opus, ale przegrywa kilka testów z Fable 5 i Mythos 5. Oto tabela benchmarków, ceny i rekomendacja: przejść, poczekać czy zostać.

10 min read min
Czytaj
ai-machine-learning
Jul 20, 2026

8 najlepszych API do scrapingu AI w 2026 (przetestowane na naszym stacku agentów)

Przetestowaliśmy 8 API do scrapingu AI z realnymi cenami z 2026 roku, pobranymi przez nasz własny stack agentów. Firecrawl, Bright Data, ScrapingBee i 5 innych — ranking pod kątem wyjścia gotowego dla LLM, omijania antybotów i obsługi MCP.

9 min read min
Czytaj
ai-machine-learning
Jul 20, 2026

Inżynieria promptów dla programistów: 7 wzorców, których używamy codziennie w Claude Code i Cursor (2026)

Większość artykułów o „promptach do kodowania z AI” serwuje 50 szablonów do skopiowania. Ten uczy 7 wzorców, których używamy każdego dnia do obsługi potoku 16 agentów Claude Code, z rzeczywistymi przykładami „przed i po” oraz informacją, gdzie każdy wzorzec stosować w Claude Code, Cursor i Copilot w 2026 roku.

11 min read min
Czytaj
Zobacz wszystkie artykuły
Rozpocznij swój projekt

Gotowi, by zbudować coś co Cię wyróżnia?

Zamieńmy Twoją wizję w rzeczywistość. Nasz zespół jest gotowy, by pomóc Ci stworzyć oprogramowanie, które robi różnicę.

Umów 30-minutowe spotkanie wstępneZobacz nasze realizacje

Z naszej biblioteki

Umiejętności Claude

Zobacz wszystkie
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Automatyzacje AI

Zobacz wszystkie
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Z naszej biblioteki

Umiejętności Claude

Zobacz wszystkie
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Automatyzacje AI

Zobacz wszystkie
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Usługi

  • Rozwiązania Enterprise
  • Aplikacje mobilne
  • Aplikacje webowe

Rozwiązania

  • Systemy CRM
  • Integracja AI
  • Rozwiązania ERP
  • Agenci głosowi
  • Automatyzacja procesów
  • Cyberbezpieczeństwo

Biblioteka

  • Blog
  • Portfel realizacji

Społeczność

  • Automatyzacje AI
  • Umiejętności Claude

Narzędzia

  • Kalkulator kosztów aplikacji mobilnej
  • Kalkulator kosztów API OpenAI / LLM
  • Kalkulator kosztów MVP
  • Kalkulator kosztów agenta Voice AI

Firma

  • O nas
  • Partnerzy
  • Kontakt

Prawne

  • Polityka prywatności
  • Regulamin
  • Polityka cookies

Usługi

  • Rozwiązania Enterprise
  • Aplikacje mobilne
  • Aplikacje webowe

Rozwiązania

  • Systemy CRM
  • Integracja AI
  • Rozwiązania ERP
  • Agenci głosowi
  • Automatyzacja procesów
  • Cyberbezpieczeństwo

Biblioteka

  • Blog
  • Portfel realizacji

Społeczność

  • Automatyzacje AI
  • Umiejętności Claude

Narzędzia

  • Kalkulator kosztów aplikacji mobilnej
  • Kalkulator kosztów API OpenAI / LLM
  • Kalkulator kosztów MVP
  • Kalkulator kosztów agenta Voice AI

Firma

  • O nas
  • Partnerzy
  • Kontakt
PrawnePolityka prywatnościRegulaminPolityka cookies
TECHSY
© 2026 Techsy. Wszystkie prawa zastrzeżone.