بنقرة واحدة
setup-ado-mcp
Internal helper. Load only when explicitly named by another skill or agent.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Internal helper. Load only when explicitly named by another skill or agent.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | setup-ado-mcp |
| description | Internal helper. Load only when explicitly named by another skill or agent. |
| user-invocable | true |
| disable-model-invocation | false |
| allowed-tools | ["Read","Write","Edit","Bash"] |
Set up Azure DevOps MCP without making the user hand-edit config files. Prefer auto-detection and existing repo examples over questions.
Configure all local MCP entrypoints needed for this repo in one run:
.mcp.json for Claude Code.claude/settings.local.json only if the Azure DevOps MCP server is not already enabled~/.copilot/mcp-config.json for GitHub Copilot CLIUse the committed examples as the canonical shapes. Reference files are in the plugin's examples/ directory.
Resolve settings in this order:
AZURE_DEVOPS_ORG_URLAZURE_DEVOPS_PROJECTAZURE_DEVOPS_REPOSITORYAZURE_DEVOPS_IS_ON_PREMISESAZURE_DEVOPS_AUTH_TYPEgit remote get-url originscripts/launch-ado-mcp.sh:
https://{org}.visualstudio.com/{project}/_git/{repo}https://dev.azure.com/{org}/{project}/_git/{repo}git@ssh.dev.azure.com:v3/{org}/{project}/{repo}{org}@vs-ssh.visualstudio.com:v3/{org}/{project}/{repo}/_git/ (HTTPS) or the last path segment (SSH).AZURE_DEVOPS_IS_ON_PREMISES=falseAZURE_DEVOPS_AUTH_TYPE=entraOnly ask the user for input if both environment variables and git remote detection fail to produce the required org/project/repository values.
uname -s or check the $OS variable to determine if the host is Windows (MINGW*, MSYS*, CYGWIN*, or $OS = Windows_NT) or Unix/macOS. This determines the command/args shape for MCP server entries.Target file: .mcp.json
.mcp.json does not exist, create it with a top-level mcpServers object.mcpServers.azure-devops entry and preserve all other servers.azure-devops server entry. The command and args depend on the platform:Windows — Claude Code uses a bash shell, so MCP server processes must be launched via cmd to reach npx correctly:
{
"mcpServers": {
"azure-devops": {
"command": "cmd",
"args": [
"/c", "npx", "-y", "@achieveai/azuredevops-mcp"
],
"env": {
"AZURE_DEVOPS_ORG_URL": "resolved-org-url",
"AZURE_DEVOPS_PROJECT": "resolved-project",
"AZURE_DEVOPS_REPOSITORY": "resolved-repository",
"AZURE_DEVOPS_IS_ON_PREMISES": "false",
"AZURE_DEVOPS_AUTH_TYPE": "entra"
},
"defer_loading": true
}
}
}
macOS / Linux — use the launch script (set args[0] to its absolute path — see notes), which also provides runtime auto-detection as a fallback:
{
"mcpServers": {
"azure-devops": {
"command": "bash",
"args": [
"../../scripts/launch-ado-mcp.sh"
],
"env": {
"AZURE_DEVOPS_ORG_URL": "resolved-org-url",
"AZURE_DEVOPS_PROJECT": "resolved-project",
"AZURE_DEVOPS_REPOSITORY": "resolved-repository",
"AZURE_DEVOPS_IS_ON_PREMISES": "false",
"AZURE_DEVOPS_AUTH_TYPE": "entra"
},
"defer_loading": true
}
}
}
Notes:
AZURE_DEVOPS_REPOSITORY from the git remote URL. If detection fails, ask the user for the repository name rather than leaving it empty.../../scripts/launch-ado-mcp.sh so the config works regardless of where the plugin is installed.npx via cmd /c because Claude Code's bash environment cannot reliably spawn npx directly as an MCP server process.Target file: .claude/settings.local.json
enableAllProjectMcpServers is trueenabledMcpjsonServers exists and includes "azure-devops" exactly onceDo not remove unrelated permissions or settings.
Target file: ~/.copilot/mcp-config.json
~/.copilot directory exists.mcpServers object.mcpServers.azure-devops entry and preserve all other servers.azure-devops server entry with this shape:{
"mcpServers": {
"azure-devops": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@achieveai/azuredevops-mcp"
],
"env": {
"AZURE_DEVOPS_ORG_URL": "resolved-org-url",
"AZURE_DEVOPS_PROJECT": "resolved-project",
"AZURE_DEVOPS_REPOSITORY": "resolved-repository",
"AZURE_DEVOPS_IS_ON_PREMISES": "false",
"AZURE_DEVOPS_AUTH_TYPE": "entra"
},
"tools": [
"*"
]
}
}
}
Guidelines:
AZURE_DEVOPS_REPOSITORY — it should have been resolved in step 1.tools as ["*"] unless the user explicitly asked to narrow the tool list.Validate all JSON files you touched:
.mcp.json.claude/settings.local.json~/.copilot/mcp-config.jsonUse the available shell to parse the JSON rather than assuming it is valid.
Examples:
Get-Content '<path>' -Raw | ConvertFrom-Json | Out-Nullpython -c "import json; json.load(open('<path>'))"node -e "JSON.parse(require('fs').readFileSync('<path>', 'utf8'))"If parsing fails, fix the file before reporting success.
At the end, summarize:
.claude/settings.local.json/mcp or claude mcp list/mcp show azure-devopsThis skill should be used when the user asks to "babysit a PR", "babysit my pull request", "monitor my PR", "watch my pull request", "keep my PR green", "fix PR build failures automatically", "handle PR review comments", or wants autonomous Azure DevOps PR monitoring that fixes build breaks, test failures, code coverage gaps, and review comments on a polling loop.
Internal helper. Load only when explicitly named by another skill or agent.
Internal helper. Load only when explicitly named by another skill or agent.
Publish local changes as an Azure DevOps pull request — analyzes commits, creates or links a work item (bug, task, or user story), pushes the branch, composes a PR description, and optionally tends to reviewer feedback and build failures until the PR is merged.
Internal helper. Load only when explicitly named by another skill or agent.
Internal helper. Load only when explicitly named by another skill or agent.