Legal Contract Review Agent
ContractGuard
Анализ рисков японских договоров, созданный в качестве учебного проекта по разработке ИИ — рабочий процесс LangGraph + pgvector RAG + мультимодальный ввод + восстанавливаемый потоковый UX.
⚠️ Не является юридической услугой. Этот репозиторий никогда не использовался в коммерческих целях — статья 72 Закона об адвокатах Японии (弁護士法第72条) резервирует право на оказание платных юридических консультаций за лицензированными адвокатами. Кодовая база публикуется исключительно как технический артефакт с открытым исходным кодом. Результаты работы не являются юридическими заключениями.
Статус
Готовая к эксплуатации эталонная реализация с открытым исходным кодом. Весь стек — фронтенд, бэкенд, OCR, платежи, электронная почта, Postgres, Redis, отслеживание ошибок — подключен с использованием реальных интеграций и готов к развертыванию. Он просто никогда не был запущен по замыслу (статья 72 Закона об адвокатах).
Синтетический японский договор находится в docs/samples/, поэтому локальный процесс можно протестировать от начала до конца сразу после клонирования.
Related MCP server: Contract Review AI MCP
Архитектура
flowchart LR
U[React/Vite UI<br/>text, PDF, image upload] --> API[FastAPI routers]
API --> Q[Quote + PII + OCR budget guards]
Q --> PAY[KOMOJU checkout<br/>reference implementation]
PAY --> JOB[Persistent analysis job]
JOB --> SSE[Recoverable SSE stream<br/>status + events + after_seq]
JOB --> LG[LangGraph pipeline]
LG --> P[parse_contract]
P --> A[clause-by-clause risk analysis]
A --> T[tool call: analyze_clause_risk]
T --> RAG[(PostgreSQL pgvector<br/>331 Japanese legal articles)]
A --> S[tool call: generate_suggestion<br/>medium/high risks only]
S --> REP[report generation + translation]
REP --> CACHE[(Redis 72h report cache)]
REP --> DB[(PostgreSQL orders/reports/costs)]Технологический стек
Слой | Стек |
Фронтенд | React, Vite, TypeScript, i18next (9 языков) |
Бэкенд | FastAPI, SQLAlchemy async, Alembic, APScheduler |
ИИ-рабочий процесс | LangGraph + вызовы инструментов OpenAI, MCP-сервер |
RAG | PostgreSQL |
OCR | Google Cloud Vision ( |
Хранилище | PostgreSQL (заказы / отчеты / события), Redis (кэш 72ч + ограничение частоты запросов) |
Платежи | KOMOJU checkout |
Электронная почта | Resend |
Наблюдаемость | Sentry + PostHog |
Инфраструктура | Docker Compose (локально), Fly.io + Vercel (эталон развертывания) |
Быстрый старт (локально)
Для локального запуска требуется только ключ API OpenAI.
cp .env.example .env
# Edit .env: set OPENAI_API_KEY
docker compose up --buildЗатем откройте http://localhost:5173 и загрузите docs/samples/sample-contract-ja.txt.
В этом минимальном режиме:
✅ Договоры в виде обычного текста и текстовые PDF-файлы (с возможностью выделения текста) работают от начала до конца.
❌ OCR для изображений / сканированных PDF отключен. Чтобы включить его, добавьте
GOOGLE_APPLICATION_CREDENTIALS_JSONиGOOGLE_VISION_PROJECT_ID.KOMOJU / Resend автоматически обходятся в режиме разработки — никаких реальных платежей, никаких реальных писем.
Настройка для продакшена
Репозиторий подготовлен для развертывания в продакшене путем установки APP_ENV=production и предоставления учетных данных для каждой внешней службы:
Служба | Необходимые переменные окружения |
OpenAI |
|
Google Cloud Vision (OCR) |
|
KOMOJU (платежи) |
|
Resend (почта) |
|
Sentry |
|
PostHog |
|
База данных / Кэш |
|
Приложение |
|
Когда APP_ENV=production, приложение отказывается запускаться, если отсутствует что-либо из вышеперечисленного или FRONTEND_URL все еще указывает на localhost. Логика строгой проверки находится в backend/config.py (validate_runtime()).
fly.toml и vercel.json описывают топологию развертывания, использовавшуюся во время разработки. В настоящее время сервис не размещен в сети.
Процесс
Загрузите договор (текст, PDF или изображение). Маршрут загрузки выполняет извлечение текста, проверку PII, оценку токенов, обнаружение не-договорных документов и контроль бюджета OCR.
Путь оформления заказа создает заказ. Пустые учетные данные KOMOJU активируют локальный обход в режиме разработки.
/review/:orderIdзапускает или возобновляет постоянную задачу анализа и транслирует события прогресса, которые сохраняются после обновления страницы.LangGraph анализирует положения, анализирует каждое положение с помощью вызовов инструментов, основанных на RAG, и генерирует предложения только там, где это оправдано риском.
/report/:orderIdпоказывает сохраненный отчет, выдержки из положений, фильтры рисков и экспорт в PDF — сохраняется в течение 72 часов.
Текст договора пользователя удаляется после анализа. Векторное хранилище содержит только общедоступные статуты e-Gov; договоры пользователей никогда не векторизуются.
Демо

Карта репозитория
backend/agent/graph.py— конвейер LangGraph.backend/agent/tools.py— вызовы инструментов, основанные на RAG.backend/services/analysis_executor.py— постоянная задача анализа + отслеживание событий.backend/rag/store.py— хранилище pgvector и поиск.backend/config.py— конфигурация среды выполнения и строгая проверка.frontend/src/pages/ReviewPage.tsx— пользовательский интерфейс восстановления прогресса анализа.frontend/src/pages/ReportPage.tsx— пользовательский интерфейс отчета с фильтрами рисков и экспортом в PDF.tests/— наборы тестов pytest для бэкенда.scripts/smoke_local_flow.sh— сквозной локальный дымовой тест.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI legal compliance: contract review, risk scoring, EU/CN AI act, watermark check. 8 MCP tools.
AI governance MCP server for EU AI Act compliance and jurisdiction verification
Connect AI to millions of laws and court cases with the Lawstronaut MCP.
The CustomGPT.ai MCP server is a fully managed, RAG-powered endpoint that connects large language models with private knowledge bases and external data sources. It provides tools for retrieval-augmented generation queries (send_message), data ingestion (upload_file), and source listing, enabling AI agents to query private documents like PDFs with high accuracy and real-time citations.
Related MCP Servers
- AlicenseAqualityFmaintenanceAn enterprise-grade MCP server that provides specialized tools for legal reasoning and analysis, automatically detecting legal domains and offering domain-specific guidance, templates, and citation formatting.333ISC

Contract Review AI MCPofficial
AlicenseNot gradedqualityBmaintenanceContract Review AI - MCP server providing AI-powered tools and automation by MEOK AI Labs6 npm54 PyPI2MIT- AlicenseNot gradedqualityBmaintenanceLegal Document AI - MCP server providing AI-powered tools and automation by MEOK AI Labs4 npm53 PyPIMIT
- AlicenseAqualityDmaintenanceMCP server for searching and retrieving Japanese laws from the e-Gov API, enabling natural language queries for legal information.35 npmMIT