Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure DevOps Serviços
O servidor remoto Azure DevOps MCP é uma versão alojada do Azure DevOps MCP Server que não requer instalação local. Em vez de correr o servidor na sua máquina, liga o seu assistente de IA diretamente ao endpoint hospedado no Azure DevOps, usando transporte HTTP streamable.
Escolha primeiro o remoto.
Usa o servidor MCP remoto quando o teu ambiente o permite. O servidor remoto é a opção recomendada porque Azure DevOps aloja e atualiza, e não precisas de instalar Node.js nem gerir um processo de servidor local.
Usa o servidor MCP local quando o teu cliente não conseguir autenticar-se ao servidor remoto com o Microsoft Entra ID. Esta limitação aplica-se atualmente a clientes como Claude Desktop e Codex. O Cursor e o Claude Code requerem um registo personalizado na aplicação Microsoft Entra para autenticação. Para instruções de configuração local, consulte Habilitar assistência de IA com o Azure DevOps MCP Server.
| Feature | Servidor MCP Remoto | Servidor MCP Local |
|---|---|---|
| Installation | Não é necessária instalação | Requer Node.js 20.0+ e npx |
| Transportes | HTTP para Transmissão Contínua | stdio |
| Authentication | Microsoft Entra ID (sistema de autenticação OAuth) | Azure DevOps PAT ou Microsoft Entra ID |
| Hospedagem | Serviço hospedado pelo Azure DevOps | Corre localmente na sua máquina |
| Configuração | Mínimo mcp.json |
Configuração específica do ambiente |
Pré-requisitos
| Categoria | Requisitos |
|---|---|
| Azure DevOps | Uma organização Azure DevOps ativa apoiada por um inquilino Microsoft Entra. As organizações autónomas de conta Microsoft (MSA) não são suportadas para a utilização remota do Servidor MCP. |
| Permissões | Adesão ao projeto e acesso aos recursos que pretende consultar |
| Ambiente | Um ambiente de assistente de IA suportado (ver Ambientes suportados) |
configuração mcp.json
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http"
}
},
"inputs": []
}
Também pode omitir o nome da organização na URL. No entanto, se omitir o nome da organização, deve fornecê-lo como contexto em cada chamada de ferramenta.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/",
"type": "http"
}
},
"inputs": []
}
Conjuntos de ferramentas
Especifique conjuntos de ferramentas para restringir as ferramentas disponíveis para o servidor MCP. Não deve ser combinado com X-MCP-Tools.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "repos,wiki,wit"
}
}
},
"inputs": []
}
| Valor do conjunto de ferramentas | Ferramentas incluídas |
|---|---|
all
(padrão) |
Todas as ferramentas |
repos |
Ferramentas para repositórios e pedidos de pull |
advsec |
Ferramentas avançadas de alerta de segurança |
wit |
Ferramentas de trabalho e search_workitem |
pipelines |
Ferramentas de pipeline e construção |
wiki |
Ferramentas wiki e search_wiki |
work |
Ferramentas de iteração e de capacidade |
testplan |
Ferramentas do plano de tests |
elm |
Ferramentas empresariais de migração em tempo real (versão prévia; ativadas por predefinição) |
Ferramentas de apenas leitura
Use o X-MCP-Readonly cabeçalho para restringir o servidor a operações apenas de leitura. Esta restrição é útil quando se quer evitar modificações nos recursos do Azure DevOps.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Readonly": "true"
}
}
},
"inputs": []
}
Combinar conjuntos de ferramentas e filtragem de somente leitura
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "repos,wiki,wit",
"X-MCP-Readonly": "true"
}
}
},
"inputs": []
}
Ferramentas individuais
Use o X-MCP-Tools cabeçalho para ativar apenas ferramentas específicas. Não deve ser combinado com X-MCP-Toolsets.
Especifique os nomes das ferramentas que apareçam na lista de ferramentas disponíveis . Para ferramentas consolidadas, como wit_work_item, escolha a operação utilizando o parâmetro action da ferramenta quando a chamar.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Tools": "core_list_projects, wit_work_item"
}
}
},
"inputs": []
}
Insiders
À medida que experimentamos e introduzimos novas ferramentas e atualizações para as já existentes, pode obter acesso antecipado a estas alterações usando o X-MCP-Insiders cabeçalho.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Insiders": "true"
}
}
},
"inputs": []
}
Ferramentas disponíveis
Observação
Esta lista pode nem sempre refletir as atualizações mais recentes da ferramenta.
Ferramentas principais
As ferramentas essenciais estão sempre disponíveis, salvo indicação em contrário.
| Tool | Descrição |
|---|---|
core_list_orgs |
Listar as organizações Azure DevOps às quais o utilizador autenticado tem acesso |
core_list_projects |
Listar projetos numa organização |
core_list_project_teams |
Listar equipas num projeto |
core_list_group_members |
Listar membros diretos e grupos filhos de um grupo Azure DevOps |
Observação
Só os MCP Insiders podem usar core_list_group_members usando o X-MCP-Insiders cabeçalho.
Trabalho
As ferramentas de trabalho são consolidadas em distribuidores agrupados, utilizando o parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
work |
list_iterations |
Liste todas as iterações num projeto | ✅ |
work |
list_team_iterations |
Lista iterações atribuídas a uma equipa | ✅ |
work |
get_team_settings |
Obtenha as definições da equipa, incluindo iteração padrão, iteração de backlog e caminho de área predefinido | ✅ |
work |
get_team_capacity |
Obtenha capacidade da equipa para uma iteração | ✅ |
work |
get_iteration_capacities |
Obtenha a capacidade de uma iteração para todas as equipas da iteração e do projeto | ✅ |
work_iteration_write |
create |
Criar iterações | ❌ |
work_iteration_write |
assign |
Atribuir iterações a uma equipa | ❌ |
work_capacity_write |
update |
Atualizar a capacidade de equipa de um membro da equipa para uma iteração específica | ❌ |
Repos
As ferramentas do repositório são consolidadas em encaminhadores agrupados através de um parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
repo_pull_request |
get |
Obtenha um pull request por ID | ✅ |
repo_pull_request |
list |
Listar pull requests num repositório ou projeto | ✅ |
repo_pull_request |
list_by_commits |
Encontre pull requests que contenham IDs de commit específicos | ✅ |
repo_pull_request |
get_changes |
Obtenha alterações de ficheiros e diferenciais opcionais linha a linha para uma iteração de pull request | ✅ |
repo_pull_request_thread |
list |
Listar tópicos de comentários num pull request | ✅ |
repo_pull_request_thread |
list_comments |
Liste comentários num tópico específico | ✅ |
repo_repository |
get |
Obtenha um repositório por nome ou ID | ✅ |
repo_repository |
list |
Listar repositórios num projeto | ✅ |
repo_branch |
get |
Arranja uma filial pelo nome | ✅ |
repo_branch |
list |
Listar ramos num repositório | ✅ |
repo_branch |
list_mine |
Lista de ramos para os quais o utilizador atual fez o push | ✅ |
repo_file |
get_content |
Obtenha o conteúdo de texto de um ficheiro numa branch, tag ou commit específico | ✅ |
repo_file |
list_directory |
Lista de ficheiros e pastas num diretório, com listagem recursiva opcional | ✅ |
repo_search_commits |
Pesquisar commits com filtragem por texto, autor, intervalo de datas e muito mais | ✅ | |
search_code |
Pesquisa de código em texto completo | ✅ | |
repo_pull_request_write |
create |
Criar uma solicitação de pull | ❌ |
repo_pull_request_write |
update |
Atualizar um pull request, incluindo configurar o preenchimento automático | ❌ |
repo_pull_request_write |
update_reviewers |
Adicionar ou remover revisores de pull requests | ❌ |
repo_pull_request_write |
vote |
Votar em um pull request | ❌ |
repo_pull_request_thread_write |
create |
Crie um novo tópico de comentários num pull request | ❌ |
repo_pull_request_thread_write |
reply |
Responder a um comentário num tópico | ❌ |
repo_pull_request_thread_write |
update_status |
Atualize o estado de um tópico de comentários | ❌ |
repo_create_branch |
Criar uma ramificação | ❌ |
Humor
As ferramentas de item de trabalho são consolidadas em despachadores agrupados utilizando um parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
wit_work_item |
get |
Obtenha um item de trabalho por ID | ✅ |
wit_work_item |
get_batch |
Obtenha vários itens de trabalho usando IDs | ✅ |
wit_work_item |
list_comments |
Lista comentários sobre um item de trabalho | ✅ |
wit_work_item |
my |
Obtenha itens de trabalho relevantes para o utilizador autenticado | ✅ |
wit_work_item |
list_revisions |
Lista de revisões de um item de trabalho | ✅ |
wit_work_item |
list_for_iteration |
Liste itens de trabalho para uma iteração de equipa | ✅ |
wit_work_item |
get_type |
Obter metadados para um tipo de item de trabalho | ✅ |
wit_query |
get |
Obtenha uma consulta por ID ou caminho | ✅ |
wit_query |
get_results |
Executar uma consulta guardada | ✅ |
wit_query |
search |
Consultas de pesquisa por nome | ✅ |
wit_query |
list |
Listar pastas de consulta de raiz e as respetivas subpastas | ✅ |
wit_query_by_wiql |
Execute uma consulta WIQL e devolve itens de trabalho correspondentes | ✅ | |
wit_backlog |
list |
Lista dos níveis de backlog da equipa | ✅ |
wit_backlog |
list_work_items |
Liste itens de trabalho num nível específico de backlog | ✅ |
search_workitem |
Pesquisa de itens de trabalho no texto completo | ✅ | |
wit_work_item_write |
create |
Criar um novo item de trabalho | ❌ |
wit_work_item_write |
update |
Atualizar campos num item de trabalho | ❌ |
wit_work_item_write |
update_batch |
Atualize vários itens de trabalho numa só chamada | ❌ |
wit_work_item_write |
add_child |
Criar itens de trabalho para crianças sob um dos pais | ❌ |
wit_work_item_comment_write |
add |
Adicionar um comentário a um item de trabalho | ❌ |
wit_work_item_comment_write |
update |
Atualize um comentário existente sobre um item de trabalho | ❌ |
wit_work_item_link_write |
link |
Ligar dois itens de trabalho | ❌ |
wit_work_item_link_write |
unlink |
Remover links de um item de trabalho | ❌ |
wit_work_item_link_write |
link_to_pull_request |
Liga um item de trabalho a um pull request | ❌ |
wit_work_item_link_write |
add_artifact_link |
Adicionar um repositório, ramo, commit, build ou ligação para um artefacto do wiki a um item de trabalho | ❌ |
wit_work_item_attachment |
Descarregar um anexo de um item de trabalho pelo ID; devolve conteúdo codificado em base64 com nome de ficheiro e tipo MIME | ✅ | |
wit_work_item_attachment_upload |
Carregar o conteúdo dos ficheiros (até 20 MB, codificado em Base64) para a loja de anexos sem o anexar a um item de trabalho | ❌ | |
wit_work_item_attachment_link |
Liga um anexo previamente carregado a um item de trabalho | ❌ |
Observação
wit_query_by_wiql está atualmente disponível apenas para os MCP Insiders através do X-MCP-Insiders cabeçalho.
Tubulações
As ferramentas do pipeline são consolidadas em encaminhadores agrupados, utilizando o parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
pipelines_build |
list |
Listar builds com filtros opcionais | ✅ |
pipelines_build |
get_status |
Obtenha os metadados de estado, problemas e relatórios para uma build | ✅ |
pipelines_build |
get_changes |
Obtém commits e itens de trabalho associados a uma compilação | ✅ |
pipelines_build_log |
list |
Liste os registos disponíveis para uma compilação | ✅ |
pipelines_build_log |
get_content |
Obtenha o conteúdo de texto de um registo específico por ID | ✅ |
pipelines_definition |
list |
Listar definições de pipeline com filtros opcionais | ✅ |
pipelines_definition |
list_revisions |
Lista o histórico das revisões de uma definição de pipeline | ✅ |
pipelines_run |
get |
Faça uma única execução de pipeline | ✅ |
pipelines_run |
list |
Execuções de lista para um pipeline | ✅ |
pipelines_artifact |
list |
Listar artefactos para um build | ✅ |
pipelines_artifact |
download |
Descarregue um artefacto de build nomeado | ✅ |
pipelines_write |
run_pipeline |
Enfileirar uma nova execução de pipeline | ❌ |
pipelines_write |
create_pipeline |
Criar uma nova definição de pipeline YAML | ❌ |
pipelines_write |
update_build_stage |
Cancelar, tentar novamente ou executar uma fase numa build em voo | ❌ |
Wiki
As operações de leitura da wiki são consolidadas numa única wiki ferramenta. Use o action parâmetro para selecionar a operação.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
wiki |
list_wikis |
Lista wikis num projeto ou organização | ✅ |
wiki |
get_wiki |
Obtenha uma wiki por identificador | ✅ |
wiki |
list_pages |
Listar páginas numa wiki | ✅ |
wiki |
get_page |
Obtenha conteúdo e metadados da página | ✅ |
search_wiki |
Pesquisa wiki em texto completo | ✅ | |
wiki_upsert_page |
Crie ou atualize uma página wiki | ❌ |
Planos de teste
As ferramentas de plano de teste são consolidadas em processadores agrupados, utilizando um parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
testplan |
list_plans |
Listar planos de teste num projeto | ✅ |
testplan |
list_suites |
Liste conjuntos de testes sob um plano de testes | ✅ |
testplan |
list_cases |
Liste casos de teste numa suite de testes | ✅ |
testplan_show_test_results_from_build_id |
Obtenha resultados de testes a partir de uma compilação | ✅ | |
testplan_test_run |
get_results |
Obtenha os resultados de um teste com filtros de detalhe e resultados opcionais | ✅ |
testplan_test_plan_write |
create |
Criar um plano de teste | ❌ |
testplan_test_suite_write |
create |
Criar um conjunto de testes | ❌ |
testplan_test_suite_write |
add_test_cases |
Adicionar casos de teste a um conjunto | ❌ |
testplan_test_case_write |
create |
Criar um caso de teste | ❌ |
testplan_test_case_write |
update_steps |
Atualizar os passos do caso de teste | ❌ |
testplan_test_run_write |
create_run |
Crie um teste para execução manual | ❌ |
testplan_test_run_write |
update_results |
Atualização de resultados e detalhes de resultados de teste numa execução | ❌ |
testplan_test_run_write |
complete_run |
Completar ou abortar um teste com base nos seus resultados | ❌ |
testplan_test_run_write |
update_test_point_outcome |
Atualizar ou redefinir os resultados dos pontos de teste | ❌ |
Segurança Avançada
As ferramentas de Segurança Avançada estão consolidadas num dispatcher de grupo que utiliza um parâmetro action.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
advsec_alerts |
list |
Liste alertas avançados de segurança para um repositório com filtros opcionais | ✅ |
advsec_alerts |
get |
Receba um alerta de Segurança Avançada por ID | ✅ |
Migração em Direto Empresarial (pré-visualização)
As ferramentas de Migração ao Vivo Empresarial usam um action parâmetro para agrupar e despachar tarefas.
Saiba mais sobre a pré-visualização da Enterprise Live Migration.
Importante
O suporte ELM no servidor remoto Azure DevOps MCP está atualmente em pré-visualização. As ferramentas estão ativadas por defeito.
| Tool | Action | Descrição | somente leitura |
|---|---|---|---|
enterprise_live_migration |
list |
Listar migrações para a organização; filtro de projeto opcional e sinalizador includeAllMigrations | ✅ |
enterprise_live_migration |
get |
Obtenha o estado de migração de um repositório | ✅ |
enterprise_live_migration |
get_cutover_review |
Obter itens com falha ou bloqueados antes da transição | ✅ |
enterprise_live_migration |
get_device_flow_config |
Obter a configuração do fluxo de dispositivos do GitHub App | ✅ |
enterprise_live_migration |
list_pipelines |
Listar pipelines e estado da reinstalação | ✅ |
enterprise_live_migration_write |
create |
Criar uma nova migração | ❌ |
enterprise_live_migration_write |
pause |
Pausar uma migração ativa | ❌ |
enterprise_live_migration_write |
resume |
Retomar uma migração pausada | ❌ |
enterprise_live_migration_write |
cutover_set |
Agende uma data de transição | ❌ |
enterprise_live_migration_write |
cutover_cancel |
Cancelar um corte agendado | ❌ |
enterprise_live_migration_write |
approve_cutover |
Aceitar falhas e prosseguir com a transição | ❌ |
enterprise_live_migration_write |
abandon |
Eliminar permanentemente uma migração | ❌ |
enterprise_live_migration_pipelines_write |
submit |
Submeter tubagens para recablagem | ❌ |
enterprise_live_migration_pipelines_write |
update |
Atualizar configuração de religação do pipeline | ❌ |
enterprise_live_migration_pipelines_write |
delete |
Eliminar todos os clones da pipeline associados a uma migração de terminal | ❌ |
Para disponibilizar apenas as ferramentas de Enterprise Live Migration, utilize o cabeçalho X-MCP-Toolsets com o valor elm:
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "elm"
}
}
},
"inputs": []
}
Ambientes suportados
O servidor remoto Azure DevOps MCP requer que a sua conta de utilizador e a organização Azure DevOps se liguem ao Microsoft Entra ID.
Nem todos os clientes MCP suportam autenticação Microsoft Entra por defeito. Alguns ambientes exigem passos extra para registar a aplicação cliente.
Ambientes suportados para o endpoint remoto, quando a autenticação Microsoft Entra está disponível, incluem:
- Visual Studio com GitHub Copilot
- Visual Studio
- Microsoft Foundry
- Microsoft Copilot Studio
- GitHub Copilot CLI
- GitHub aplicação Copilot
- Cursor desktop, Cursor Cloud Agents, ou Claude Code com um registo personalizado da aplicação Microsoft Entra
Importante
Claude Desktop e Codex atualmente não suportam o fluxo de autenticação Microsoft Entra exigido pelo servidor remoto Azure DevOps MCP. Use o servidor MCP local com estes clientes.
Visual Studio Code
Para configurar o servidor MCP remoto no Visual Studio Code:
- Adicione um
.vscode/mcp.jsonficheiro ao seu repositório com a configuraçãomcp.json mostrada anteriormente. - Salve o arquivo.
- Abre o GitHub Copilot no VS Code.
- Quando solicitado, autentique usando a sua conta Microsoft Entra e selecione a sua conta.
Após a autenticação concluída, aparece uma lista das ferramentas disponíveis.
Visual Studio (2022 e posteriores)
Configure o servidor MCP remoto no Visual Studio adicionando a URL do servidor às definições do seu MCP. Para mais informações, consulte Use servidores MCP em Visual Studio.
Escolha âmbitos do OAuth para clientes personalizados
Quando regista um cliente MCP personalizado, conceda apenas as permissões delegadas necessárias para as operações Azure DevOps que o cliente realiza. Os escopos OAuth determinam quais os recursos e operações do Azure DevOps a que o cliente pode acedecer. Ativar uma ferramenta ou conjunto de ferramentas MCP não concede permissões adicionais.
Siga o princípio do privilégio mínimo:
- Grant lê os escopos quando o cliente utiliza apenas ferramentas MCP de leitura.
- Conceda permissões de escrita ou de gestão apenas quando o cliente precisar das respetivas operações de escrita.
- Revise os escopos herdados para evitar conceder permissões redundantes.
Para os âmbitos disponíveis e as suas relações, consulte âmbitos do OAuth.
Os âmbitos do OAuth não substituem as permissões do utilizador com sessão iniciada. Uma operação MCP só tem sucesso quando tanto o âmbito da aplicação como as permissões Azure DevOps do utilizador o permitem.
Cursor
O Cursor requer um registo personalizado da aplicação Microsoft Entra para aceder ao servidor remoto Azure DevOps MCP.
Registe a aplicação para o ambiente de trabalho Cursor
- Confirme que a aplicação empresarial Azure DevOps MCP está provisionada no seu tenant. Se não conseguir encontrar, veja Não é possível encontrar a aplicação empresarial Azure DevOps MCP no tenant.
- No centro de administração Microsoft Entra, vá a Registos de aplicações e depois crie um registo de app.
- No registo da aplicação, selecione Autenticação (Pré-visualização)>Adicionar redirecionamento URI>Aplicações móveis e desktop.
- Introduza
http://localhost:8787/callbackcomo URI de redirecionamento e depois guarde as suas alterações. - Na página de Autenticação (Pré-visualização ), selecione o separador Definições e depois ative Permitir fluxos públicos do cliente.
- Na página de permissões da API , selecione Adicionar uma permissão>APIs que a minha organização utiliza.
- Procure por Azure DevOps MCP ou o ID
2a72489c-aab2-4b65-b93a-a91edccf33b8da aplicação, e depois selecione a aplicação. - Selecione as permissões delegadas que o seu cliente necessita, seguindo as orientações do âmbito OAuth, e depois selecione Adicionar permissões.
- Selecione Conceder consentimento de administrador. Dependendo do seu papel, um administrador de inquilinos pode ter de completar este passo.
Copie o ID da Aplicação (cliente) do registo da aplicação. Precisas deste valor para configurar o Cursor.
Configurar a aplicação Cursor para computador
No Cursor, abre as Ferramentas de Definições>e o MCP.
Selecione o Novo Servidor MCP.
Adicione a seguinte configuração, substituindo
{client-id}pelo ID da aplicação (cliente) que copiou:{ "mcpServers": { "ado": { "url": "https://mcp.dev.azure.com", "type": "http", "auth": { "CLIENT_ID": "{client-id}" } } } }Guarda a configuração e, em seguida, regressa a Definições>Ferramentas e MCP.
Localiza o servidor ado e depois seleciona Autenticar.
Configurar Agentes da Nuvem de Cursor
Os Agentes Cloud Cursor requerem um URI de redirecionamento web e um segredo do cliente, além do registo personalizado da aplicação Microsoft Entra.
No centro de administração do centro de administração Microsoft Entra, abra o registo da aplicação que criou para o Cursor.
Selecione Autenticação (Pré-visualização)>Adicionar redirecionamento URI>Web.
Introduza
https://www.cursor.com/agents/mcp/oauth/callbackcomo URI de redirecionamento e depois guarde as suas alterações.Selecione
Certificados & Segredos Segredos do cliente Novo segredo do cliente .Introduza uma descrição, selecione um período de validade e depois selecione Adicionar.
Copie o valor secreto do cliente. O valor aparece apenas uma vez.
No Cursor, abre a configuração do servidor MCP dos Cloud Agents e depois adiciona ou edita o servidor MCP personalizado.
Defina a URL do servidor para
https://mcp.dev.azure.com.Introduza o ID da aplicação (cliente) a partir do registo da sua aplicação no ID do Cliente e o valor do cliente secreto no Cliente Secreto.
Alternativamente, edite a configuração JSON e substitua os marcadores de posição pelos valores de registo da sua aplicação:
{ "mcpServers": { "ado": { "url": "https://mcp.dev.azure.com", "type": "http", "auth": { "CLIENT_ID": "{client-id}", "CLIENT_SECRET": "{client-secret}" } } } }Guarde a configuração e depois selecione Iniciar sessão a partir dos Agentes da Nuvem Cursor para completar a autenticação Microsoft Entra.
Importante
Trate o segredo do cliente como uma palavra-passe. Não o comprometas com controlo de versão. Antes de expirar, crie um segredo de substituição e atualize a configuração do Cursor Cloud Agents.
Se o Microsoft Entra devolver o erro AADSTS50011, verifique se o URI de redirecionamento Web corresponde exatamente a https://www.cursor.com/agents/mcp/oauth/callback. Se a troca de token falhar com o erro AADSTS7000218, verifique se o valor atual do segredo do cliente está configurado nos agentes do Cursor Cloud.
Código Claude
O Claude Code requer um registo personalizado da aplicação Microsoft Entra para aceder ao servidor remoto Azure DevOps MCP.
Registar a candidatura
- Confirme que a aplicação empresarial Azure DevOps MCP está provisionada no seu tenant. Se não conseguir encontrar, veja Não é possível encontrar a aplicação empresarial Azure DevOps MCP no tenant.
- No centro de administração Microsoft Entra, vá a Registos de aplicações e depois crie um registo de app.
- No registo da aplicação, selecione Autenticação (Pré-visualização)>Adicionar redirecionamento URI>Aplicações móveis e desktop.
- Introduza
http://localhost:3118/callbackcomo URI de redirecionamento e depois guarde as suas alterações. - Na página de Autenticação (Pré-visualização ), selecione o separador Definições e depois ative Permitir fluxos públicos do cliente.
- Na página de permissões da API , selecione Adicionar uma permissão>APIs que a minha organização utiliza.
- Procure por Azure DevOps MCP ou o ID
2a72489c-aab2-4b65-b93a-a91edccf33b8da aplicação, e depois selecione a aplicação. - Selecione as permissões delegadas que o seu cliente necessita, seguindo as orientações do âmbito OAuth, e depois selecione Adicionar permissões.
- Selecione Conceder consentimento de administrador. Dependendo do seu papel, um administrador de inquilinos pode ter de completar este passo.
Copie o ID da Aplicação (cliente) do registo da aplicação. Precisas deste valor para configurar o Claude Code.
Configurar o Código Claude
Execute o seguinte comando, substituindo
{client-id}pelo ID da aplicação (cliente) que copiou e{organization}pelo nome da sua organização Azure DevOps:claude mcp add --transport http ado https://mcp.dev.azure.com/{organization} \ --client-id {client-id} --callback-port 3118Alternativamente, crie um
.mcp.jsonficheiro na raiz do seu repositório com a seguinte configuração:{ "mcpServers": { "ado": { "type": "http", "url": "https://mcp.dev.azure.com/{organization}", "oauth": { "clientId": "{client-id}", "callbackPort": 3118 } } } }Inicie o Claude Code executando
claude.Execute
/mcp, e depois siga o fluxo de login do navegador para autenticar com a sua conta Microsoft Entra.
Para mais informações sobre estas opções, consulte Ligar Código Claude a ferramentas via MCP.
Verificar a ligação
Após a configuração, verifique se o servidor MCP remoto está a funcionar perguntando ao seu assistente de IA sobre os seus dados do Azure DevOps.
Exemplos:
- "Lista os projetos na minha organização Azure DevOps."
- Mostra os meus itens de trabalho atribuídos.
- "Que pull requests exigem a minha revisão?"
Se o assistente de IA devolver resultados da sua organização Azure DevOps, o servidor MCP remoto está configurado corretamente.
Use IA para validar e resolver problemas na configuração remota do MCP
Os seguintes exemplos de prompts para o Copilot Chat ajudam-no a escolher a abordagem MCP certa, configurar e validar a configuração remota, melhorar os comandos de uso diário e resolver falhas quando necessário. Copie e cole estes pedidos no Copilot Chat, e substitua os marcadores de posição pelos detalhes reais da sua organização, do cliente e dos erros.
| Tarefa | Exemplo de prompt |
|---|---|
| Escolha entre remotos e locais | For my environment and client tools, help me decide whether to use the remote Azure DevOps MCP Server or the local server, and explain the tradeoffs. |
| Construir uma configuração de privilégio mínimo | Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode. |
Validar a configuração mcp.json |
Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code. |
| Verificar as suposições de autenticação | Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>. |
| Melhorar os prompts de consulta para o trabalho diário | Give me better prompt wording to reliably fetch fresh Azure DevOps data from remote MCP for project <project-name>, including how to avoid stale results. |
| Ligação ao diagnóstico recusada | I'm getting Connection Refused when connecting to https://mcp.dev.azure.com/<organization>. Give me step-by-step network, proxy, and firewall checks to fix it. |
| Diagnosticar dados em falta | The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context. |
| Filtragem de cabeçalhos na ferramenta de depuração | Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing. |
O Copilot é alimentado por IA, por isso surpresas e erros são possíveis. Para mais informações, consulte Perguntas frequentes sobre o uso geral do Copilot.
Troubleshooting
| Issue | Resolução |
|---|---|
| Falha na autenticação | Verifique as suas credenciais Microsoft Entra e confirme que tem acesso à organização Azure DevOps. |
| Servidor não encontrado | Verifique o formato da URL do servidor: https://mcp.dev.azure.com/{organization}. |
| Ligação recusada | Confirme que a sua rede permite o HTTPS de saída para mcp.dev.azure.com. Se estiver a utilizar um proxy corporativo ou uma firewall, peça ao seu administrador para adicionar o endpoint à lista de permissões e tente novamente sem a VPN, para isolar problemas no percurso de rede. |
| Nenhum dado devolvido | Confirme que tem as permissões adequadas para o projeto ou recursos que estão a ser consultados. |
| As ferramentas ELM não estão disponíveis | As ferramentas ELM estão ativadas por defeito. Se limitar os conjuntos de ferramentas disponíveis, confirme que o cabeçalho X-MCP-Toolsets inclui elm. Depois religa o MCP Server e verifica se a tua identidade tem as permissões necessárias do Azure DevOps. Para pré-requisitos, consulte a visão geral das Migrações em Vivo da Empresa. |
Para suporte, pode reportar um problema no repositório local do MCP Server. Certifique-se de usar o modelo de problema Remote.
FAQ
E quanto a outros clientes como o Claude Desktop ou o Codex?
Claude Desktop e Codex exigem o registo dinâmico de um ID de cliente OAuth no Microsoft Entra ID antes de poderem usar o servidor MCP remoto. O Microsoft Entra ID atualmente não suporta o fluxo dinâmico de registo de clientes que estes clientes exigem. Use o servidor MCP local com estes clientes.