Przejdź do głównej zawartości

Instalacja serwera MCP

Serwer MCP to jeden kontener, który działa na dowolnym hoście osiągalnym dla platformy. Instalujesz go z katalogu deploy/ repozytorium serwera. Platformy nie dotykasz. Dodanie adresu do platformy i zatwierdzenie to osobne zadanie: Serwery.

Serwer Plik środowiska Zmienne do wypełnienia Szczegóły
GitLab mcp-gitlab.env MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_GITLAB_URL deploy/README
Jira Data Center mcp-jira.env MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_JIRA_URL deploy/README
Confluence Data Center mcp-confluence.env MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_CONFLUENCE_URL deploy/README
OpenSearch mcp-opensearch.env MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_OPENSEARCH_URL, MCP_OPENSEARCH_INDEX_PREFIXES deploy/README
Service desk mcp-servicedesk.env MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_SERVICEDESK_URL deploy/README
Adapter REST mcp-adapter.env MCP_SERVER_ID, MCP_GATEWAY_JWKS_URI, MCP_CONNECT_URL, MCP_FOREIGN_URL deploy/README

Kroki właściwe dla serwera są w podlinkowanym README:

  • OpenSearch wymaga roli we wtyczce Security klastra, która przyjmuje token użytkownika. Serwer nie startuje bez prefiksów indeksów.
  • Serwer service desk potrzebuje pliku servicedesk.api dla produktów innych niż układ wzorcowy oraz klucza konta usługi platformy w OpenBao (secret/mcp/service-accounts/servicedesk, zapisanego przez bao kv put).
  • Adapter potrzebuje adresu zewnętrznego serwera MCP w sieci, którą z nim dzieli tylko adapter.
  • Docker Engine z Compose v2.20 lub nowszym, 1 GiB pamięci.
  • Domena platformy. Host musi widzieć https://<platforma> na porcie 443.
  • Host platformy musi widzieć ten host na porcie 8443.
  • Adres (https) systemu docelowego.

Przykład dotyczy serwera GitLab. Dla innego serwera z tabeli zmień nazwy.

  1. Pobierz katalog deploy/:

    Okno terminala
    git clone https://github.com/aiwcorpo/mcp-server-gitlab.git
    cd mcp-server-gitlab/deploy
  2. Wypełnij puste wartości w pliku środowiska:

    Okno terminala
    MCP_GATEWAY_JWKS_URI=https://<platforma>/.well-known/mcp-jwks.json
    MCP_CONNECT_URL=https://<platforma>/connections?system={system}
    MCP_GITLAB_URL=https://<gitlab>

    W pliku nie ma poświadczeń systemu docelowego. Gateway wysyła przy każdym wywołaniu poświadczenie samego użytkownika.

  3. Jeśli certyfikat platformy podpisało firmowe CA, dodaj to CA do magazynu zaufania:

    Okno terminala
    keytool -importcert -noprompt -alias company-ca -file company-ca.crt \
    -keystore certs/truststore.p12 -storetype PKCS12 -storepass changeit
    chmod 644 certs/truststore.p12

    Potem odkomentuj linię JAVA_TOOL_OPTIONS w pliku środowiska. Jeśli system docelowy używa CA nieznanego JVM, zaimportuj to CA do tego samego pliku.

  4. Uruchom serwer:

    Okno terminala
    docker compose up -d

    Serwer nie startuje z niepełnym plikiem i podaje, czego brakuje.

  5. Odczytaj odcisk certyfikatu:

    Okno terminala
    docker compose logs mcp-gitlab | grep event=tls_certificate

    Oczekiwany wynik: event=tls_certificate source=generated fingerprint=sha256:.... Bez własnego certyfikatu serwer przy pierwszym starcie generuje samopodpisany i trzyma go w wolumenie state.

  6. Przekaż operatorowi platformy adres https://<ten host>:8443/mcp i odcisk.

Okno terminala
curl -fsSk https://localhost:8443/actuator/health

Oczekiwany wynik: {"status":"UP"...}. Każda inna ścieżka bez tokenu z gatewaya odpowiada 401.

Umieść parę PEM lub keystore PKCS12 w certs/ i ustaw w pliku środowiska MCP_TLS_CERT i MCP_TLS_KEY albo MCP_TLS_KEYSTORE i MCP_TLS_STORE_PASSWORD. Certyfikat z CA, któremu ufa gateway, wystawiony na nazwę z adresu, jest zaufany bez przypinania, a odnowienie nie wymaga nowego zatwierdzenia. Zobacz MCP_SERVER_TRUSTED_CAS_FILE w Konfiguracji.

Wolumen state trzyma wygenerowany certyfikat. Jeśli zostanie utworzony od nowa (docker compose down -v), serwer wygeneruje nowy certyfikat, jego status w portalu zmieni się na certificate_changed i operator musi zatwierdzić nowy odcisk.

Instancje za jednym adresem potrzebują tych samych wartości w pliku środowiska:

Ustawienie Po co
MCP_REDIS_HOST i pozostałe MCP_REDIS_* Jednorazowe identyfikatory tokenów wspólne dla instancji
MCP_PAGING_CURSOR_KEY (openssl rand -base64 32) Kursor z jednej instancji działa na drugiej
MCP_TLS_CERT i MCP_TLS_KEY Gateway widzi jeden odcisk

Ustaw MCP_REGISTRY w pliku .env obok compose.yaml albo załaduj obrazy z pakietu offline:

Okno terminala
MCP_REGISTRY=<twoj-rejestr>/mcp

Zobacz Aktualizacja.

Zobacz Rozwiązywanie problemów.