Skip to main content
Glama
DEBUG_GUIDE.md7.08 kB
# Посібник з відладки MCP сервера ## 🆕 Проблеми з віддаленими підключеннями ### MCP error -32000: Connection closed **Симптоми**: Помилка при підключенні до MCP сервера з іншої директорії **Причина**: Проблеми з відносними шляхами для імпортів та конфігураційних файлів **Рішення**: 1. **Використовуйте повний шлях до сервера:** ```bash python /повний/шлях/до/mcp-adt/mcp_server.py ``` 2. **Запустіть тест підключення:** ```bash python /шлях/до/mcp-adt/test_remote_connection.py ``` 3. **Перевірте конфігурацію MCP клієнта:** ```json { "mcpServers": { "adt-server": { "command": "python", "args": ["/повний/шлях/до/mcp-adt/mcp_server.py"] } } } ``` 4. **Перевірте логи в директорії проекту:** `mcp_server.log` **Детальна інформація**: [REMOTE_CONNECTION_GUIDE.md](REMOTE_CONNECTION_GUIDE.md) ## Швидкий старт ### 1. Відладка через VSCode 1. Відкрийте проект у VSCode 2. Перейдіть до панелі "Run and Debug" (Ctrl+Shift+D) 3. Виберіть одну з конфігурацій: - **Debug MCP Server (HTTP)** - основний сервер через HTTP - **Debug MCP Server (STDIO)** - основний сервер через STDIO - **Debug Fixed MCP Server** - сервер з виправленими імпортами - **Debug Minimal MCP Server** - мінімальний сервер - **Debug Server with Breakpoints** - з автоматичними breakpoints ### 2. Відладка через командний рядок ```bash # Основний сервер через HTTP python debug_run.py --server main --transport http # Мінімальний сервер python debug_run.py --server minimal --transport http # З детальним логуванням python debug_run.py --server main --transport http --verbose # З іншим environment файлом python debug_run.py --server main --env e19.env ``` ## Доступні сервери ### 1. Основний сервер (`mcp_server.py`) - Всі інструменти (20+) - Повна функціональність - **Проблема**: зависає на `tools/list` ### 2. Мінімальний сервер (`mcp_server_minimal.py`) - 4 базових інструменти - Спрощена логіка - **Проблема**: також зависає на `tools/list` ### 3. Фіксований сервер (`mcp_server_fixed.py`) - Fallback імпорти (tools/ → src/tools/) - Автоматичне визначення шляхів - **Проблема**: зависання залишається ### 4. Базовий сервер (`mcp_server_basic.py`) - Без FastMCP, базова MCP бібліотека - **Проблема**: помилки API ## Транспорти ### HTTP (рекомендовано для відладки) ```bash python mcp_server.py --transport http --port 8000 ``` - Легше тестувати через curl/Postman - Детальніші логи - Можна використовувати breakpoints ### STDIO (стандартний MCP) ```bash python mcp_server.py --transport stdio ``` - Стандартний протокол MCP - Складніше відлагоджувати - Використовується в продакшені ## Тестування ### Тест через curl (HTTP) ```bash # Запустити сервер python mcp_server.py --transport http # В іншому терміналі curl -X POST http://localhost:8000/tools/list \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' ``` ### Автоматичні тести ```bash # Тест основного сервера python test/test_mcp_client.py # Тест мінімального сервера python test/test_minimal_server.py # Тест фіксованого сервера python test/test_fixed_server.py ``` ## Логування ### Файли логів - `debug_server.log` - детальні логи сервера - VSCode Debug Console - інтерактивні логи ### Рівні логування ```python import logging logging.basicConfig(level=logging.DEBUG) # Максимальна деталізація logging.basicConfig(level=logging.INFO) # Стандартна деталізація ``` ## Відомі проблеми ### 1. Зависання tools/list **Симптоми**: Сервер запускається, ініціалізується, але зависає на запиті `tools/list` **Причина**: Проблема в бібліотеці FastMCP 1.9.1 **Обхідні шляхи**: - Використовувати HTTP транспорт - Спробувати базову MCP бібліотеку - Оновити FastMCP до нової версії ### 2. Помилки імпортів **Симптоми**: `ModuleNotFoundError` при запуску **Рішення**: Використовувати `mcp_server_fixed.py` з fallback імпортами ### 3. API помилки **Симптоми**: `TypeError` з `get_capabilities()` або `InitializationOptions` **Рішення**: Перевірити версії MCP бібліотек ## Environment файли ### .env (за замовчуванням) ```bash python mcp_server.py --env .env ``` ### e19.env (SAP система E19) ```bash python mcp_server.py --env e19.env ``` ### btp_02.env (BTP система) ```bash python mcp_server.py --env btp_02.env ``` ## Корисні команди ### Перевірка версій ```bash pip show mcp pip show fastmcp python --version ``` ### Оновлення бібліотек ```bash pip install --upgrade mcp pip install --upgrade fastmcp ``` ### Очистка кешу Python ```bash find . -name "*.pyc" -delete find . -name "__pycache__" -type d -exec rm -rf {} + ``` ## Поради з відладки 1. **Почніть з HTTP транспорту** - легше відлагоджувати 2. **Використовуйте мінімальний сервер** - менше змінних 3. **Увімкніть детальне логування** - `--verbose` 4. **Ставте breakpoints** у VSCode на критичних місцях 5. **Перевіряйте логи** в `debug_server.log` ## Контакти При виникненні проблем: 1. Перевірте `debug_server.log` 2. Запустіть автоматичні тести 3. Спробуйте різні конфігурації серверів 4. Використовуйте VSCode debugger з breakpoints

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YahorNovik/mcp-adt'

If you have feedback or need assistance with the MCP directory API, please join our Discord server