# MCP ADT Server - Підключення з різних директорій
## Проблема
Раніше MCP ADT Server міг працювати тільки при запуску з директорії проекту через використання відносних шляхів для імпортів та конфігураційних файлів.
## Рішення
Сервер було оновлено для підтримки запуску з будь-якої директорії. Тепер він автоматично визначає розташування проекту та налаштовує правильні шляхи.
## Як підключитися з іншої директорії
### Варіант 1: Повний шлях до сервера
```bash
python /повний/шлях/до/mcp-adt/mcp_server.py
```
### Варіант 2: Використання абсолютного шляху в конфігурації MCP клієнта
У вашому MCP клієнті (наприклад, Claude Desktop) вкажіть повний шлях:
```json
{
"mcpServers": {
"adt-server": {
"command": "python",
"args": ["/повний/шлях/до/mcp-adt/mcp_server.py"],
"env": {
"PYTHONPATH": "/повний/шлях/до/mcp-adt"
}
}
}
}
```
### Варіант 3: Додавання до PATH
Додайте директорію mcp-adt до вашого PATH:
```bash
# Linux/macOS
export PATH="/повний/шлях/до/mcp-adt:$PATH"
# Windows
set PATH=C:\повний\шлях\до\mcp-adt;%PATH%
```
Після цього можете запускати з будь-якої директорії:
```bash
python mcp_server.py
```
## Конфігураційні файли
### Файл .env
Сервер автоматично шукає файл `.env` в директорії проекту, навіть якщо запускається з іншого місця.
Якщо потрібно використати інший файл конфігурації:
```bash
python /шлях/до/mcp_server.py --env /шлях/до/вашого/.env
```
### Лог файли
Лог файл `mcp_server.log` завжди створюється в директорії проекту mcp-adt, незалежно від того, звідки запускається сервер.
## Тестування
Для перевірки правильності роботи з різних директорій використовуйте:
```bash
python /шлях/до/mcp-adt/test_remote_connection.py
```
Цей скрипт:
1. Створює тимчасову директорію
2. Запускає тести з цієї директорії
3. Перевіряє, чи працюють імпорти та запуск сервера
## Технічні деталі
Виправлення включають:
1. **Автоматичне визначення кореневої директорії проекту:**
```python
project_root = Path(__file__).parent.absolute()
sys.path.insert(0, str(project_root))
```
2. **Правильне розв'язання шляхів для конфігураційних файлів:**
```python
if not os.path.isabs(env_file_path):
env_file_path = project_root / env_file_path
```
3. **Абсолютні шляхи для лог файлів:**
```python
log_file_path = project_root / 'mcp_server.log'
```
## Усунення проблем
### Помилка "ModuleNotFoundError"
Якщо все ще виникають помилки імпорту:
1. Перевірте, чи правильно вказано шлях до mcp_server.py
2. Переконайтеся, що всі залежності встановлені:
```bash
pip install -r /шлях/до/mcp-adt/requirements.txt
```
### Помилка "Connection closed"
Якщо MCP клієнт не може підключитися:
1. Перевірте логи в `mcp_server.log`
2. Запустіть тест підключення:
```bash
python /шлях/до/mcp-adt/test_remote_connection.py
```
3. Переконайтеся, що файл `.env` налаштований правильно
### Проблеми з правами доступу
На Linux/macOS може знадобитися зробити скрипт виконуваним:
```bash
chmod +x /шлях/до/mcp-adt/mcp_server.py
```
## Приклад конфігурації для Claude Desktop
```json
{
"mcpServers": {
"adt-server": {
"command": "python",
"args": ["C:/Users/username/projects/mcp-adt/mcp_server.py"],
"env": {
"PYTHONPATH": "C:/Users/username/projects/mcp-adt"
}
}
}
}
```
Замініть `C:/Users/username/projects/mcp-adt` на фактичний шлях до вашої директорії mcp-adt.