Skip to content

paskalex1/filesystem-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filesystem MCP

Минимальный, но полнофункциональный 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‑тест

Перед выкатыванием удобнее всего запустить готовый smoke:

MCP_BASE_URL=http://localhost:8020/mcp python3 -m unittest tests.test_smoke

Тест создаёт временные директории/файлы, архивирует их и удаляет — все следы чистятся в tearDown().

Экспорт инструментов

После изменений не забывайте:

  1. docker-compose up -d --build
  2. docker-compose exec web curl -X POST http://localhost:8000/api/mcp/servers/<id>/sync-tools/
  3. Проверить доступы агента и быстрые действия в Command Center UI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published