Przejdź do głównej zawartości

MCP w Claude Code

MCP to otwarty standard łączący Claude z zewnętrznymi narzędziami i danymi: issue trackerami, bazami, API, monitoringiem. Jeśli nie znasz go w ogóle, zacznij od lekcji Serwery MCP w sekcji Narzędzia - tu zajmujemy się wyłącznie konfiguracją w Claude Code.

Okno terminala
# HTTP (zalecane dla zdalnych):
claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_PAT"
# SSE (deprecated):
claude mcp add --transport sse asana https://mcp.asana.com/sse
# stdio (lokalny proces) - pamiętaj o --:
claude mcp add --env AIRTABLE_API_KEY=KEY --transport stdio airtable \
-- npx -y airtable-mcp-server
# z JSON:
claude mcp add-json weather '{"type":"http","url":"https://api.weather.com/mcp",
"headers":{"Authorization":"Bearer token"}}'
# import z Claude Desktop (macOS, WSL):
claude mcp add-from-claude-desktop

Zarządzanie: claude mcp list, claude mcp get <name>, claude mcp remove <name>, claude mcp login <name> i logout <name> z shella, a w sesji /mcp.

local - domyślny, w ~/.claude.json, tylko ten projekt, prywatny. project - plik .mcp.json w repozytorium, współdzielony przez git. user - ~/.claude.json, wszystkie projekty.

Precedencja: local → project → user → plugin → connector claude.ai.

Transporty: stdio, HTTP (streamable-http), SSE (deprecated), WebSocket (type: "ws", tylko przez JSON).

OAuth uruchomisz przez /mcp. Dostępne są --callback-port, --client-id, --client-secret, oauth.scopes oraz headersHelper dla niestandardowej autoryzacji. W .mcp.json działa ekspansja zmiennych: ${VAR}, ${VAR:-default}.

Zasoby przez @: @server:protocol://path, na przykład @github:issue://123 albo @postgres:schema://users.

Prompty MCP jako komendy: /mcp__server__prompt [args], na przykład /mcp__github__list_prs.

Tool Search, domyślnie włączony, odracza definicje narzędzi - dzięki temu dodanie wielu serwerów minimalnie obciąża okno kontekstu.

{
"mcpServers": {
"db": {
"type": "stdio",
"command": "npx",
"args": ["-y","@bytebase/dbhub","--dsn","${DB_DSN}"]
},
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {"Authorization":"Bearer ${GITHUB_PAT}"}
}
}
}

Claude Code jako serwer MCP: claude mcp serve udostępnia jego własne narzędzia innym klientom.

  1. Dodaj lokalny serwer plikowy: claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem /tmp.
  2. Uruchom /mcp i sprawdź, że serwer się połączył.
  3. Spróbuj sięgnąć po zasób: @filesystem:file:///tmp.

Zaliczenie: /mcp pokazuje serwer jako połączony, a odwołanie przez @ zwraca zawartość katalogu. Masz działającą integrację bez linijki własnego kodu.

Jeśli nic nie zgrzyta i zostaje czas: usuń serwer przez claude mcp remove filesystem i dodaj go ponownie w zakresie project. Zobacz, jak wygląda wygenerowany .mcp.json.

  • Serwer dodajesz jedną komendą, a transport wybierasz według tego, gdzie serwer stoi.
  • Zakres decyduje o tym, kto jeszcze zobaczy Twoją konfigurację - project idzie do repozytorium.
  • Zasoby i prompty serwera masz pod @ i pod ukośnikiem, bez dodatkowej konfiguracji.

Następny krok: Skills i plugins - jak dokładać agentowi wiedzę i całe paczki rozszerzeń.

Częste pytania

Który zakres serwera MCP wybrać?

Local, gdy serwer ma być prywatny i tylko w tym projekcie. Project, gdy ma być współdzielony przez repozytorium - wtedy trafia do pliku .mcp.json i idzie do gita. User, gdy ma działać we wszystkich Twoich projektach.

Czy dodanie wielu serwerów MCP zapcha kontekst?

W praktyce nie. Domyślnie włączony Tool Search odracza definicje narzędzi, więc serwery nie zajmują miejsca, dopóki nie są potrzebne.

Czy Claude Code może sam być serwerem MCP?

Tak. Komenda claude mcp serve udostępnia jego własne narzędzia innym klientom protokołu.

made with ❤️ by aitomate.pl - Łukasz Podgórski