Skip to main content
Glama
Janani879

DPR MCP Server

by Janani879

DPR MCP AI Document Collaboration Platform

Это локальная платформа для совместной работы с документами на базе Git, где люди и AI-агенты могут безопасно работать над общими документами.

Проект объединяет:

  • сервер Model Context Protocol

  • настоящий MCP stdio-клиент

  • React-панель управления

  • агентов на базе LangGraph

  • версионирование на базе Git

  • изолированные рабочие пространства

  • запросы на изменение

  • ручную проверку и слияние

  • обнаружение конфликтов

  • предложения по разрешению конфликтов

  • отслеживание происхождения

Основная идея:

AI agents can write and review documents, but they cannot silently overwrite main.
Every edit becomes a versioned, reviewable, traceable Change Request.

Почему существует этот проект

Обычное редактирование документов с помощью AI рискованно: агент может напрямую перезаписать файл, потерять историю, смешать правки нескольких пользователей или сделать непонятным, кто, что и зачем изменил.

Этот проект решает эту проблему, помещая AI-агентов за контролируемый протокол совместной работы:

Agent -> MCP Client -> MCP Server -> Controlled Tools -> Git + SQLite

Агент не изменяет напрямую канонический репозиторий документов. Он создаёт изолированное рабочее пространство, редактирует файлы там, открывает запрос на изменение и ждёт проверки человеком.

Related MCP server: agentsync

Архитектура

Полная архитектура проекта:

Архитектура проекта

Архитектура агентов фазы 2:

Архитектура агентов фазы 2

Общий ход работы:

React Dashboard / External MCP Client
        |
        v
Dashboard API
        |
        v
LangGraph Agents
        |
        v
DPRMCPClient
        |
        v
MCP stdio
        |
        v
DPR MCP Server
        |
        v
MCP Tools
        |
        v
DPR Services
        |
        v
Git Repositories + Isolated Workspaces + SQLite Metadata

Основные компоненты

MCP-сервер

MCP-сервер — это управляемый backend-интерфейс. Он предоставляет безопасные инструменты для совместной работы с документами.

Точка входа:

src/dpr_mcp/server.py

Важные инструменты:

  • create_project

  • create_workspace

  • read_project_file

  • read_change_file

  • create_file

  • edit_file

  • create_change

  • review_change

  • approve_change

  • merge_change

  • get_diff

  • get_file_patch

  • get_conflicts

  • propose_conflict_resolution

  • apply_conflict_resolution

  • rollback_change

  • get_provenance

Запуск напрямую:

python -m dpr_mcp.server

Сервер общается по MCP через stdio. Обычно с ним взаимодействует клиент; вам не нужно вручную вводить команды в этот процесс.

Настоящий MCP-клиент

Переиспользуемый MCP-клиент находится здесь:

src/dpr_mcp/mcp/client.py

Он запускается/подключается к MCP-серверу DPR через stdio и вызывает инструменты по именам. Это та же идея, которую используют внешние MCP-клиенты, такие как Claude Code.

Запустите демо реального клиента:

python examples\real_mcp_client.py

Ожидаемый результат:

Connected to DPR MCP server. 35 tools available.
Project: client-demo
Workspace: ws-...
Change request: CR-...
Open changes: 1

React-панель

Панель — это интерфейс для пользователя.

Она позволяет:

  • выбирать локальный корневой каталог DPR

  • создавать проекты

  • просматеривать документы

  • запускать агентов

  • проверять запросы на изменение

  • просматривать разницы (diffы)

  • объединить однорённые изменения

  • просматривать конфликты

  • смотреть историю and происхождение

Backend:

src/dpr_mcp/dashboard.py

Frontend:

frontend/

LangGraph-агенты

Уровень агентских процесс-бот находится здесь:

src/dpr_mcp/agents/workflows.py

Живые действия панели агентов создают настоящий DPRMCPClient, подключаются к MCP-серверу через stdio и вызывают MCP-инструменстры. Теперь путь агента таков:

Dashboard -> LangGraph Agent -> DPRMCPClient -> MCP Server -> MCP Tools

Текущие агенты:

  • Агент-черновик

  • Агент-ревьюер

  • Агент-конплайнσ

  • Агент-разрешитель конфликтов

Интеграция LLM находится здесь:

src/dpr_mcp/agents/llm.py

Поддерживаются репозитории:

  • Groq

  • OpenAI

  • откатный режим, если ключ не настроен

Процессы агентов

Агент-черновик

Агент-черновик создаёт или улучшает документ.

Пример промпта:

Write a detailed report about smart waste segregation for a college campus.

Внутренний процесс:

Dashboard
-> LangGraph Draft Agent
-> DPRMCPClient
-> MCP server
-> list_files
-> read_project_file if the file exists
-> create_workspace
-> create_file or edit_file
-> create_change

Результат:

A new Change Request is created.
The file is not directly merged into main.

Агент-ревьюер

Агент-ревьюер проверяет:

  • ясность

  • структуру

  • полноту

  • техническую полезность

  • соответствие намерениям пользователей

Внутренний процесс:

Reviewer Agent
-> DPRMCPClient
-> get_change
-> get_diff
-> get_file_patch
-> review_change

Результат:

A review comment is added to the Change Request.

Агент-ревьюер не заменяет проверку человека. Он даёт обратную связь перед тем, как человек решает, принять ли изменения.

Агент-конплаенса

Агент-конплаенса проверяет, является ли изменение безопасным и соответствует ли политике.

Он ищет:

  • несоответствующие типы файлов

  • секреты и учётные данные

  • заполнителicons или плейсхолдеры

  • выдуманные доказательства

  • небезопасные утверждения

  • отсутствующие разделы отчёта

Внутренний процесс:

Compliance Agent
-> DPRMCPClient
-> get_change
-> get_diff
-> get_file_patch
-> review_change

Результат:

The Change Request receives a compliance review.
If there is a blocking issue, the review requests changes.

Агент-разрешитель конфликтов

Агент-разрешитель конфликтов используется, когда Git обнаруживает реальный конфликт слияния.

Внутренний процесс:

Resolver Agent
-> DPRMCPClient
-> get_change
-> get_conflicts
-> create_workspace
-> read_project_file
-> read_change_file
-> edit_file
-> propose_conflict_resolution

Результат:

A new resolution Change Request is created.
The human still reviews and merges the resolution.

Разрешитель не заменяет ревью. Он только предлагает исправление.

Как возникает реальный конфликт

Конфликт возникает, когда два изменения редактируют одну и ту же часть одного и того же файла, отталкиваясь от одного и того же старого базового состояния.

Пример:

main has report.md

Затем:

Agent A creates CR-1 editing report.md
Agent B creates CR-2 editing the same paragraph in report.md
Human merges CR-1 first
Human tries to merge CR-2
Git detects that CR-2 was based on old main and touched the same lines
CR-2 becomes conflicted

Затем:

Conflict Resolver Agent reads current main and incoming CR-2
Resolver writes a combined version in a new workspace
Resolver opens a resolution CR
Human reviews and merges the resolution CR

Это реальный конфликт Git, а не вымышленный функтор UI.

Где создаются файлы

Панель запрашивает каталог корней.

Если корневой катал:

C:\Users\janan\dpr-mcp\data

то система использует:

data\projects      -> canonical Git repositories
data\workspaces    -> isolated Git worktrees
data\dpr_mcp.db    -> SQLite metadata database

Важно:

Documents are local files inside Git-backed project repositories.
Workspaces are temporary isolated edit areas.
SQLite stores metadata such as workspaces, changes, reviews, conflicts, and roles.

Почему используются Git

Git обрабатывает:

  • коммиты

  • веткбылки

  • worktrees

  • дiffы

  • проверки на возможность слияния

  • конфликты слияния

  • историю слияния

  • откаты через строительные коммиты

Проект не изобретает заново систему контроля версий. Он использует Git как источник истины и добавляет поверх него процесс совместной работы.

Почему используется SQLite

Git хорошо подходит для истории файлов, но не хранит естественно метаданные совместной работы, такие как:

  • статус запроса на изменение

  • комментарии рвьюэров

  • одобрение

  • записи о разрешении конфликтов

  • владение рабочим пространством

  • привязку ролей

  • журналы событий

Все эти метаданные хранятся в SQLite.

Человеческое управление

Система намеренно построена по принципу human-in-the-loop (человек в цикле).

Агенты могут:

  • создавать черновики документов

  • проверлять изменения

  • проверять соответствие

  • предлагать разрешения конфликтов

Люди контролируют:

  • окончальное одобрение

  • слияние

  • откат

  • доступ к проекту / выбор корневого каталога

Это важно, потому что проект является о безопасной совместной работе с AI, а не о бесконтрольном автономном редактировании.

Модель безопасности

Файловые операции ограничены наштроенным корневым репозиторием и корневным рабочим каталогом.

Слой безопасности фаилов отклоняет:

  • абсолтные пути

  • обход путей (path traversal)

  • выходы через символические ссылки (symlink escapes)

  • нулевые байты

  • управляющие символы

  • чувствительные имена файлов, такие как .env, private keys и credentials.

Соответствующие файлы:

src/dpr_mcp/files/security.py
src/dpr_mcp/files/service.py
tests/security/

Устанока и настройка

Из командной строки (CMD) в Windows:

cd /d C:\Users\janan\dpr-mcp
python -m venv .venv
.venv\Scripts\activate
pip install -e ".[dev]"
cd frontend
npm install
cd ..

Если окружение уже существует:

cd /d C:\Users\janan\dpr-mcp
.venv\Scripts\activate

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

Создать файл .env в корне проке, если вы используете настоящую LLM.

Для Groop:

DPR_LLM_PROVIDER=groq
GROQ_API_KEY=your_key_here
DPR_LLM_MODEL=llama-3.3-70b-versatile

Для OpenAI:

DPR_LLM_PROVIDER=openai
OPENAI_API_KEY=your_key_here
DPR_LLM_MODEL=gpt-5

Если ключ не настроен, агенты работают в запасном режиме, но результате будет базовым.

Запуск панели

Backend:

cd /d C:\Users\janan\dpr-mcp
.venv\Scripts\activate
python -m dotenv run -- python -m dpr_mcp.dashboard --host 127.0.0.1 --port 8787 --root data

Frontend:

cd /d C:\Users\janan\dpr-mcp\frontend
npm run dev

Откройте URL, показанный втерминей Vite, обычно:

http://127.0.0.1:5173

API бэкенда панели доступно по адресу:

http://127.0.0.1:8787

Запуск MCP-сервера напрямую

cd /d C:\Users\janan\dpr-mcp
.venv\Scripts\activate
python -m dpr_mcp.server

Это запускает MCP-сервер через stdio.Ov ничего.

Запуск демо реального MCP-клиента

cd /d C:\Users\janan\dpr-mcp
.venv\Scripts\activate
python examples\real_mcp_client.py

Это подтверждает:

Python client
-> MCP stdio server
-> MCP tools
-> project/workspace/file/change created

Карта репозиотор

src/dpr_mcp/server.py              MCP server entry point
src/dpr_mcp/dashboard.py           local dashboard HTTP API
src/dpr_mcp/mcp/tools.py           MCP tool definitions
src/dpr_mcp/mcp/client.py          real MCP stdio client
src/dpr_mcp/mcp/gateway.py         in-process MCP-shaped gateway
src/dpr_mcp/agents/workflows.py    LangGraph agent workflows
src/dpr_mcp/agents/llm.py          Groq/OpenAI/fallback generation
src/dpr_mcp/projects/              project repository management
src/dpr_mcp/workspace/             isolated worktree management
src/dpr_mcp/collaboration/         changes, reviews, approvals, conflicts
src/dpr_mcp/files/                 safe local file access
src/dpr_mcp/git/                   Git CLI wrapper
src/dpr_mcp/persistence/           SQLite models and repositories
src/dpr_mcp/provenance/            provenance reconstruction
frontend/                          React dashboard
examples/                          runnable MCP and conflict demos
tests/                             unit, integration, security, MCP tests
docs/                              architecture and technical docs

Текущее состояние

Реализовано:

  • MCP-сервер

  • настоящий MCP stdio-клиент

  • React-панель

  • LangGraph-агенты

  • интеграция LLM

  • локальные Git-репозитории проектов

  • изолированные рабочие пространства

  • запросы изменения

  • рецензии

  • проверки соответствия

  • процесс слияния

  • обнаружение конфликтов

  • применЕНИЕ конфликтов

  • откат

  • происхождение (provenance)

  • архитектурные диаграммы

  • тесты

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Gives AI coding assistants persistent memory, safety controls, and project awareness by tracking coding sessions, protecting critical files from modifications, and managing approval workflows with automatic changelog generation.
    19
    13
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables multiple AI agents to collaborate on the same git repository by coordinating work via a shared claims branch, detecting file conflicts before they happen.
    9
    PolyForm Noncommercial 1.0.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables multiple AI coding agents to collaborate on the same Git repository without conflicts through isolated worktrees, file locking, automated test verification, and a serialized merge queue.
    7
    6
    MIT

View all related MCP servers

Related MCP Connectors

  • Git-backed platform for skills, tools, and context for AI agents

  • Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Janani879/DPR-Git-Backed-MCP-Collaboration-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server