Минимальный, но полнофункциональный MCP‑сервер для файловых операций. Построен на Python MCP SDK (FastMCP, streamable-http) и служит единым файловым backend для Command Center и других клиентов MCP.
- Безопасный FS_ROOT с защитой от выхода за пределы (
_safe_join). - Полный набор инструментов:
- чтение/запись текстовых и бинарных файлов (base64);
- создание/удаление/перемещение/копирование файлов и директорий;
- расширенный поиск (glob/substring/regex), stat, touch, chmod, set_mtime;
- работа с symlink, zip/unzip, JSON/YAML, resolve_path;
- fast‑path для архивирования и JSON/YAML, которые теперь доступны прямо из Command Center UI.
- Каждая команда возвращает структурированные данные (
structuredContent.result) и имеет подробный docstring (рус/eng) + схемы ввода/вывода. - Smoke‑тест
tests/test_smoke.pyпроверяет базовый сценарий end‑to‑end (initialize → tools.list → mkdir → write/read → zip/unzip → JSON I/O).
git clone https://github.com/paskalex1/filesystem-mcp-server.git
cd filesystem-mcp-server
python3 -m venv .venv && source .venv/bin/activate # опционально
pip install -r requirements.txt # пока зависимости тянутся из pyproject через pip install .Через Docker (используется в Command Center):
docker-compose up -d --build
docker-compose logs -f filesystem-mcpКонтейнер слушает
0.0.0.0:8000, в сетиcommand_center_mcp-netпробрасывается какfilesystem-mcp:8000и наружу наlocalhost:8020.
Перед выкатыванием удобнее всего запустить готовый smoke:
MCP_BASE_URL=http://localhost:8020/mcp python3 -m unittest tests.test_smokeТест создаёт временные директории/файлы, архивирует их и удаляет — все следы чистятся в tearDown().
После изменений не забывайте:
docker-compose up -d --builddocker-compose exec web curl -X POST http://localhost:8000/api/mcp/servers/<id>/sync-tools/- Проверить доступы агента и быстрые действия в Command Center UI.