AdoPRKit
A Model Context Protocol (MCP) server for managing Azure DevOps Pull Requests. Create, review, and manage PRs directly from your AI coding assistant.
Features
- Create and manage pull requests
- Add comments and review threads
- Inline code comments with file/line context
- View diffs and changed files
- Link work items
- Update PR status (draft, publish, abandon)
Installation
Local MCP (Recommended)
Quick start with uvx (no installation):
uvx ado-pr-kit
Or install globally:
pip install ado-pr-kit
Configure your editor:
Add to your MCP config (e.g., mcp_config.json, .vscode/mcp.json, or claude_desktop_config.json):
{
"mcpServers": {
"ado-pr-kit": {
"command": "uvx",
"args": ["ado-pr-kit"],
"env": {
"AZDO_ORG_URL": "https://dev.azure.com/your-org",
"AZDO_PAT": "your-personal-access-token",
"AZDO_PROJECT": "your-project-name",
"AZDO_REPO_ID": "your-default-repo"
}
}
}
}
Note:
AZDO_REPO_IDsets your default repository. You can query any repo by passingrepository_idto tools.
Remote MCP (SSE Server)
Connect to hosted server:
Option 1: Native SSE (if your client supports serverUrl + headers):
{
"mcpServers": {
"ado-pr-kit": {
"serverUrl": "https://ado-pr-kit.onrender.com/sse",
"headers": {
"X-AZDO-ORG-URL": "https://dev.azure.com/your-org",
"X-AZDO-PAT": "your-personal-access-token",
"X-AZDO-PROJECT": "your-project-name",
"X-AZDO-REPO-ID": "your-default-repo"
}
}
}
}
Option 2: Bridge command (for clients that only support stdio):
{
"mcpServers": {
"ado-pr-kit": {
"command": "uvx",
"args": [
"--from", "ado-pr-kit",
"ado-pr-connect",
"--url", "https://ado-pr-kit.onrender.com/sse",
"--org-url", "https://dev.azure.com/your-org",
"--pat", "your-personal-access-token",
"--project", "your-project-name",
"--repo-id", "your-default-repo"
]
}
}
}
Deploy your own SSE server:
uvicorn ado_pr_kit.server_sse:app --host 0.0.0.0 --port 8000
Authentication uses HTTP headers:
X-AZDO-ORG-URL: Your Azure DevOps organization URL (required)X-AZDO-PAT: Your personal access token (required)X-AZDO-PROJECT: Your Azure DevOps project name (required)X-AZDO-REPO-ID: Default repository ID (required)
Prerequisites
- Python 3.10+
- Azure DevOps PAT with Code (Read & Write) and Pull Request Threads (Read & Write) permissions
Development
git clone https://github.com/om-surushe/ado-pr-manager.git
cd ado-pr-manager
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
pytest
Roadmap
-
Inline code comments with file/line context - Rich comments (mentions, work item links)
- Full file content access
- Work item management (CRUD)
- PR voting (approve, reject)
- Pipeline/build status checks
License
MIT License - see LICENSE for details.
Metadata
Release files for ado-pr-kit 0.2.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ado_pr_kit-0.2.8.tar.gz | 92.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ado_pr_kit-0.2.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.2 kB
Release files / ado_pr_kit-0.2.8.tar.gz
| Download URL | ado_pr_kit-0.2.8.tar.gz |
|---|---|
| Size | 92.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98524e3e6857518da228884d5f643677622c2dcd228be78aadc42ca4e2f4a34b
|
|
BLAKE2b-256 checksum How to use checksums |
98a00514d4e02413be0b4a3aa5bc3e12658cf322213804ebff71746e553aa4b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / ado_pr_kit-0.2.8-py3-none-any.whl
| Download URL | ado_pr_kit-0.2.8-py3-none-any.whl |
|---|---|
| Size | 14.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3da4bd213bb2dea38eb341cf16546f026fcd91188362daaef5a1b2849d71e855
|
|
BLAKE2b-256 checksum How to use checksums |
d92799e517e4c49e06846d6e7b2e6c2c24e1b2936c4e6e462578df17c14bacf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for ado-pr-kit 0.2.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.