dpr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DPR_ACTOR_ID | No | Optional: configure the driving agent. Defaults to claude-code. | claude-code |
| DPR_DATABASE_URL | No | Optional: database URL for collaboration state. | |
| DPR_PRINCIPAL_ID | No | Optional: configure who this server instance acts as. Defaults to human:$USER. | human:$USER |
| DPR_WORKSPACE_ROOT | No | Optional: where workspaces live. | |
| DPR_REPOSITORY_ROOT | No | Optional: where projects live. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_projectC | Create a new Git-backed project. |
| list_projectsA | List all projects known to this server. |
| list_filesA | List files within a project (optionally under a subpath) at HEAD. |
| search_filesA | Search file contents within a project's default branch checkout. |
| get_project_statusA | Get a summary status (branches, open changes, active workspaces) for a project. |
| read_fileC | Read a file's content from within an active workspace. |
| create_fileB | Create a new file within an active workspace. |
| edit_fileC | Edit (overwrite) an existing file within an active workspace. |
| delete_fileB | Delete a file within an active workspace. |
| get_historyA | Get commit history for a project, optionally scoped to a path. |
| get_revisionC | Get details for a single commit revision. |
| get_diffC | Get a structured diff between two revisions in a project. |
| create_workspaceA | Create an isolated Git worktree workspace for making changes to a project. |
| get_workspaceB | Get details of a workspace by id. |
| list_workspacesA | List active workspaces for a project. |
| delete_workspaceB | Delete (remove) a workspace you own. |
| create_changeB | Create a Change Request from the commits in a workspace. |
| get_changeC | Get a Change Request by id. |
| list_changesA | List Change Requests for a project, optionally filtered by status. |
| update_changeA | Update a Change Request's rationale and refresh its head revision. |
| abandon_changeC | Abandon a Change Request. |
| review_changeC | Record a review (APPROVED, CHANGES_REQUESTED, or COMMENTED) on a Change Request. |
| approve_changeC | Convenience wrapper: approve a Change Request. |
| request_changesC | Convenience wrapper: request changes on a Change Request. |
| check_mergeabilityB | Check whether a Change Request can merge cleanly into the project's default branch. |
| merge_changeA | Merge an approved, conflict-free Change Request into the project's default branch. |
| rebase_changeB | Rebase a Change Request's workspace branch onto the current default branch. |
| get_conflictsA | Get structured conflict information for a conflicted Change Request. |
| propose_conflict_resolutionA | Propose a resolution to a conflicted Change Request, using commits already made in a separate resolver workspace. This creates a new, independently reviewable Change Request linked to the original conflict. |
| apply_conflict_resolutionB | Apply (merge) a previously proposed and reviewed conflict resolution. Subject to the same approval policy as any other merge. |
| rollback_changeA | Roll back a previously merged commit on the project's default branch by creating a new forward commit that restores the prior state (never rewrites history). |
| get_provenanceB | Get the complete provenance record for a Change Request. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_change | Ask the model to review a Change Request thoroughly. |
| summarize_change | Ask the model to summarize a Change Request for a human reviewer. |
| explain_conflict | Ask the model to explain a merge conflict in plain language. |
| summarize_history | Ask the model to summarize a project's recent history. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Every tool targets a distinct resource-action pair: projects, files, workspaces, changes, and conflicts. Even the convenience wrappers (approve_change, request_changes) are clearly labeled and do not overlap with the core review_change. The boundaries between get_history, get_revision, and get_diff are evident from their descriptions.
All 32 tool names follow a strict verb_noun pattern in lowercase snake_case (e.g., create_project, list_workspaces, rebase_change). Verbs are consistently imperative and specific, making the toolset predictable and easy to navigate.
32 tools is heavy compared to typical server scopes, but the domain (Git-backed project management with workspaces, change lifecycle, and conflict resolution) is broad enough to justify a larger surface. Still, it leans toward the upper limit, and some consolidation could be possible without losing clarity.
The toolset covers the full lifecycle: project creation, file manipulation, workspace management, change creation/review/merge/rollback, and conflict handling. Minor gaps exist (e.g., no delete_project or rename operations), but the core workflow is complete and agents can accomplish all major tasks without dead ends.