DocSentinel MCP
MCP-сервер ревью безопасности документов: агент отправляет файлы на оценку, а вывод остается черновиком до решения человека
- 90 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Читает документы проекта и отправляет их текст выбранной модели, при облачном провайдере данные уходят провайдеру
- Поднимает веб-сервис с MCP и A2A: вне loopback доступ требует токена
- Хранит ключи моделей в локальной настройке
Установка
- Работает в
Ручная установка
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.
Security Detections MCP — база правил детектирования
Security Detections MCP
MCP-сервер собирает правила Sigma, Splunk, Elastic и KQL в одну базу: агент ищет детекторы и пробелы в покрытии ATT&CK
cvENGINE находит внешние активы домена и уязвимости, которые уже эксплуатируют, а MCP-сервер ведет сканы из Claude Code
Статический сканер уязвимостей в коде ИИ-агентов и конфигурациях MCP с 66 правилами по OWASP Agentic Top 10
Сканер безопасности для MCP-серверов: ищет зашитые ключи, отравление инструментов и инъекции в коде репозитория.
MCP-сервер, который дает агенту разбор уязвимостей: данные NVD, EPSS, каталог CISA KEV, связки с MITRE ATT&CK и оценка риска CVE в одном запросе
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| DocSentinel (эта карточка) | нет | ключ необязателен | 90 | |
| STRIDE GPT | нет | 1 154 | генератор моделей угроз STRIDE по описанию приложения, DocSentinel охватывает шесть стадий SSDLC и ведет ревью с утверждением человеком | |
| Threat Modeling MCP Server | да | не нужна | 126 | MCP-сервер для моделирования угроз, DocSentinel добавляет базу знаний с политиками и очередь рецензирования |
Коротко о README
README представляет DocSentinel как платформу безопасной разработки на агентах LangGraph. Описаны шесть стадий SSDLC, экскурсия по консоли, архитектура из REST, MCP и A2A, возможности (модель угроз, база знаний, управление соответствием), настройка MCP для Claude Desktop и Cursor, быстрый старт, раскладка проекта, конфигурация и безопасность. Есть переводы на семь языков, включая русский.