Skip to main content
Glama
visor517
by visor517
README.md
# file-mcp

Учебный MCP-сервер для работы с файлами.

## Описание

MCP-сервер, реализующий базовые файловые операции через протокол [MCP (Model Context Protocol)](https://modelcontextprotocol.io/).

Сервер работает через STDIO (JSON-RPC 2.0) и может использоваться любым MCP-клиентом (Roo Code, Claude Desktop, Cursor и др.).

## Инструменты

| Инструмент    | Описание                          | Параметры              |
|---------------|-----------------------------------|------------------------|
| `read_file`   | Прочитать содержимое файла        | `path: str`            |
| `write_file`  | Записать содержимое в файл        | `path: str`, `content: str` |

## Установка

```bash
# Клонировать репозиторий
git clone <repo-url>
cd file-mcp

# Создать виртуальное окружение
python -m venv .venv

# Активировать (Windows)
.venv\Scripts\activate

# Установить зависимости
pip install -r requirements.txt
```

## Запуск

```bash
python main.py
```

Сервер запускается в режиме STDIO и ожидает JSON-RPC сообщений от MCP-клиента.

## Тестирование

Проверить работу сервера можно через Git Bash:

```bash
# Получить список инструментов
cd /g/projects/file-mcp && printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}\n' | .venv/Scripts/python main.py

# Прочитать файл
cd /g/projects/file-mcp && printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"read_file","arguments":{"path":"main.py"}}}\n' | .venv/Scripts/python main.py

# Записать файл
cd /g/projects/file-mcp && printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"write_file","arguments":{"path":"example.txt","content":"Hello from MCP!"}}}\n' | .venv/Scripts/python main.py
```

## Конфигурация Roo Code

Файл `.codeassistant/mcp.json`:

```json
{
  "mcpServers": {
    "file-mcp": {
      "command": "g:\\projects\\file-mcp\\.venv\\Scripts\\python.exe",
      "args": ["main.py"],
      "cwd": "g:\\projects\\file-mcp"
    }
  }
}
```