Azure DevOps On-Premises MCP Server

Model Context Protocol MCP server for on-premises Azure DevOps that lets AI assistants browse repositories, review pull requests, manage work items, and interact with wikis. Its 36 documented tools cover devops, work, pull, comment. It runs locally over stdio via the published package.

People who work with devops, work and pull and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-09-07 · ★ 3 · #93 OF 221 MAINTAINED DOCUMENTATION · VERIFIED 2026-09-30

Apache-2.0 · Python servers · how we verify → /methodology

01 · Install Azure DevOps On-Premises

before you install - you'll need

Set DEVOPS_API_URL, DEVOPS_USERNAME, DEVOPS_PASSWORD, DEVOPS_PAT before connecting.

Claude Code

claude mcp add zwitbaum-mcp-devops-on-prem -- uvx mcp-devops-onpremise

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "zwitbaum-mcp-devops-on-prem": {
      "command": "uvx",
      "args": [
        "mcp-devops-onpremise"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license Apache-2.0 - declared in the repository

pypi package mcp-devops-onpremise - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.zwitbaum is GitHub-verified and matches the repo owner

03 · What Azure DevOps On-Premises can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can retrieve a pull request by ID, including linked work items and commit SHAs for diffing, create or update pull requests, update reviewers, or cast your PR vote, list non-deleted text comments in a specific thread, and create a new thread with an initial comment (general or inline on a file/line).

The 36 tools it gives your agent

Extracted from the project's README - what Azure DevOps On-Premises lets an agent do.

devops_pull_request_get
- Retrieve a pull request by ID, including linked work items and commit SHAs for diffing
devops_pull_request_write
- Create or update pull requests, update reviewers, or cast your PR vote
devops_pull_request_list_threads
- Returns a hierarchical list of non-deleted comment threads and their text comments
devops_pull_request_list_thread_comments
- List non-deleted text comments in a specific thread
devops_pull_request_create_comment
- Create a new thread with an initial comment (general or inline on a file/line)
devops_pull_request_reply_comment
- Reply to an existing comment thread
devops_pull_request_update_thread
- Update the status of a comment thread
devops_pull_request_update_comment
- Update the text of an existing comment
devops_pull_request_delete_comment
- Delete a comment from a pull request thread
devops_repository_list
- List all repositories in the project
devops_repository_get
- Retrieve repository details by name or ID
devops_repository_commit_changes
- List files changed in a specific commit
show all 36 tools
devops_repository_diffs_commits
- Get the difference between two commits (changed file paths)
devops_repository_item_content
- Get raw file content at a specific commit or branch
devops_get_item_content_diff
- Get line-level textual diff of a file between two commits (added lines prefixed +, removed -)
devops_work_item_get
- Retrieve a work item (PBI, bug, task) by numeric ID. Returns a compact object with key fields, attachments (files and inline images), and linked items (work ite
devops_work_item_attachment_get
- Download a work item attachment by its GUID, either saving locally or returning base64-encoded content
devops_work_item_type_get
- Get the definition of a work item type by name (e.g. Bug, User Story)
devops_work_item_query_by_wiql
- Execute a WIQL (Work Item Query Language) query and return matching work items
devops_work_item_create
- Create a new work item with typed fields; Html is the default format
devops_work_item_update
- Update fields on a work item using JSON Patch (add / replace / remove)
devops_work_item_delete
- Delete a work item, moves to Recycle Bin by default; use destroy=True for permanent deletion (requires project permission)
devops_work_item_undelete
- Restore a soft-deleted work item from the Recycle Bin
devops_work_item_link_update
- Add or remove a relation link between two work items (parent, child, related, successor, predecessor, etc.)
devops_work_item_artifact_link_update
- Add or remove an artifact link (Pull Request, Build, Commit, Branch, Changeset) on a work item
devops_work_item_comment_list
- List comments on a work item with configurable page size and format
devops_work_item_comment_add
- Add a comment to a work item
devops_work_item_comment_update
- Update an existing comment on a work item
devops_work_item_comment_delete
- Delete a comment from a work item
devops_code_search
- Search source code with optional repository, path, and branch filters
devops_work_item_search
- Search work items with optional area, type, state, and assigned-to filters
devops_wiki_search
- Search wiki pages with an optional wiki filter
devops_wiki_page_get
- Get wiki page metadata and optional content by wiki ID and page ID
devops_wiki_page_create_or_update
- Create or update a wiki page under a specified parent page
devops_wiki_page_update
- Update an existing wiki page by ID
devops_wiki_page_delete
- Delete an existing wiki page by ID

Latest releases

v2.1.0 · 2026-09-07

v2.0.1 · 2026-09-03

v2.0.0 · 2026-07-21

04 · Who maintains Azure DevOps On-Premises

Azure DevOps On-Premises is maintained by zwitbaum. It's the only MCP server we track from this author; the repo dates to May 2026.

05 · Facts

category
documentation - ranked #93 of 221 actively-maintained documentation servers as of 2026-09-30.
release cadence
3 releases in the last 90 days (latest 2026-09-07)
registry
io.github.zwitbaum/mcp-devops-on-prem (active, first published 2026-06-18 · 4 versions)
packages
pypi:mcp-devops-onpremise

06 · Azure DevOps On-Premises FAQ

Is Azure DevOps On-Premises still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-07 and it shipped 3 releases in the last 90 days. We re-verify nightly.

What can Azure DevOps On-Premises do?

With this server connected, an agent can retrieve a pull request by ID, including linked work items and commit SHAs for diffing, create or update pull requests, update reviewers, or cast your PR vote, list non-deleted text comments in a specific thread, and create a new thread with an initial comment (general or inline on a file/line).

How do I install Azure DevOps On-Premises?

Run `uvx mcp-devops-onpremise`. The README documents 4 environment variables (DEVOPS_API_URL, DEVOPS_USERNAME, DEVOPS_PASSWORD…) to set first. Set DEVOPS_API_URL, DEVOPS_USERNAME, DEVOPS_PASSWORD, DEVOPS_PAT before connecting. You can also paste the ready-made client config above.

Does Azure DevOps On-Premises run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Azure DevOps On-Premises