Przejdź do głównej treści
Chcesz, by twoje agenty używały serwera Model Context Protocol (MCP) — twojego własnego zdalnego serwera lub dołączonego — ale chcesz, by każde wywołanie narzędzia, które wystawia, przebiegało za pojedynczym audytowanym punktem zwężenia. Pierwszym krokiem jest zarejestrowanie serwera w twojej przestrzeni roboczej: nazwa, endpoint, tryb auth i jego poświadczenia. Gdy jest zarejestrowany, brama MCP ogłasza jego narzędzia pod jednym połączeniem i ewaluuje każde tools/call przez twoją politykę firewalla, zanim dotrze do prawdziwego serwera. Ta strona pokrywa to jedno zadanie — łączenie i konfigurowanie rekordu serwera. Po zachowanie bramy w czasie wykonania i werdykty per wywołanie zobacz referencję MCP; po szerszy obraz zacznij od Przeglądu bezpieczeństwa MCP.
Rejestracja to akcja konsoli (trasy /api/workspace/firewall/* uwierzytelniają się twoim tokenem sesji / dostępu, nie kluczem relay sk-orca-…). Zapisy wymagają roli Developer+; każdy członek może listować serwery.

1. Jak połączyć serwer MCP

Otwórz Firewall → MCP Servers w konsoli i dodaj serwer, lub zawołaj API przestrzeni roboczej bezpośrednio. Rejestracja niesie cztery rzeczy, które mają znaczenie:

name

Unikalna per przestrzeń robocza. Staje się prefiksem przestrzeni nazw <server>.<tool>, więc zduplikowana nazwa w tej samej przestrzeni roboczej jest odrzucana z HTTP 409.

endpoint

URL twojego zdalnego serwera MCP. Pozostaw puste, by zarejestrować dołączony serwer in-process, tak by był widoczny i zarządzalny.

auth_mode

Jak brama uwierzytelnia się do twojego serwera: none, bearer, oauth lub basic.

poświadczenia

Sekret specyficzny dla trybu. Przechowywany zaszyfrowany w spoczynku i maskowany przy odczycie — nigdy nie dociera do modelu ani klienta.
Serwer startuje jako enabled i jest całkowicie usuwany z bramy w chwili, gdy go wyłączysz — to przełącznik wyłączający, a poświadczenia wyłączonego serwera nigdy nie są odszyfrowywane.

2. Jeden konkretny przykład

Zarejestruj zdalny serwer GitHub MCP z tokenem bearer. To wywołanie REST równoważne konsoli; nazwy pól są dokładnie tym, co zapisuje formularz.
curl https://api.orcarouter.ai/api/workspace/firewall/mcp_servers \
  -H "Authorization: Bearer <your-session-or-access-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "github",
    "endpoint": "https://api.githubcopilot.com/mcp",
    "auth_mode": "bearer",
    "auth_json": "{\"token\":\"ghp_x\"}",
    "enabled": true
  }'
Kształt poświadczenia zależy od auth_mode:
{"token":"…"} — wysyłany jako token bearer do twojego serwera.
{"access_token":"…"} — statyczny token dostępu, który brama wysyła jako nagłówek bearer. Automatyczna wymiana client-credentials nie jest jeszcze wspierana; bez przechowywanego access_token sondowanie w trybie oauth zawodzi, zamiast łączyć się nieuwierzytelniony.
{"username":"…","password":"…"}.
Pusty ciąg. Żadne poświadczenia nie są dołączane.
Przy odczycie zarówno poświadczenie, jak i endpoint są maskowane — API zwraca symboliczne placeholdery, nie surowe wartości. Gdy aktualizujesz serwer, odeślij te placeholdery niezmienione, aby zachować przechowywane wartości; wyślij świeży auth_json tylko wtedy, gdy faktycznie rotujesz sekret. Zobacz rotacja poświadczeń.

3. Zasonduj jego kondycję

Zanim będziesz mógł pisać reguły firewalla wobec narzędzi serwera, musisz wiedzieć, że są osiągalne i jak się nazywają. Zasonduj serwer — brama uruchamia uścisk dłoni MCP initialize + tools/list przy użyciu odszyfrowanych poświadczeń, rejestruje osiągalność i zwraca ogłoszone narzędzia:
curl -X POST \
  https://api.orcarouter.ai/api/workspace/firewall/mcp_servers/42/probe \
  -H "Authorization: Bearer <your-session-or-access-token>"
{
  "status": "ok",
  "last_checked_at": 1700000000,
  "tools": [
    { "name": "create_issue", "description": "…", "input_schema": {} }
  ]
}
status ląduje w rekordzie serwera i napędza wskaźnik kondycji:
statusZnaczenie
okOsiągalny; narzędzia są serwowane przez bramę.
degradedOsiągalny, ale uścisk dłoni był częściowy.
downNieosiągalny przy ostatnim sondowaniu; serwer jest pomijany.
Serwer down jest pomijany, gdy brama buduje swój zestaw narzędzi, więc przejściowa awaria degraduje łagodnie, zamiast łamać dyspozycję. Sondowanie zwraca swój wynik niezależnie od rezultatu — nieudane sondowanie wraca jako 200 z status: down i wyczyszczonym powodem, nie błędem transportu.
Dołączony serwer in-process (pusty endpoint) dyspozytuje lokalnie i nie jest sondowalny — sondowanie go jest odrzucane z błędem wyjaśniającym, że rejestracja nie ma endpointu. Sondujesz tylko serwery BYO, które mają URL.
Każda zmiana rejestracji natychmiast unieważnia per-przestrzeń-roboczą cache narzędzi bramy, więc nowo połączony, wyłączony lub ponownie zasondowany serwer wchodzi w życie przy następnym połączeniu, a nie po oknie cache.

4. Po połączeniu

Gdy serwer jest zarejestrowany i sonduje ok, jego narzędzia są zarządzane:
  • Każde wywołanie jest ewaluowane. Każde tools/call przebiega przez twoją politykę firewalla na powierzchni mcp, zanim dotrze do twojego serwera. Zawężaj reguły przez tool_name_glob: github.*, teraz gdy znasz nazwy narzędzi.
  • Zablokuj powierzchnię. Domyślnie odmawiaj narzędziom, których wyraźnie nie dopuściłeś — zobacz listę dozwolonych narzędzi MCP.
  • Zarządzaj, dokąd sięga. Autoruj regułę egress, aby narzędzie nie mogło pobierać dowolnych hostów.
  • Obserwuj zmiany. Serwer, któremu zaufałeś, może zmienić swoje definicje narzędzi po fakcie; obrona przed rug-pull flaguje ten dryf.

5. API reference

Wszystkie trasy konsoli mają zakres przestrzeni roboczej i uwierzytelniają się twoim tokenem sesji / dostępu. Odczyty list są otwarte dla każdego Membera (sekrety zamaskowane); każdy zapis wymaga Developer+.
Metoda i ścieżkaRolaCel
GET /api/workspace/firewall/mcp_serversMemberLista serwerów (sekrety + endpoint zamaskowane).
GET /api/workspace/firewall/mcp_servers/:idMemberPojedynczy serwer, zamaskowany.
POST /api/workspace/firewall/mcp_serversDeveloper+Zarejestruj serwer (409 przy zduplikowanej nazwie).
PUT /api/workspace/firewall/mcp_serversDeveloper+Zaktualizuj serwer (id w ciele).
DELETE /api/workspace/firewall/mcp_servers/:idDeveloper+Miękkie usunięcie; zwalnia nazwę.
POST /api/workspace/firewall/mcp_servers/:id/probeDeveloper+Zasonduj osiągalność + odkryj narzędzia.
Proxy SDK agenta odczytuje rejestr czasu wykonania tokenem w zakresie bramy z GET /api/v1/firewall/mcp_servers (tylko włączone serwery). Po to, jak uwierzytelnić tamtą stronę, zobacz uwierzytelnij bramę MCP.
Po co w ogóle łączyć przez OrcaRouter? Żeby jedno miejsce widziało każde wywołanie narzędzia — jedno połączenie, jedna polityka, jeden audytowany log i poświadczenia wstrzykiwane przy dyspozycji, zamiast rozproszone po konfiguracjach agentów. Przeczytaj zabezpieczanie agentów AI i zagrożenie zatruwania narzędzi MCP dla motywacji.

Powiązane

Przegląd bezpieczeństwa MCP

Pełny model zarządzania MCP, od początku do końca.

Firewall: serwery MCP

Zachowanie bramy w czasie wykonania i werdykty per wywołanie.

Uwierzytelnij bramę

Wybij i zawęź token, którym łączy się twój agent.

Lista kontrolna zaufania

Wszystko, co zweryfikować, zanim zaufasz nowemu serwerowi.