Azure DevOps MCP Server

Azure DevOps MCP Server

Enables interaction with Azure DevOps services including work items, builds, releases, test plans, repositories, and search via natural language commands from a code editor.

Category
访问服务器

README

⭐ Azure DevOps MCP Server

Easily install the Azure DevOps MCP Server for VS Code or VS Code Insiders:

Install with NPX in VS Code Install with NPX in VS Code Insiders

This TypeScript project provides a local MCP server for Azure DevOps, enabling you to perform a wide range of Azure DevOps tasks directly from your code editor.

🚨 Public Preview: This project is in public preview. Tools and features may change before general availability.

📄 Table of Contents

  1. 📺 Overview
  2. 🏆 Expectations
  3. ⚙️ Supported Tools
  4. 🔌 Installation & Getting Started
  5. 📝 Troubleshooting
  6. 🎩 Examples & Best Practices
  7. 🙋‍♀️ Frequently Asked Questions
  8. 📌 Contributing

📺 Overview

The Azure DevOps MCP Server brings Azure DevOps context to your agents. Try prompts like:

  • "List my ADO projects"
  • "List ADO Builds for 'Contoso'"
  • "List ADO Releases for 'Contoso'"
  • "List ADO Repos for 'Contoso'"
  • "List test plans for 'Contoso'"
  • "List teams for project 'Contoso'"
  • "List iterations for project 'Contoso'"
  • "List my work items for project 'Contoso'"
  • "List work items in current iteration for 'Contoso' project and 'Contoso Team'"

🏆 Expectations

The Azure DevOps MCP Server is built from tools that are concise, simple, focused, and easy to use—each designed for a specific scenario. We intentionally avoid complex tools that try to do too much. The goal is to provide a thin abstraction layer over the REST APIs, making data access straightforward and letting the language model handle complex reasoning.

⚙️ Supported Tools

Interact with these Azure DevOps services:

🧿 Core

  • core_list_project_teams: Retrieve a list of teams for the specified Azure DevOps project.
  • core_list_projects: Retrieve a list of projects in your Azure DevOps organization.
  • core_get_identity_ids: Retrieve Azure DevOps identity IDs for a list of unique names.

⚒️ Work

  • work_list_team_iterations: Retrieve a list of iterations for a specific team in a project.
  • work_create_iterations: Create new iterations in a specified Azure DevOps project.
  • work_assign_iterations: Assign existing iterations to a specific team in a project.

📅 Work Items

  • wit_my_work_items: Retrieve a list of work items relevant to the authenticated user.
  • wit_list_backlogs: Retrieve a list of backlogs for a given project and team.
  • wit_list_backlog_work_items: Retrieve a list of backlogs for a given project, team, and backlog category.
  • wit_get_work_item: Get a single work item by ID.
  • wit_get_work_items_batch_by_ids: Retrieve a list of work items by IDs in batch.
  • wit_update_work_item: Update a work item by ID with specified fields.
  • wit_create_work_item: Create a new work item in a specified project and work item type.
  • wit_list_work_item_comments: Retrieve a list of comments for a work item by ID.
  • wit_get_work_items_for_iteration: Retrieve a list of work items for a specified iteration.
  • wit_add_work_item_comment: Add a comment to a work item by ID.
  • wit_add_child_work_items: Create one or more child work items of a specific work item type for the given parent ID.
  • wit_link_work_item_to_pull_request: Link a single work item to an existing pull request.
  • wit_get_work_item_type: Get a specific work item type.
  • wit_get_query: Get a query by its ID or path.
  • wit_get_query_results_by_id: Retrieve the results of a work item query given the query ID.
  • wit_update_work_items_batch: Update work items in batch.
  • wit_work_items_link: Link work items together in batch.
  • wit_work_item_unlink: Unlink one or many links from a work item.

Deprecated Tools

  • wit_add_child_work_item: Replaced by wit_add_child_work_items to allow creating one or more child items per call.
  • wit_close_and_link_workitem_duplicates: This tool is no longer needed. Finding and marking duplicates can be done with other tools.

📁 Repositories

  • submit_pull_request_vote: Submit your final reviewer vote on a pull request (approve, reject, wait, etc.).

  • repo_list_repos_by_project: Retrieve a list of repositories for a given project.

  • repo_list_pull_requests_by_repo: Retrieve a list of pull requests for a given repository.

  • repo_list_pull_requests_by_project: Retrieve a list of pull requests for a given project ID or name.

  • repo_list_branches_by_repo: Retrieve a list of branches for a given repository.

  • repo_list_my_branches_by_repo: Retrieve a list of your branches for a given repository ID.

  • repo_list_pull_requests_by_commits: List pull requests associated with commits.

  • repo_list_pull_request_threads: Retrieve a list of comment threads for a pull request.

  • repo_list_pull_request_thread_comments: Retrieve a list of comments in a pull request thread.

  • repo_get_repo_by_name_or_id: Get the repository by project and repository name or ID.

  • repo_get_branch_by_name: Get a branch by its name.

  • repo_get_pull_request_by_id: Get a pull request by its ID.

  • repo_create_pull_request: Create a new pull request.

  • repo_update_pull_request_status: Update the status of an existing pull request to active or abandoned.

  • repo_update_pull_request: Update various fields of an existing pull request (title, description, draft status, target branch).

  • repo_update_pull_request_reviewers: Add or remove reviewers for an existing pull request.

  • repo_reply_to_comment: Replies to a specific comment on a pull request.

  • repo_resolve_comment: Resolves a specific comment thread on a pull request.

  • repo_search_commits: Searches for commits.

  • repo_create_pull_request_thread: Creates a new comment thread on a pull request.

🛰️ Builds

  • build_get_definitions: Retrieve a list of build definitions for a given project.
  • build_get_definition_revisions: Retrieve a list of revisions for a specific build definition.
  • build_get_builds: Retrieve a list of builds for a given project.
  • build_get_log: Retrieve the logs for a specific build.
  • build_get_log_by_id: Get a specific build log by log ID.
  • build_get_changes: Get the changes associated with a specific build.
  • build_run_build: Trigger a new build for a specified definition.
  • build_get_status: Fetch the status of a specific build.
  • build_update_build_stage: Update the stage of a specific build.

🚀 Releases

  • release_get_definitions: Retrieve a list of release definitions for a given project.
  • release_get_releases: Retrieve a list of releases for a given project.

🧪 Test Plans

  • testplan_create_test_plan: Create a new test plan in the project.
  • testplan_create_test_case: Create a new test case work item.
  • testplan_add_test_cases_to_suite: Add existing test cases to a test suite.
  • testplan_list_test_plans: Retrieve a paginated list of test plans from an Azure DevOps project. Allows filtering for active plans and toggling detailed information.
  • testplan_list_test_cases: Get a list of test cases in the test plan.
  • testplan_show_test_results_from_build_id: Get a list of test results for a given project and build ID.

🔎 Search

  • search_code: Get code search results for a given search text.
  • search_wiki: Get wiki search results for a given search text.
  • search_workitem: Get work item search results for a given search text.

🔌 Installation & Getting Started

For the best experience, use Visual Studio Code and GitHub Copilot. See the getting started documentation to use our MCP Server with other tools such as Visual Studio 2022, Claude Code, and Cursor.

Prerequisites

  1. Install VS Code or VS Code Insiders
  2. Install Node.js 20+
  3. Install Azure CLI
  4. Open VS Code in an empty folder

🔑 Personal Access Token (PAT) Authentication

You can use a Personal Access Token (PAT) for authentication instead of Azure CLI. To enable PAT authentication, set the following environment variables before starting the MCP server:

AZURE_DEVOPS_AUTH_TYPE = "pat"
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN = "<your-pat-token>"

If AZURE_DEVOPS_AUTH_TYPE is set to pat, the server will use the PAT for authentication. Otherwise, it will use Azure CLI or other Azure Identity credentials.

Azure Login

If you are not using PAT authentication, ensure you are logged in to Azure DevOps via the Azure CLI:

az login

Installation

✨ One-Click Install

Install with NPX in VS Code Install with NPX in VS Code Insiders

After installation, select GitHub Copilot Agent Mode and refresh the tools list. Learn more about Agent Mode in the VS Code Documentation.

🧨 Install from Public Feed (Recommended)

This installation method is the easiest for all users of Visual Studio Code.

🎥 Watch this quick start video to get up and running in under two minutes!

Steps

In your project, add a .vscode\mcp.json file with the following content:

{
  "inputs": [
    {
      "id": "ado_org",
      "type": "promptString",
      "description": "Azure DevOps organization name  (e.g. 'contoso')"
    }
  ],
  "servers": {
    "ado": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
    }
  }
}

Save the file, then click 'Start'.

<img src="./docs/media/start-mcp-server.gif" alt="start mcp server" width="250"/>

In chat, switch to Agent Mode.

Click "Select Tools" and choose the available tools.

<img src="./docs/media/configure-mcp-server-tools.gif" alt="configure mcp server tools" width="300"/>

Open GitHub Copilot Chat and try a prompt like List ADO projects.

💥 We strongly recommend creating a .github\copilot-instructions.md in your project and copying the contents from this copilot-instructions.md file. This will enhance your experience using the Azure DevOps MCP Server with GitHub Copilot Chat.

See the getting started documentation to use our MCP Server with other tools such as Visual Studio 2022, Claude Code, and Cursor.

📝 Troubleshooting

See the Troubleshooting guide for help with common issues and logging.

🎩 Examples & Best Practices

Explore example prompts in our Examples documentation.

For best practices and tips to enhance your experience with the MCP Server, refer to the How-To guide.

🙋‍♀️ Frequently Asked Questions

For answers to common questions about the Azure DevOps MCP Server, see the Frequently Asked Questions.

📌 Contributing

We welcome contributions! During preview, please file issues for bugs, enhancements, or documentation improvements.

See our Contributions Guide for:

  • 🛠️ Development setup
  • ✨ Adding new tools
  • 📝 Code style & testing
  • 🔄 Pull request process

🤝 Code of Conduct

This project follows the Microsoft Open Source Code of Conduct. For questions, see the FAQ or contact open@microsoft.com.

📈 Project Stats

Star History Chart

🏆 Hall of Fame

Thanks to all contributors who make this project awesome! ❤️

Contributors

Generated with contrib.rocks

License

Licensed under the MIT License.


Trademarks: This project may include trademarks or logos for Microsoft or third parties. Use of Microsoft trademarks or logos must follow Microsoft’s Trademark & Brand Guidelines. Third-party trademarks are subject to their respective policies.

<!-- version: 2023-04-07 [Do not delete this line, it is used for analytics that drive template improvements] -->

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选