Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services
Important
Le serveur MCP distant Azure DevOps est actuellement en préversion publique. Les fonctionnalités en préversion peuvent avoir des fonctionnalités limitées et peuvent changer avant la disponibilité générale.
Le serveur MCP distant Azure DevOps est une version hébergée du serveur MCP Azure DevOps MCP qui ne nécessite pas d'installation locale. Au lieu d’exécuter le serveur sur votre ordinateur, vous connectez directement votre assistant IA au point de terminaison hébergé par Azure DevOps à l’aide du transport HTTP streamable.
Le serveur distant offre les mêmes fonctionnalités que le serveur local, notamment l’accès aux éléments de travail, aux demandes de tirage, aux pipelines et bien plus encore, tout en éliminant la complexité de la configuration locale.
Serveur MCP local et distant
| Fonctionnalité | Serveur MCP distant (préversion) | Serveur MCP local |
|---|---|---|
| Installation | Aucune installation obligatoire | Nécessite Node.js 20.0+ et npx |
| Transport | HTTP diffusable en continu | stdio |
| Authentification | Microsoft Entra ID (OAuth) | Azure DevOps PAT ou Microsoft Entra ID |
| Hébergement | service hébergé Azure DevOps | S’exécute localement sur votre ordinateur |
| Configuration |
mcp.json minimal |
Configuration spécifique à l’environnement |
| État | Aperçu public | Généralement disponible |
Prerequisites
| Catégorie | Exigences |
|---|---|
| Azure DevOps | Une organisation active Azure DevOps connectée à Microsoft Entra ID |
| Permissions | Appartenance au projet et accès aux ressources que vous souhaitez interroger |
| Environnement | Un environnement assistant IA pris en charge (voir Environnements pris en charge) |
configuration de mcp.json
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http"
}
},
"inputs": []
}
Vous pouvez également omettre le nom de l’organisation à partir de l’URL. Toutefois, si vous omettez le nom de l’organisation, vous devez le fournir comme contexte dans chaque appel d’outil.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/",
"type": "http"
}
},
"inputs": []
}
Ensembles d’outils
Spécifiez des ensembles d’outils pour restreindre les outils disponibles pour le serveur MCP. Ne doit pas être combiné avec X-MCP-Tools.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "repos,wiki,wit"
}
}
},
"inputs": []
}
| Valeur de l’ensemble d’outils | Outils inclus |
|---|---|
all
(par défaut) |
Tous les outils de chaque ensemble d’outils |
repos |
Outils de dépôt et de pull request |
wit |
Outils des éléments de travail et search_workitem |
pipelines |
Outils de pipeline et de build |
wiki |
Outils wiki et search_wiki |
work |
Outils d’itération et de gestion de capacité |
testplan |
Outils de plan de test |
Outils en mode lecture seule
Utilisez l’en-tête X-MCP-Readonly pour restreindre le serveur aux opérations en lecture seule. Cette restriction est utile lorsque vous souhaitez empêcher les modifications apportées aux ressources Azure DevOps.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Readonly": "true"
}
}
},
"inputs": []
}
Combiner des ensembles d’outils et un filtrage en lecture seule
{
"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": []
}
Outils individuels
Utilisez l’en-tête X-MCP-Tools pour activer uniquement des outils spécifiques. Ne doit pas être combiné avec X-MCP-Toolsets.
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Tools": "core_list_projects, wit_my_work_items, wit_get_work_items_batch_by_ids"
}
}
},
"inputs": []
}
Membres du programme Insider
À mesure que nous expérimentons et introduisons de nouveaux outils et mises à jour pour les éléments existants, vous pouvez accéder rapidement à ces modifications à l’aide de l’en-tête X-MCP-Insiders .
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Insiders": "true"
}
}
},
"inputs": []
}
Outils disponibles
Note
Cette liste peut ne pas toujours refléter les mises à jour d’outils les plus récentes.
Outils de base
Les outils de base sont toujours disponibles.
| Outil | Description |
|---|---|
core_list_orgs |
Répertorier les organisations Azure DevOps auxquelles l’utilisateur authentifié a accès |
core_list_projects |
Répertorier les projets dans une organisation |
core_list_project_teams |
Répertorier les équipes dans un projet |
Travail
Les outils de travail sont consolidés dans des répartiteurs groupés à l’aide d’un action paramètre.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
work |
list_iterations |
Répertorier toutes les itérations dans un projet | ✅ |
work |
list_team_iterations |
Répertorier les itérations attribuées à une équipe | ✅ |
work |
get_team_settings |
Obtenir les paramètres d’équipe, notamment l’itération par défaut, l’itération du backlog et le chemin de zone par défaut | ✅ |
work |
get_team_capacity |
Obtenir la capacité d’équipe pour une itération | ✅ |
work |
get_iteration_capacities |
Récupérer la capacité d’une itération pour toutes les équipes de l’itération et du projet | ✅ |
work_iteration_write |
create |
Créer des itérations | ❌ |
work_iteration_write |
assign |
Affecter des itérations à une équipe | ❌ |
work_capacity_write |
update |
Mettre à jour la capacité d’équipe d’un membre de l’équipe pour une itération spécifique | ❌ |
Repos
Les outils de référentiel sont consolidés dans des répartiteurs groupés à l’aide d’un action paramètre.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
repo_pull_request |
get |
Obtenir un pull request par ID | ✅ |
repo_pull_request |
list |
Lister les pull requests dans un référentiel ou un projet | ✅ |
repo_pull_request |
list_by_commits |
Rechercher des pull requests contenant des ID de validation spécifiques | ✅ |
repo_pull_request_thread |
list |
Lister les threads de commentaires sur un pull request | ✅ |
repo_pull_request_thread |
list_comments |
Répertorier les commentaires dans un thread spécifique | ✅ |
repo_repository |
get |
Obtenir un référentiel par nom ou ID | ✅ |
repo_repository |
list |
Répertorier les référentiels dans un projet | ✅ |
repo_branch |
get |
Obtenir la branche par son nom | ✅ |
repo_branch |
list |
Répertorier les branches dans un référentiel | ✅ |
repo_branch |
list_mine |
Lister les branches que l'utilisateur actuel a poussées | ✅ |
repo_file |
get_content |
Obtenir le contenu texte d’un fichier à partir d'une branche, d'un tag ou d'une validation spécifique. | ✅ |
repo_file |
list_directory |
Répertorier les fichiers et dossiers d’un répertoire, avec une liste récursive facultative | ✅ |
repo_search_commits |
Rechercher des validations avec filtrage par texte, auteur, plage de dates, etc. | ✅ | |
search_code |
Recherche de code en texte intégral. | ✅ | |
repo_pull_request_write |
create |
Créer une pull request | ❌ |
repo_pull_request_write |
update |
Mettre à jour une pull request, y compris la définition de l'autocomplétion | ❌ |
repo_pull_request_write |
update_reviewers |
Ajouter ou retirer des réviseurs de pull request | ❌ |
repo_pull_request_write |
vote |
Voter sur un pull request | ❌ |
repo_pull_request_thread_write |
create |
Créer un nouveau fil de discussion sur une requête de tirage | ❌ |
repo_pull_request_thread_write |
reply |
Répondre à un commentaire dans un thread | ❌ |
repo_pull_request_thread_write |
update_status |
Mettre à jour l’état d’un thread de commentaire | ❌ |
repo_create_branch |
Créer une branche | ❌ |
Esprit
Les outils d’élément de travail sont consolidés dans des répartiteurs groupés à l’aide d’un action paramètre.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
wit_work_item |
get |
Récupérer un élément de travail par identifiant | ✅ |
wit_work_item |
get_batch |
Récupérer plusieurs éléments de travail par ID | ✅ |
wit_work_item |
list_comments |
Répertorier les commentaires sur un élément de travail | ✅ |
wit_work_item |
my |
Obtenir les éléments de travail pertinents pour l’utilisateur authentifié | ✅ |
wit_work_item |
list_revisions |
Répertorier les révisions d’un élément de travail | ✅ |
wit_work_item |
list_for_iteration |
Répertorier les éléments de travail pour une itération d’équipe | ✅ |
wit_work_item |
get_type |
Obtenir des métadonnées pour un type d’élément de travail | ✅ |
wit_query |
get |
Obtenir une requête par ID ou chemin d’accès | ✅ |
wit_query |
get_results |
Exécuter une requête enregistrée | ✅ |
wit_backlog |
list |
Répertorier les niveaux de backlog pour une équipe | ✅ |
wit_backlog |
list_work_items |
Répertorier les éléments de travail dans un niveau de backlog spécifique | ✅ |
search_workitem |
Recherche d’éléments de travail en texte intégral | ✅ | |
wit_work_item_write |
create |
Créer un élément de travail | ❌ |
wit_work_item_write |
update |
Mettre à jour des champs sur un élément de travail | ❌ |
wit_work_item_write |
update_batch |
Mettre à jour plusieurs éléments de travail dans un seul appel | ❌ |
wit_work_item_write |
add_child |
Créer des éléments de travail enfants sous un parent | ❌ |
wit_work_item_comment_write |
add |
Ajouter un commentaire à un élément de travail | ❌ |
wit_work_item_comment_write |
update |
Mettre à jour un commentaire existant sur un élément de travail | ❌ |
wit_work_item_link_write |
link |
Lier deux éléments de travail | ❌ |
wit_work_item_link_write |
unlink |
Supprimer des liens d’un élément de travail | ❌ |
wit_work_item_link_write |
link_to_pull_request |
Associer un élément de travail à une pull request | ❌ |
wit_work_item_link_write |
add_artifact_link |
Ajouter un lien vers un référentiel, une branche, une validation ou un artefact de build à un élément de travail | ❌ |
wit_work_item_attachment |
Télécharger une pièce jointe d’élément de travail par ID ; retourne le contenu encodé en base64 avec le nom de fichier et le type MIME | ✅ |
Note
wit_query_by_wiql est disponible uniquement pour les MCP Insiders actuellement, à l’aide de l’en-tête X-MCP-Insiders.
Pipelines
Les outils du pipeline sont regroupés dans des répartiteurs regroupés à l’aide du paramètre action.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
pipelines_build |
list |
Répertorier les builds avec des filtres facultatifs | ✅ |
pipelines_build |
get_status |
Obtenir l’état, les problèmes et les métadonnées de rapport pour une build | ✅ |
pipelines_build |
get_changes |
Obtenez des validations et des éléments de travail associés à une compilation | ✅ |
pipelines_build_log |
list |
Répertorier les journaux disponibles pour une build | ✅ |
pipelines_build_log |
get_content |
Obtenir le contenu texte d’un journal spécifique par ID | ✅ |
pipelines_definition |
list |
Répertorier les définitions de pipeline avec des filtres facultatifs | ✅ |
pipelines_definition |
list_revisions |
Répertorier l’historique des révisions pour une définition de pipeline | ✅ |
pipelines_run |
get |
Obtenir une seule exécution de pipeline | ✅ |
pipelines_run |
list |
Répertorier les exécutions d’un pipeline | ✅ |
pipelines_artifact |
list |
Répertorier les artefacts d’une build | ✅ |
pipelines_artifact |
download |
Télécharger un artefact de construction nommé | ✅ |
pipelines_write |
run_pipeline |
Mettre en file d’attente une nouvelle exécution de pipeline | ❌ |
pipelines_write |
create_pipeline |
Créer une définition de pipeline YAML | ❌ |
pipelines_write |
update_build_stage |
Annuler, réessayer ou exécuter une étape sur une build en cours | ❌ |
Wiki
Les opérations de lecture wiki sont consolidées dans un seul wiki outil. Utilisez le action paramètre pour sélectionner l’opération.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
wiki |
list_wikis |
Répertorier des wikis dans un projet ou une organisation | ✅ |
wiki |
get_wiki |
Obtenir un wiki par identificateur | ✅ |
wiki |
list_pages |
Répertorier les pages dans un wiki | ✅ |
wiki |
get_page |
Obtenir le contenu et les métadonnées de la page | ✅ |
search_wiki |
Recherche wiki en texte intégral | ✅ | |
wiki_upsert_page |
Créer ou mettre à jour une page wiki | ❌ |
Plans de test
Les outils du plan de test sont regroupés dans des répartiteurs regroupés à l’aide du paramètre action.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
testplan |
list_plans |
Répertorier les plans de test dans un projet | ✅ |
testplan |
list_suites |
Répertorier les suites de tests sous un plan de test | ✅ |
testplan |
list_cases |
Lister les cas de test dans une suite de tests | ✅ |
testplan_show_test_results_from_build_id |
Obtenir les résultats des tests à partir d’une build | ✅ | |
testplan_test_plan_write |
create |
Créer un plan de test | ❌ |
testplan_test_suite_write |
create |
Créer une suite de tests | ❌ |
testplan_test_suite_write |
add_test_cases |
Ajouter des cas de test à une suite | ❌ |
testplan_test_case_write |
create |
Créer un cas de test | ❌ |
testplan_test_case_write |
update_steps |
Mettre à jour les étapes de cas de test | ❌ |
Enterprise Live Migration (préversion)
Les outils Enterprise Live Migration utilisent un action paramètre pour regrouper et distribuer des tâches.
En savoir plus sur la préversion de Enterprise Live Migration.
| Outil | Action | Description | Lecture seule |
|---|---|---|---|
enterprise_live_migration |
list |
Lister les migrations pour l’organisation, avec filtre de projet facultatif et paramètre includeAllMigrations | ✅ |
enterprise_live_migration |
get |
Obtenir l’état de migration d’un référentiel | ✅ |
enterprise_live_migration |
get_cutover_review |
Récupérer les éléments en échec ou bloqués avant le basculement | ✅ |
enterprise_live_migration |
get_device_flow_config |
Récupérer la configuration du flux d’appareil de l’application GitHub | ✅ |
enterprise_live_migration |
list_pipelines |
Lister les pipelines et l’état du recâblage | ✅ |
enterprise_live_migration_write |
create |
Créer une nouvelle migration | ❌ |
enterprise_live_migration_write |
pause |
Suspendre une migration active | ❌ |
enterprise_live_migration_write |
resume |
Reprendre une migration suspendue | ❌ |
enterprise_live_migration_write |
cutover_set |
Planifier une date de basculement | ❌ |
enterprise_live_migration_write |
cutover_cancel |
Annuler un basculement planifié | ❌ |
enterprise_live_migration_write |
approve_cutover |
Accepter les échecs et procéder au basculement | ❌ |
enterprise_live_migration_write |
abandon |
Supprimer définitivement une migration | ❌ |
enterprise_live_migration_pipelines_write |
submit |
Soumettre des pipelines pour le recâblage | ❌ |
enterprise_live_migration_pipelines_write |
update |
Mettre à jour la configuration de rewiring du pipeline | ❌ |
enterprise_live_migration_pipelines_write |
delete |
Supprimer tous les clones de pipeline pour une migration de terminal | ❌ |
Les outils Enterprise Live Migration sont désactivés par défaut. Pour les activer, utilisez l’en-tête X-MCP-Toolsets avec la elm valeur :
{
"servers": {
"ado-remote-mcp": {
"url": "https://mcp.dev.azure.com/{organization}",
"type": "http",
"headers": {
"X-MCP-Toolsets": "elm"
}
}
},
"inputs": []
}
Environnements pris en charge
Le serveur MCP à distance Azure DevOps nécessite que votre compte d’utilisateur et votre organisation Azure DevOps se connectent à Microsoft Entra ID.
Tous les clients MCP ne prennent pas en charge l’authentification Microsoft Entra par défaut. Certains environnements nécessitent des étapes supplémentaires pour inscrire l’application cliente.
Les environnements actuellement pris en charge sont les suivants :
- Visual Studio Code
- Visual Studio
Visual Studio Code
Pour configurer le serveur MCP distant dans Visual Studio Code :
- Ajoutez un fichier
.vscode/mcp.jsonà votre référentiel avec la configuration mcp.json indiquée précédemment. - Enregistrez le fichier.
- Ouvrez GitHub Copilot dans VS Code.
- Lorsque vous y êtes invité, authentifiez-vous à l’aide de votre compte Microsoft Entra et sélectionnez votre compte.
Une fois l’authentification terminée, une liste d’outils disponibles s’affiche.
Visual Studio (2022 et versions ultérieures)
Configurez le serveur MCP distant dans Visual Studio en ajoutant l’URL du serveur à vos paramètres MCP. Pour plus d’informations, consultez Utiliser des serveurs MCP dans Visual Studio.
Vérifier la connexion
Après l’installation, vérifiez que le serveur MCP distant fonctionne en posant à votre assistant IA une question sur vos données Azure DevOps.
Exemples :
- « Répertorier les projets dans mon organisation Azure DevOps. »
- « Afficher mes tâches assignées. »
- « Quelles pull requests nécessitent ma révision ? »
Si l’Assistant IA retourne les résultats de votre organisation Azure DevOps, le serveur MCP distant est configuré correctement.
Utiliser l’IA pour valider et résoudre les problèmes d’installation de MCP à distance
Les exemples d’invites ci-dessous pour Copilot Chat vous aident à choisir la bonne approche MCP, à configurer et valider la configuration à distance, à améliorer vos invites pour l’usage quotidien et à résoudre les problèmes en cas de besoin. Copiez et collez ces prompts dans Copilot Chat, puis remplacez les espaces réservés par les informations réelles concernant votre organisation, votre client et l’erreur.
| Tâche | Exemple d’invite |
|---|---|
| Choisir entre distant et local | 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. |
| Créer une configuration avec privilèges minimum | Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode. |
Valider la configuration mcp.json |
Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code. |
| Vérifier les hypothèses d’authentification | Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>. |
| Améliorer les instructions de requête au quotidien | 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. |
| Diagnostiquer la connexion refusée | 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. |
| Diagnostiquer les données manquantes | The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context. |
| En-têtes de filtrage de l’outil de débogage | Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing. |
Copilot est alimenté par l’IA, donc les surprises et les erreurs sont possibles. Pour plus d’informations, consultez les FAQ sur l’utilisation générale de Copilot.
Résolution des problèmes
| Issue | Résolution |
|---|---|
| Échec de l’authentification | Vérifiez vos informations d’identification Microsoft Entra et vérifiez que vous avez accès à l’organisation Azure DevOps. |
| Serveur introuvable | Vérifiez le format d’URL du serveur : https://mcp.dev.azure.com/{organization}. |
| Connexion refusée | Vérifiez que votre réseau autorise le protocole HTTPS sortant vers mcp.dev.azure.com. Si vous êtes sur un proxy d’entreprise ou un pare-feu, demandez à votre administrateur d’autoriser le point de terminaison et réessayez sans VPN pour isoler les problèmes de chemin d’accès réseau. |
| Aucune donnée retournée | Vérifiez que vous disposez des autorisations appropriées pour le projet ou les ressources interrogées. |
| Préversion non disponible | La version d'évaluation est déployée progressivement. Vérifiez ultérieurement ou contactez l’administrateur de votre organisation. |
Pour la prise en charge, vous pouvez soumettre un problème dans le dépôt MCP du serveur local. Veillez à utiliser le modèle de problème distant .
Questions fréquentes (FAQ)
Qu’en est-il des autres clients tels que GitHub Copilot CLI, Claude Desktop, Claude Code, CodeX ou Cursor ?
D’autres outils clients tels que CodeX, Claude Desktop, Claude Code et ChatGPT nécessitent l’inscription dynamique d’un ID client OAuth dans Microsoft Entra avant de pouvoir être utilisés avec le serveur MCP. Nous travaillons en étroite collaboration avec l'équipe Microsoft Entra pour activer cette fonctionnalité. Pour l’instant, seules les Visual Studio et les Visual Studio Code sont prises en charge.
Quels services peuvent utiliser Azure DevOps serveur MCP ?
La prise en charge d'autres services, notamment Azure AI Foundry, Microsoft 365 Copilot et Copilot Studio, n'est pas encore disponible, mais sera bientôt ajoutée.
Le serveur MCP Azure DevOps prend-il en charge l’AgentId ?
AgentId sera bientôt pris en charge.