get_me
Get details of the authenticated user (id, displayName, email)
无需输入参数。

io.github.billg118由 GitHub 账号 billg118 发布v0.1.54更新于 Nov 5, 2026
Azure DevOps MCP server: projects, repos, work items, pull requests, pipelines, and wikis.
社区版 MCP 服务器,让 AI 助手读取并修改 Azure DevOps 的项目、代码库、工作项、拉取请求、流水线和 Wiki。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
A Model Context Protocol (MCP) server implementation for Azure DevOps, allowing AI assistants to interact with Azure DevOps APIs through a standardized protocol.
Looking for the official server? Microsoft maintains a product-supported Azure DevOps MCP at microsoft/azure-devops-mcp. If you use Azure DevOps Services (cloud), start there.
This community server remains a good fit when you need Azure DevOps Server (on-premises) support — especially older versions that may not work with Microsoft's MCP — or features not yet available in the official server. See Discussion #237 for more context. See ROADMAP.md for where this server differentiates and what is planned.
This server implements the Model Context Protocol (MCP) for Azure DevOps, enabling AI assistants like Claude to interact with Azure DevOps resources securely. The server acts as a bridge between AI models and Azure DevOps APIs, providing a standardized way to:
The server is structured around the Model Context Protocol (MCP) for communicating with AI assistants. It provides tools for interacting with Azure DevOps resources including:
The server uses a feature-based architecture where each feature area (like work-items, projects, repositories) is encapsulated in its own module. This makes the codebase more maintainable and easier to extend with new features.
If you just want to run the published server package, you do not need to clone or build this repository:
From a checkout of this repository:
For iterative development (auto-reload):
To integrate with Claude Desktop or Cursor AI, add one of the following configurations to your configuration file.
Be sure you are logged in to Azure CLI with az login then add the following:
Azure DevOps Server (on-prem) requires PAT authentication. Example:
For detailed configuration instructions and more authentication options, see the Authentication Guide.
This server supports multiple authentication methods for connecting to Azure DevOps APIs. For detailed setup instructions, configuration examples, and troubleshooting tips, see the Authentication Guide.
Example configuration files for each authentication method are available in the examples directory.
Azure DevOps Server (on-prem) supports PAT authentication only. Azure Identity and Azure CLI are supported for Azure DevOps Services.
For a complete list of environment variables and their descriptions, see the Authentication Guide.
Key environment variables include:
For detailed troubleshooting information for each authentication method, see the Authentication Guide.
Common issues include:
For technical details about how authentication is implemented in the Azure DevOps MCP server, see the Authentication Guide and the source code in the src/auth directory.
The Azure DevOps MCP server provides a variety of tools for interacting with Azure DevOps resources. For detailed documentation on each tool, please refer to the corresponding documentation.
get_me: Get details of the authenticated user (id, displayName, email) (Azure DevOps Services only)list_organizations: List all accessible organizations (Azure DevOps Services only)list_projects: List all projects in an organizationget_project: Get details of a specific projectget_project_details: Get comprehensive details of a project including process, work item types, and teamslist_repositories: List all repositories in a projectget_repository: Get details of a specific repositoryget_repository_details: Get detailed information about a repository including statistics and refsget_file_content: Get content of a file or directory from a repositoryget_repository_tree: List a repository's file tree from any path and depthcreate_branch: Create a new branch from an existing onecreate_commit: Commit multiple file changes to a branch using unified diffs or search/replace instructionsget_work_item: Retrieve a work item by IDcreate_work_item: Create a new work itemupdate_work_item: Update an existing work itemlist_work_items: List work items in a projectmanage_work_item_link: Add, remove, or update links between work itemscreate_work_item_attachment: Upload and attach a file to a work itemget_work_item_attachment: Download an attachment from a work itemdelete_work_item_attachment: Delete an attachment from a work itemsearch_code: Search for code across repositories in a projectsearch_wiki: Search for content across wiki pages in a projectsearch_work_items: Search for work items across projects in Azure DevOpslist_pipelines: List pipelines in a projectget_pipeline: Get details of a specific pipelinelist_pipeline_runs: List recent runs for a pipeline with optional filtersget_pipeline_run: Get detailed run information and artifact summariesdownload_pipeline_artifact: Download a single artifact file as textpipeline_timeline: Retrieve the stage and job timeline for a runget_pipeline_log: Retrieve raw or JSON-formatted log contenttrigger_pipeline: Trigger a pipeline run with customizable parametersget_wikis: List all wikis in a projectget_wiki_page: Get content of a specific wiki page as plain textcreate_pull_request - Create a new pull requestget_pull_request - Get a pull request by IDlist_pull_requests - List pull requests in a repositoryadd_pull_request_comment - Add a comment to a pull requestget_pull_request_comments - Get comments from a pull requestupdate_pull_request - Update an existing pull request (title, description, status, draft state, reviewers, work items)get_pull_request_changes - List changes in a pull request and policy evaluation statusget_pull_request_checks - Summarize status checks, policy evaluations, and their related pipelinesFor comprehensive documentation on all tools, see the Tools Documentation.
Contributions are welcome! Please see CONTRIBUTING.md for contribution guidelines.
MIT
来源:README.md,提交 d5e8305
Get details of the authenticated user (id, displayName, email)
无需输入参数。
List all Azure DevOps organizations accessible to the current authentication
无需输入参数。
List all projects in an organization
topskipstateFilterorganizationIdcontinuationTokenGet details of a specific project
projectIdorganizationIdGet comprehensive details of a project including process, work item types, and teams
projectIdincludeTeams必填includeFields必填includeProcess必填organizationIdexpandTeamIdentity必填includeWorkItemTypes必填Get details of a specific repository
projectIdrepositoryId必填organizationIdGet detailed information about a repository including statistics and refs
projectIdrefFilterbranchNameincludeRefs必填repositoryId必填organizationIdincludeStatistics必填List repositories in a project
projectIdincludeLinksorganizationIdGet content of a file or directory from a repository
path必填versionprojectIdversionTyperepositoryId必填organizationIdDisplays a hierarchical tree view of files and directories across multiple Azure DevOps repositories within a project, based on their default branches
depth必填patternprojectIdorganizationIdrepositoryPatternDisplays a hierarchical tree view of files and directories within a single repository starting from an optional path
path必填depth必填projectIdrepositoryId必填organizationIdCreate a new branch from an existing one
newBranch必填projectIdrepositoryId必填sourceBranch必填organizationIdCreate a commit on an existing branch using file changes. - Provide plain branch names (no "refs/heads/"). - ⚠️ Each file path may appear only once per commit request—combine all edits to a file into a single change entry. - Prefer multiple commits when you have sparse or unrelated edits; smaller focused commits keep review context clear. 🎯 RECOMMENDED: Use the SEARCH/REPLACE format (much easier, no line counting!). **Option 1: SEARCH/REPLACE format (EASIEST)** Simply provide the exact text to find and replace: ```json { "changes": [{ "path": "src/api/services/function-call.ts", "search": "return axios.post(apiUrl, payload, requestConfig);", "replace": "return axios.post(apiUrl, payload, requestConfig).then(r => { processResponse(r); return r; });" }] } ``` The server fetches the file, performs the replacement, and generates the diff automatically. No line counting, no hunk headers, no context lines needed! **Option 2: UNIFIED DIFF format (Advanced)** If you prefer full control, provide complete unified diffs: - Each patch MUST have complete hunk headers: @@ -oldStart,oldLines +newStart,newLines @@ - CRITICAL: Every @@ marker MUST include line numbers. Do NOT use @@ without line ranges. - Include 3-5 context lines before and after changes. - For deletions: `--- a/filepath` and `+++ /dev/null` - For additions: `--- /dev/null` and `+++ b/filepath` Example unified diff: ```json { "changes": [{ "patch": "diff --git a/file.yaml b/file.yaml\n--- a/file.yaml\n+++ b/file.yaml\n@@ -4,7 +4,7 @@ spec:\n spec:\n type: ClusterIP\n ports:\n- - port: 8080\n+ - port: 9090\n targetPort: http\n" }] } ```
changes必填projectIdbranchName必填repositoryId必填commitMessage必填organizationIdList recent commits on a branch including file-level diff content for each commit
topskipprojectIdbranchName必填repositoryId必填organizationIdList work items in a project
topskipwiqlfieldsteamIdqueryIdprojectIdorganizationIdGet details of a specific work item
expandworkItemId必填Create a new work item
tagstitle必填areaPathparentIdpriorityprojectIdassignedTodescriptionworkItemType必填iterationPathorganizationIdadditionalFieldsUpdate an existing work item
tagsstatetitleareaPathprioritytagsToAddassignedToworkItemId必填descriptiontagsToRemoveiterationPathadditionalFieldsAdd or remove links between work items
commentoperation必填projectIdrelationType必填organizationIdnewRelationTypesourceWorkItemId必填targetWorkItemId必填Get comments and discussion history for a specific work item
toporder必填expand必填projectIdworkItemId必填includeDeletedcontinuationTokenUpload a file and attach it to a work item. The file is read from the local filesystem, uploaded to Azure DevOps, and linked to the specified work item.
commentfileNamefilePath必填workItemId必填Download an attachment from Azure DevOps and save it to the local filesystem. The attachment ID can be obtained from the work item relations.
outputPath必填attachmentId必填Delete an attachment from a work item. The attachment ID can be obtained from the work item relations.
workItemId必填attachmentId必填Search for code across repositories in a project
top必填skip必填filtersprojectIdsearchText必填includeContent必填includeSnippet必填organizationIdSearch for content across wiki pages in a project
top必填skip必填filtersprojectIdsearchText必填includeFacets必填organizationIdSearch for work items across projects in Azure DevOps
top必填skip必填filtersorderByprojectIdsearchText必填includeFacets必填organizationIdCreate a new pull request, including reviewers, linked work items, and optional tags
tagstitle必填isDraftprojectIdreviewersdescriptionrepositoryId必填workItemRefssourceRefName必填targetRefName必填organizationIdadditionalPropertiesGet a pull request by ID (no repositoryId required; best for Azure DevOps Server where PR IDs are project-scoped)
projectId必填pullRequestId必填organizationIdList pull requests in a repository
top必填skipstatuscreatorIdprojectIdreviewerIdrepositoryId必填sourceRefNametargetRefNameorganizationIdGet comments from a specific pull request
topthreadIdprojectIdrepositoryId必填pullRequestId必填includeDeletedorganizationIdAdd a comment to a pull request (repositoryId optional; derived from pullRequestId when omitted)
statuscontent必填filePaththreadIdprojectIdlineNumberrepositoryIdpullRequestId必填organizationIdparentCommentIdUpdate an existing pull request with new properties, manage reviewers and work items, and add or remove tags
titlestatusaddTagsisDraftprojectIdremoveTagsdescriptionaddReviewersrepositoryId必填pullRequestId必填addWorkItemIdsorganizationId另有 3 个Get the files changed in a pull request, their unified diffs, source/target branch names, and the status of policy evaluations
projectIdrepositoryId必填pullRequestId必填organizationIdSummarize the latest status checks and policy evaluations for a pull request. - Surfaces pipeline and run identifiers so you can jump straight to the blocking validation. - Pair with pipeline tools (e.g., get_pipeline_run, pipeline_timeline) to inspect failures in depth.
projectIdrepositoryId必填pullRequestId必填organizationIdUpdate the status of a comment thread in a pull request (repositoryId optional; derived from pullRequestId when omitted)
status必填threadId必填projectIdrepositoryIdpullRequestId必填organizationIdList pipelines in a project
toporderByprojectIdGet details of a specific pipeline
projectIdpipelineId必填pipelineVersionList recent runs for a pipeline
top必填statebranchresultorderBy必填createdToprojectIdpipelineId必填createdFromcontinuationTokenGet details for a specific pipeline run
runId必填projectIdpipelineIdDownload a file from a pipeline run artifact and return its textual content
runId必填projectIdpipelineIdartifactPath必填Retrieve the timeline of stages and jobs for a pipeline run, to reduce the amount of data returned, you can filter by state and result
runId必填stateresultprojectIdpipelineIdtimelineIdRetrieve a specific pipeline log using the timeline log identifier
logId必填runId必填formatendLineprojectIdstartLinepipelineIdTrigger a pipeline run
branchprojectIdvariablespipelineId必填stagesToSkiptemplateParametersGet details of wikis in a project
projectIdorganizationIdGet the content of a wiki page
wikiId必填pagePath必填projectIdorganizationIdCreate a new wiki in the project
name必填type必填projectIdmappedPath必填repositoryIdorganizationIdUpdate content of a wiki page
wikiId必填commentcontent必填pagePath必填projectIdorganizationIdList pages within an Azure DevOps wiki
wikiId必填projectIdorganizationIdCreate a new page in a wiki. If the page already exists at the specified path, it will be updated.
wikiId必填commentcontent必填pagePath必填projectIdorganizationId已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
npx -y @billg118/mcp-server-azure-devopsnpm cicp .env.example .env # then edit valuesnpm run buildnpm start # runs: node dist/index.jsnpm run dev # runs src/index.ts via tsx watch{ "mcpServers": { "azureDevOps": { "command": "npx", "args": ["-y", "@billg118/mcp-server-azure-devops"], "env": { "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization", "AZURE_DEVOPS_AUTH_METHOD": "azure-identity", "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name" } } }}{ "mcpServers": { "azureDevOps": { "command": "npx", "args": ["-y", "@billg118/mcp-server-azure-devops"], "env": { "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization", "AZURE_DEVOPS_AUTH_METHOD": "pat", "AZURE_DEVOPS_PAT": "<YOUR_PAT>", "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name" } } }}{ "mcpServers": { "azureDevOps": { "command": "npx", "args": ["-y", "@billg118/mcp-server-azure-devops"], "env": { "AZURE_DEVOPS_ORG_URL": "https://server:8080/tfs/DefaultCollection", "AZURE_DEVOPS_AUTH_METHOD": "pat", "AZURE_DEVOPS_PAT": "<YOUR_PAT>", "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name" } } }}