DocSentinel MCP

MCP-сервер ревью безопасности документов: агент отправляет файлы на оценку, а вывод остается черновиком до решения человека

  • 90 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Читает документы проекта и отправляет их текст выбранной модели, при облачном провайдере данные уходят провайдеру
  • Поднимает веб-сервис с MCP и A2A: вне loopback доступ требует токена
  • Хранит ключи моделей в локальной настройке
Все причины и проверки

arthurpanhku/docsentinel

Установка

Ручная установка

git clone https://github.com/arthurpanhku/DocSentinel.git && cd DocSentinel && ./deploy.sh

Однокомандное развертывание поднимает консоль на `localhost:8000/console`. Для доступа внешнего агента по Docker-порту задайте `AGENT_GATEWAY_TOKEN` в `.env` до запуска.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Читает документы проекта и отправляет их текст выбранной модели, при облачном провайдере данные уходят провайдеру
  • Поднимает веб-сервис с MCP и A2A: вне loopback доступ требует токена
  • Хранит ключи моделей в локальной настройке

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

DocSentinel проверяет документы по безопасности разработки (SSDLC) и сводит находки в структурированный отчет с угрозами, пробелами в соответствии требованиям и рекомендациями. Платформа работает на шести стадиях: требования, проектирование (модель угроз STRIDE и DREAD), разработка, тестирование (разбор отчетов SAST и DAST), развертывание и эксплуатация. Это приложение из консоли на React и сервиса FastAPI с оркестрацией LangGraph, а входные форматы включают PDF, Word, Excel и PowerPoint. База знаний на RAG хранит ваши политики и стандарты, на них опирается оценка. К агентам DocSentinel подключается по MCP и A2A. Локальный сервер запускает `python app/mcp_server.py` по stdio, а FastAPI отдает Streamable HTTP на `/mcp/`. Пять инструментов: `submit_document_assessment`, `get_assessment_status`, `assess_document`, `query_knowledge_base` и `get_agent_gateway_status`. Читать файлы можно только в папках из `MCP_DOCUMENT_ROOTS`, по умолчанию это `./examples`. Агент не принимает решений: созданные им оценки остаются черновиками, пока рецензент не утвердит их в консоли. Модель выбирают в настройках: OpenAI, Claude, Qwen, DeepSeek или локальная Ollama.

Для кого. Командам безопасности и инженерам, которые делают первичное ревью проектной документации и хотят поручить его Claude Desktop или Cursor с обязательной проверкой человеком.

Подходит, если

  • Требования или архитектура лежат в PDF, и по ним надо получить список пробелов в мерах безопасности
  • По схеме системы строится модель угроз STRIDE, которую затем разбирает рецензент
  • Отчет SonarQube или другого SAST переполнен находками, и их нужно упорядочить по критичности
  • Политики компании загружены в базу знаний, и ответы агента должны опираться на них
  • Сторонний агент должен отправлять документы на оценку, но не вправе утверждать результат

Не подходит, если

  • Нужен сканер кода или уязвимостей: DocSentinel оценивает документы и отчеты других инструментов
  • Итоговое решение по релизу должен принимать агент: платформа оставляет утверждение за человеком
  • Нет ключа облачной модели и локальной Ollama: без модели оценка не запускается
  • Документы нельзя отправлять внешней модели и локальной тоже нет

Пример запроса к агенту

Проанализируй requirements.pdf через DocSentinel и найди недостающие требования безопасности

MCP

Транспорт
stdio, http
Авторизация
ключ необязателен

Переменные окружения

MCP_DOCUMENT_ROOTS
Папки, из которых сервер читает документы, по умолчанию `./examples`
AGENT_GATEWAY_TOKEN секрет
Bearer-токен для доступа по сети, без него MCP и A2A открыты только с loopback
CHROMA_PERSIST_DIR
Папка хранения базы знаний Chroma
OPENAI_API_KEY секрет
Ключ облачной модели, если выбран OpenAI

Ограничения

  • Для запуска нужны Python 3.11 и Node.js 20 для сборки консоли, а также ключ облачной модели или локальная Ollama.
  • Без токена MCP и A2A доступны только с loopback. Для сети, Docker и обратного прокси задайте `AGENT_GATEWAY_TOKEN` и узкие списки хостов и источников.
  • `assess_document` читает файлы только внутри `MCP_DOCUMENT_ROOTS`, при пустом значении разрешена папка `./examples`.
  • Оценки ИИ нужны для первичного разбора: утверждает их человек, а внешний агент этого сделать не может.

Как отключить. Уберите запись `docsentinel` из `claude_desktop_config.json` или из настроек MCP в Cursor. Сервис останавливается вместе с `uvicorn` или контейнерами из `deploy.sh`. Данные Chroma лежат в `CHROMA_PERSIST_DIR` и удаляются вручную.

Частые вопросы

Как подключить DocSentinel к Cursor?

Откройте Settings, Features, MCP и добавьте сервер `docsentinel` типа stdio. Команда запуска берется из `.venv`, а аргументом служит путь к `app/mcp_server.py`.

Может ли агент сам утвердить оценку?

Нет. Оценки, созданные через MCP, A2A или REST, остаются черновиками, пока рецензент не утвердит их в консоли. Внешние агенты не могут утверждать, отклонять или обходить проверку человеком.

Какие файлы может читать MCP-сервер?

Только внутри папок из `MCP_DOCUMENT_ROOTS`, несколько путей разделяют двоеточием на macOS и Linux или точкой с запятой на Windows. Выход через символические ссылки отклоняется до чтения.

Как запустить DocSentinel?

Выполните `git clone` репозитория и `./deploy.sh`, консоль откроется на `http://localhost:8000/console`. Ручной вариант: виртуальное окружение, `pip install -r requirements.txt`, сборка фронтенда и `uvicorn app.main:app`.

Какие модели поддерживаются?

OpenAI, Claude, Qwen, DeepSeek и локальная Ollama. Провайдера выбирают в `.env` или на странице настроек консоли.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Сканер безопасности для агентов: проверяет код, MCP-серверы, промпты и пакеты, выдуманные моделью, и ставит оценку от A до F.

MCP-серверРасширенный доступ123Звезды репозитория

cvENGINE находит внешние активы домена и уязвимости, которые уже эксплуатируют, а MCP-сервер ведет сканы из Claude Code

MCP-серверШирокий доступ711Звезды репозитория

Статический сканер уязвимостей в коде ИИ-агентов и конфигурациях MCP с 66 правилами по OWASP Agentic Top 10

CLIРасширенный доступ245Звезды репозитория

Сканер безопасности для MCP-серверов: ищет зашитые ключи, отравление инструментов и инъекции в коде репозитория.

CLIМинимальный доступ139Звезды репозитория

MCP-сервер, который дает агенту разбор уязвимостей: данные NVD, EPSS, каталог CISA KEV, связки с MITRE ATT&CK и оценка риска CVE в одном запросе

MCP-серверРасширенный доступ1,8 тыс.Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
DocSentinel (эта карточка)нетключ необязателен90
STRIDE GPTнет1 154генератор моделей угроз STRIDE по описанию приложения, DocSentinel охватывает шесть стадий SSDLC и ведет ревью с утверждением человеком
Threat Modeling MCP Serverдане нужна126MCP-сервер для моделирования угроз, DocSentinel добавляет базу знаний с политиками и очередь рецензирования

Коротко о README

README представляет DocSentinel как платформу безопасной разработки на агентах LangGraph. Описаны шесть стадий SSDLC, экскурсия по консоли, архитектура из REST, MCP и A2A, возможности (модель угроз, база знаний, управление соответствием), настройка MCP для Claude Desktop и Cursor, быстрый старт, раскладка проекта, конфигурация и безопасность. Есть переводы на семь языков, включая русский.

Бейдж для README

Сообщить о проблеме