Przejdź do głównej zawartości

Problemy z połączeniem serwera MCP

Napotykasz problemy z połączeniem z serwerami MCP? Ten kompleksowy przewodnik obejmuje powszechne problemy, rozwiązania specyficzne dla platformy i najlepsze praktyki ustanawiania niezawodnych połączeń MCP.

Zanim zagłębisz się w rozwiązywanie problemów, konieczne jest zrozumienie, jak działają połączenia MCP:

Flow połączenia

  1. Client Discovery: Cursor/Claude Code odkrywa serwery MCP z konfiguracji
  2. Process Launch: Klient uruchamia proces serwera używając określonej komendy
  3. Transport Negotiation: Klient i serwer ustanawiają kanał komunikacji
  4. Tool Registration: Serwer reklamuje dostępne narzędzia klientowi
  5. Keep-Alive: Połączenie utrzymywane przez okresowe sprawdzenia zdrowia

To najczęstszy problem podczas setupu serwerów MCP.

Symptomy:

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

Rozwiązania:

Okno terminala
# 1. Zweryfikuj, że serwer MCP jest włączony
cursor --version # Upewnij się, że v0.45+ dla wsparcia MCP
# 2. Sprawdź składnię konfiguracji
cat ~/.cursor/mcp.json # lub project-specific .cursor/mcp.json
# 3. Zrestartuj Cursor całkowicie
# Zamknij wszystkie okna łącznie z procesami w tle

Configuration Check:

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

Te błędy wskazują, że proces serwera nie uruchomił się.

  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. Przetestuj manualne wykonanie

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

    Okno terminala
    # Dodaj Node.js do PATH
    $env:Path += ";C:\Program Files\nodejs"
    # Dla stałej zmiany, dodaj przez System Properties

Powszechne problemy z uwierzytelnianiem

  • Klucze API nie skonfigurowane
  • Niepowodzenia flow 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 polityki wykonywania

Rozwiązania:

Okno terminala
# 1. Ustaw politykę wykonywania
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 2. Używaj 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 Node z Homebrew

    Okno terminala
    # Upewnij się o poprawną wersję Node
    brew update
    brew upgrade node
Okno terminala
# Powszechne 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 node version manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
Okno terminala
# Przetestuj łą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 Settings (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ładowa konfiguracja dla scenariuszy wysokiego obciążenia
{
"mcpServers": {
"db-server": {
"command": "npx",
"args": ["-y", "mongodb-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 dropdownu
3. Szukaj:
- Próby połączenia
- Niepowodzenia 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ładowa konfiguracja 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
  • Oddziel konfiguracje dev/prod
  • Dokumentuj wymagane zmienne środowiskowe
  • Testuj konfiguracje przed wdrożeniem

Zagadnienia bezpieczeństwa

  • Nigdy nie hardcoduj wrażliwych poświadczeń
  • Używaj użytkowników bazy danych tylko do odczytu
  • Implementuj rate limiting
  • Waliduj parametry wejściowe

Setup monitorowania

  • Włącz logi debug w rozwoju
  • Skonfiguruj sprawdzenia 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
  • Zapewnij przyjazne komunikaty dla użytkownika

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ące poprawnie
  2. Walidacja konfiguracji

    • Poprawna składnia JSON
    • Poprawne command i args
    • Ustawione wymagane zmienne środowiskowe
  3. Weryfikacja sieci

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

    • Brak osieroconych procesów
    • Wystarczające zasoby systemowe
    • Poprawne uprawnienia do plików
  5. Informacje debug

    • Włącz logi debug
    • Sprawdź komunikaty błędów
    • Przetestuj manualne 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 wyjścia 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
    • Wspomnij, co już próbowałeś

Pamiętaj, że MCP szybko ewoluuje, więc utrzymuj narzędzia zaktualizowane i sprawdzaj release notes pod kątem breaking changes!