Konfiguracja MCP
Poprosiłeś Codex o zaimplementowanie funkcji używając najnowszego API React Server Components, a on wygenerował kod używając wzorców sprzed dwóch lat. Poprosiłeś go o sprawdzenie błędów w Sentry, a on powiedział że nie ma dostępu do zewnętrznych serwisów. Problem nie leży w modelu — chodzi o to, że Codex domyślnie widzi tylko twój lokalny system plików. Serwery MCP (Model Context Protocol) rozszerzają to co Codex może osiągnąć: aktualną dokumentację, kontrolę przeglądarki, trackery issues, narzędzia designu i więcej.
Co wyniesiesz z tego przewodnika
Dział zatytułowany „Co wyniesiesz z tego przewodnika”- Przynajmniej jeden serwer MCP skonfigurowany i działający na wszystkich powierzchniach
- Zrozumienie typów serwerów STDIO vs Streamable HTTP
- Konfiguracja
config.tomldla popularnych serwerów MCP (Context7, Playwright, GitHub, Figma, Sentry) - Uwierzytelnianie OAuth skonfigurowane dla serwerów które go wymagają
- Pewność w zarządzaniu, włączaniu i wyłączaniu serwerów
Co MCP daje Codex
Dział zatytułowany „Co MCP daje Codex”Bez MCP, Codex może czytać pliki, uruchamiać polecenia i wyszukiwać w sieci (używając wbudowanego wyszukiwania). Z MCP, Codex otrzymuje narzędzia które może wywoływać: pobieranie aktualnej dokumentacji bibliotek, robienie zrzutów ekranu przeglądarki, czytanie projektów Figma, odpytywanie logów Sentry, zarządzanie pull requestami na GitHub i interakcja z dowolnym serwisem udostępniającym interfejs MCP.
Cała konfiguracja MCP jest współdzielona między Aplikacją, CLI i rozszerzeniem IDE. Skonfiguruj raz w config.toml, używaj wszędzie.
Dwa typy serwerów MCP
Dział zatytułowany „Dwa typy serwerów MCP”Serwery STDIO działają jako lokalny proces. Codex uruchamia je poleceniem i komunikuje się przez standardowe wejście/wyjście.
Przykłady: Context7, Playwright, Sentry, większość open-source serwerów MCP.
Konfiguracja wymaga command i opcjonalnych args, env i cwd:
[mcp_servers.context7]command = "npx"args = ["-y", "@upstash/context7-mcp"]Serwery HTTP działają pod URL-em. Codex łączy się z nimi przez HTTP(S) i opcjonalnie uwierzytelnia tokenem bearer lub OAuth.
Przykłady: Figma (zdalny), Chrome DevTools, niestandardowe serwery wewnętrzne.
Konfiguracja wymaga url i opcjonalnego uwierzytelniania:
[mcp_servers.figma]url = "https://mcp.figma.com/mcp"bearer_token_env_var = "FIGMA_OAUTH_TOKEN"Dodaj swój pierwszy serwer MCP
Dział zatytułowany „Dodaj swój pierwszy serwer MCP”Najszybszym sposobem dodania serwera jest polecenie CLI. Zacznijmy od Context7, który daje Codex dostęp do aktualnej dokumentacji popularnych bibliotek.
codex mcp add context7 -- npx -y @upstash/context7-mcpTo wszystko. Codex zapisuje definicję serwera w ~/.codex/config.toml, a wszystkie powierzchnie natychmiast ją podchwytują.
Popularne konfiguracje serwerów MCP
Dział zatytułowany „Popularne konfiguracje serwerów MCP”Oto bloki config.toml dla najbardziej użytecznych serwerów MCP, gotowe do wklejenia.
Context7 — Dokumentacja bibliotek
Dział zatytułowany „Context7 — Dokumentacja bibliotek”[mcp_servers.context7]command = "npx"args = ["-y", "@upstash/context7-mcp"]Playwright — Kontrola przeglądarki
Dział zatytułowany „Playwright — Kontrola przeglądarki”[mcp_servers.playwright]command = "npx"args = ["-y", "@playwright/mcp"]Użyj Codex do otwarcia przeglądarki, przejścia do twojej aplikacji, robienia zrzutów ekranu i weryfikacji zmian wizualnych.
GitHub — Pull requesty i issues
Dział zatytułowany „GitHub — Pull requesty i issues”[mcp_servers.github]command = "npx"args = ["-y", "@modelcontextprotocol/server-github"]
[mcp_servers.github.env]GITHUB_TOKEN = "ghp_your_token_here"Figma — Dostęp do projektów (zdalny HTTP)
Dział zatytułowany „Figma — Dostęp do projektów (zdalny HTTP)”[mcp_servers.figma]url = "https://mcp.figma.com/mcp"bearer_token_env_var = "FIGMA_OAUTH_TOKEN"http_headers = { "X-Figma-Region" = "us-east-1" }Sentry — Logi błędów
Dział zatytułowany „Sentry — Logi błędów”[mcp_servers.sentry]command = "npx"args = ["-y", "@sentry/mcp-server"]Kontekst dokumentacji (Context7)
Dział zatytułowany „Kontekst dokumentacji (Context7)”[mcp_servers.context7]command = "npx"args = ["-y", "@upstash/context7-mcp@latest"]Konfiguracja przez config.toml (zaawansowana)
Dział zatytułowany „Konfiguracja przez config.toml (zaawansowana)”Dla precyzyjnej kontroli edytuj ~/.codex/config.toml bezpośrednio (lub projektowy .codex/config.toml dla serwerów zespołowych).
Każdy serwer to tabela [mcp_servers.<name>]. Oto w pełni opisany przykład:
[mcp_servers.chrome_devtools]url = "http://localhost:3000/mcp"enabled = trueenabled_tools = ["open", "screenshot", "evaluate"]disabled_tools = ["screenshot"] # Stosowane po enabled_toolsstartup_timeout_sec = 20 # Domyślnie: 10tool_timeout_sec = 45 # Domyślnie: 60Listy dozwolonych/zablokowanych narzędzi
Dział zatytułowany „Listy dozwolonych/zablokowanych narzędzi”Gdy serwer MCP udostępnia wiele narzędzi, możesz ograniczyć które Codex może używać:
enabled_tools: Biała lista. Tylko te narzędzia są dostępne.disabled_tools: Czarna lista. Stosowana po białej liście. Przydatna do usuwania konkretnych narzędzi.
Zmienne środowiskowe
Dział zatytułowany „Zmienne środowiskowe”Dla serwerów STDIO wymagających tajemnic:
[mcp_servers.my_server]command = "my-mcp-server"env_vars = ["DATABASE_URL", "API_SECRET"]env_vars mówi Codex aby przekazywał konkretne zmienne środowiskowe z twojej powłoki do procesu serwera. To jest bezpieczniejsze niż kodowanie tajemnic na twardo w env.
Uwierzytelnianie OAuth
Dział zatytułowany „Uwierzytelnianie OAuth”Niektóre serwery MCP oparte o HTTP używają OAuth. Codex obsługuje to natywnie:
codex mcp login figmaOtwiera to przeglądarkę dla procesu OAuth. Po autoryzacji Codex przechowuje token i używa go w przyszłych zadaniach.
Jeśli twój dostawca OAuth wymaga statycznego URI callback, ustaw:
mcp_oauth_callback_port = 8080Domyślnie Codex binduje się na efemerycznym porcie.
Zarządzanie serwerami
Dział zatytułowany „Zarządzanie serwerami”# Wylistuj wszystkie skonfigurowane serwerycodex mcp list
# Usuń serwercodex mcp remove context7
# Wyłącz bez usuwania (edytuj config.toml)# Ustaw enabled = false w tabeli serweraW aplikacji Codex otwórz Ustawienia > MCP aby zobaczyć wszystkie serwery, włączać/wyłączać je i dodawać nowe z sugerowanych.
W TUI CLI użyj /mcp aby zobaczyć status serwerów.
Gdy coś nie działa
Dział zatytułowany „Gdy coś nie działa”Serwer nie uruchamia się: Sprawdź czy polecenie istnieje. Dla serwerów npx upewnij się że Node.js 18+ jest zainstalowany i npx jest w twoim PATH. Zwiększ startup_timeout_sec jeśli serwer potrzebuje chwili do inicjalizacji.
Błędy “Tool not found”: Serwer mógł się uruchomić, ale jego narzędzia nie zostały zarejestrowane. Uruchom codex mcp list aby sprawdzić. Jeśli brakuje narzędzi, serwer może potrzebować zmiennych środowiskowych lub konfiguracji która nie jest ustawiona.
Proces OAuth nie kończy się: Sprawdź czy twoja przeglądarka może osiągnąć dostawcę OAuth. Jeśli jesteś za korporacyjnym proxy, URL callback może być zablokowany. Spróbuj ustawić mcp_oauth_callback_port na port który twoje proxy przepuszcza.
Serwery działają w CLI, ale nie w Aplikacji: Wszystkie powierzchnie współdzielą tę samą konfigurację, ale Aplikacja może potrzebować restartu aby podchwycić zmiany. Zamknij i otwórz ponownie Aplikację po dodaniu serwerów.
Serwer MCP pada w trakcie zadania: Codex powinien zgłosić awarię i kontynuować pracę bez serwera. Zadanie może nie powieść się jeśli krytycznie zależy od narzędzi serwera. Zrestartuj Codex aby ponownie się połączyć.
Błędy timeoutu: Zwiększ tool_timeout_sec dla wolnych operacji (np. zrzuty ekranu przeglądarki, duże odpowiedzi API).