Przejdź do głównej zawartości

Problemy z połączeniem serwera MCP

Masz problemy z połączeniami serwerów MCP? Ten kompleksowy przewodnik obejmuje typowe problemy, rozwiązania specyficzne dla platform i najlepsze praktyki ustanawiania niezawodnych połączeń MCP.

Przed przejściem do rozwiązywania problemów istotne jest zrozumienie jak działają połączenia MCP:

Przepływ połączenia

  1. Wykrywanie klienta: Cursor/Claude Code odkrywa serwery MCP z konfiguracji
  2. Uruchomienie procesu: Klient uruchamia proces serwera używając określonego polecenia
  3. Negocjacja transportu: Klient i serwer ustanawiają kanał komunikacji
  4. Rejestracja narzędzi: Serwer reklamuje dostępne narzędzia klientowi
  5. Keep-Alive: Połączenie utrzymywane przez okresowe kontrole zdrowia

1. “Nie znaleziono narzędzi” lub serwer niewidoczny

Dział zatytułowany „1. “Nie znaleziono narzędzi” lub serwer niewidoczny”

To najczęstszy problem przy konfiguracji serwerów MCP.

Objawy:

  • Czerwony wskaźnik obok serwera MCP
  • Komunikat “Nie znaleziono narzędzi”
  • Serwer nie pojawia się na liście narzędzi

Rozwiązania:

Okno terminala
# 1. Sprawdź czy serwer MCP jest włączony
cursor --version # Upewnij się że v0.45+ dla obsługi MCP
# 2. Sprawdź składnię konfiguracji
cat ~/.cursor/mcp.json # lub specyficzny dla projektu .cursor/mcp.json
# 3. Całkowicie zrestartuj Cursor
# Zamknij wszystkie okna włącznie z procesami w tle

Sprawdzenie konfiguracji:

{
"mcpServers": {
"your-server": {
"command": "npx",
"args": ["-y", "@your-scope/server-name"]
}
}
}

Te błędy wskazują na nieudane uruchomienie procesu serwera.

  1. Wyczyść cache NPX

    Okno terminala
    npx clear-npx-cache
    npm cache clean --force
  2. Zweryfikuj zależności

    Okno terminala
    # Sprawdź wersję Node.js (wymaga 18+)
    node --version
    # Upewnij się że npx jest dostępny
    npx --version
  3. Testuj ręczne wykonanie

    Okno terminala
    # Spróbuj uruchomić polecenie serwera bezpośrednio
    npx -y @modelcontextprotocol/server-example
  4. Sprawdź konfigurację PATH

    Okno terminala
    # Dodaj Node.js do PATH
    $env:Path += ";C:\Program Files\nodejs"
    # Dla trwałej poprawki, dodaj przez Właściwości systemu

Typowe problemy auth

  • Nieskonfigurowane klucze API
  • Błędy przepływu OAuth
  • Uprawnienia systemu plików
  • Firewall blokujący localhost

Rozwiązania według typu:

{
"mcpServers": {
"api-server": {
"command": "npx",
"args": ["-y", "@example/server"],
"env": {
"API_KEY": "your-key-here",
"API_SECRET": "your-secret"
}
}
}
}

Problemy z wykonaniem PowerShell

Użytkownicy Windows często napotykają problemy specyficzne dla PowerShell z serwerami MCP.

Problem: Puste okna PowerShell lub błędy execution policy

Rozwiązania:

Okno terminala
# 1. Ustaw execution policy
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 2. Użyj pełnych ścieżek zamiast npx
{
"mcpServers": {
"server-name": {
"command": "node",
"args": ["C:\\Users\\YourName\\AppData\\Roaming\\npm\\node_modules\\@scope\\server\\dist\\index.js"]
}
}
}
# 3. Wyłącz okno PowerShell (specyficzne dla Cursor)
# Dodaj do konfiguracji serwera:
"windowsHide": true
  1. Blokady Gatekeeper

    Okno terminala
    # Jeśli macOS blokuje wykonanie
    xattr -d com.apple.quarantine /path/to/mcp/server
  2. Dostęp do portu

    Okno terminala
    # Sprawdź czy port jest używany
    lsof -i :3845 # Dla przykładu Figma MCP
  3. Problemy z Homebrew Node

    Okno terminala
    # Upewnij się o prawidłową wersję Node
    brew update
    brew upgrade node
Okno terminala
# Typowe poprawki dla Linux
# 1. Unikaj globalnych instalacji npm z sudo
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 2. Napraw uprawnienia npm
sudo chown -R $(whoami) ~/.npm
# 3. Użyj menedżera wersji node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
Okno terminala
# Testuj łączność localhost
curl http://127.0.0.1:3845/sse # Przykład dla Figma
# Alternatywa: użyj 0.0.0.0
{
"url": "http://0.0.0.0:3845/sse"
}

Poprawka dla Cursor:

  1. Otwórz ustawienia (Cmd/Ctrl + ,)
  2. Wyszukaj “HTTP/2”
  3. Włącz “Disable HTTP/2”
  4. Zrestartuj Cursor
{
"mcpServers": {
"heavy-server": {
"command": "node",
"args": ["server.js"],
"env": {
"MCP_TIMEOUT": "30000", // 30 sekund
"NODE_OPTIONS": "--max-old-space-size=4096"
}
}
}
}

Dla wielu serwerów MCP:

// Przykład konfiguracji dla scenariuszy wysokiego obciążenia
{
"mcpServers": {
"db-server": {
"command": "npx",
"args": ["@db/mcp-server"],
"maxRestarts": 3,
"restartDelay": 1000,
"connectionPool": {
"max": 10,
"idleTimeout": 60000
}
}
}
}
Okno terminala
# Włącz logi debug MCP
1. Ctrl+Shift+U (Cmd+Shift+U na Mac)
2. Wybierz "MCP Logs" z dropdown
3. Szukaj:
- Próby połączeń
- Błędy uwierzytelniania
- Błędy rejestracji narzędzi
Okno terminala
# Znajdź zablokowane procesy MCP
# Windows
tasklist | findstr "node"
taskkill /F /PID <pid>
# macOS/Linux
ps aux | grep mcp
kill -9 <pid>
# Wyczyść osierocone procesy
pkill -f "mcp-server"
// Przykład konfiguracji odzyskiwania
{
"mcpServers": {
"resilient-server": {
"command": "npx",
"args": ["@scope/server"],
"reconnect": {
"enabled": true,
"maxAttempts": 5,
"backoffMultiplier": 2,
"initialDelay": 1000,
"maxDelay": 30000
},
"healthCheck": {
"enabled": true,
"interval": 60000,
"timeout": 5000
}
}
}
}

Zarządzanie konfiguracją

  • Używaj kontroli wersji dla konfiguracji MCP
  • Oddzielne konfiguracje dev/prod
  • Dokumentuj wymagane zmienne środowiskowe
  • Testuj konfiguracje przed wdrożeniem

Względy bezpieczeństwa

  • Nigdy nie wpisuj wrażliwych danych na stałe
  • Używaj użytkowników bazy danych tylko do odczytu
  • Implementuj ograniczenia częstości
  • Waliduj parametry wejściowe

Konfiguracja monitorowania

  • Włącz logi debug w developmencie
  • Skonfiguruj kontrole zdrowia
  • Monitoruj użycie zasobów
  • Śledź metryki połączeń

Obsługa błędów

  • Implementuj graceful degradation
  • Dodaj logikę retry z backoff
  • Loguj błędy kompleksowo
  • Dostarczaj przyjazne użytkownikowi komunikaty

Podczas rozwiązywania problemów z połączeniami MCP, przejdź przez tę listę kontrolną:

  1. Sprawdzenie wersji

    • Cursor v0.45+ lub najnowszy Claude Code
    • Node.js 18+ zainstalowany
    • NPM/NPX działają poprawnie
  2. Walidacja konfiguracji

    • Poprawna składnia JSON
    • Prawidłowe polecenie i argumenty
    • Ustawione wymagane zmienne środowiskowe
  3. Weryfikacja sieci

    • Serwer osiągalny na określonym porcie
    • Brak blokowania przez firewall
    • Ustawienia proxy jeśli mają zastosowanie
  4. Stan procesu

    • Brak osieroconych procesów
    • Wystarczające zasoby systemowe
    • Prawidłowe uprawnienia plików
  5. Informacje debug

    • Włącz logi debug
    • Sprawdź komunikaty błędów
    • Przetestuj ręczne wykonanie

Jeśli nadal doświadczasz problemów:

  1. Zbierz informacje debug

    Okno terminala
    # Informacje systemowe
    node --version
    npm --version
    cursor --version # lub claude --version
    # Konfiguracja MCP
    cat ~/.cursor/mcp.json # lub równoważne
    # Logi błędów
    # Skopiuj z output MCP Logs
  2. Sprawdź zasoby społeczności

  3. Zgłoś problemy

    • Dołącz pełne komunikaty błędów
    • Określ platformę i wersje
    • Podaj minimalne kroki reprodukcji
    • Wspomni co już próbowałeś

Pamiętaj, że MCP szybko się rozwija, więc utrzymuj swoje narzędzia w aktualnej wersji i sprawdzaj notatki wydania pod kątem zmian łamiących kompatybilność!