Einrichten des Remote-Azure DevOps MCP-Servers

Azure DevOps Services

Der Remote-Azure DevOps MCP-Server ist eine gehostete Version des Azure DevOps MCP-Servers für die keine lokale Installation erforderlich ist. Anstatt den Server auf Ihrem Computer auszuführen, verbinden Sie Ihren KI-Assistenten direkt mit dem vom Azure DevOps gehosteten Endpunkt mithilfe des streambaren HTTP-Transports.

Wählen Sie zuerst „Remote“ aus

Verwenden Sie den MCP-Remoteserver , wenn Ihre Umgebung ihn unterstützt. Der Remote-Server ist die empfohlene Option, da er von Azure DevOps gehostet und aktualisiert wird und Sie Node.js nicht installieren oder einen lokalen Serverprozess verwalten müssen.

Verwenden Sie den lokalen MCP-Server, wenn ihr Client sich nicht mit Microsoft Entra ID beim Remoteserver authentifizieren kann. Diese Einschränkung gilt derzeit für Clients wie Claude Desktop und Codex. Cursor und Claude Code erfordern eine benutzerdefinierte Microsoft Entra App-Registrierung zur Authentifizierung. Anweisungen zum lokalen Setup finden Sie unter Aktivieren der KI-Unterstützung für den Azure DevOps MCP-Server.

Funktion Remote-MCP-Server Lokaler MCP-Server
Installation Keine Installation erforderlich Erfordert Node.js 20,0+ und npx
Transport Streambares HTTP stdio
Authentifizierung Microsoft Entra ID (OAuth) Azure DevOps PAT oder Microsoft Entra ID
Hosting Azure DevOps gehosteter Dienst Wird lokal auf Ihrem Computer ausgeführt
Konfiguration Minimal mcp.json Umgebungsspezifische Einrichtung

Voraussetzungen

Kategorie Anforderungen
Azure DevOps Eine aktive Azure DevOps Organisation, die von einem Microsoft Entra Mandanten unterstützt wird. Eigenständige Microsoft-Konto (MSA)-Organisationen werden für die Remote-MCP-Serververwendung nicht unterstützt.
Erlaubnisse Mitgliedschaft im Projekt und Zugriff auf die Ressourcen, die Sie abfragen möchten
Umgebung Eine unterstützte KI-Assistent-Umgebung (siehe unterstützte Umgebungen)

mcp.json Konfiguration

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http"
    }
  },
  "inputs": []
}

Sie können den Organisationsnamen auch aus der URL weglassen. Wenn Sie den Organisationsnamen jedoch weglassen, müssen Sie ihn in jedem Toolaufruf als Kontext angeben.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/",
      "type": "http"
    }
  },
  "inputs": []
}

Toolsets

Geben Sie Toolsets an, um die für den MCP-Server verfügbaren Tools einzuschränken. Sollte nicht mit X-MCP-Tools kombiniert werden.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "repos,wiki,wit"
      }
    }
  },
  "inputs": []
}
Wert des Toolsets Enthaltene Tools
all (Standard) Alle Tools
repos Repository- und Pull-Request-Tools
advsec Erweiterte Sicherheitswarnungstools
wit Tools für Arbeitsaufgaben und search_workitem
pipelines Pipeline- und Build-Tools
wiki Wiki-Tools und search_wiki
work Iterations- und Kapazitätstools
testplan Testplan-Tools
elm Enterprise Live Migration Tools (Vorschau; standardmäßig aktiviert)

Schreibgeschützte Tools

Verwenden Sie den X-MCP-Readonly Header, um den Server auf schreibgeschützte Vorgänge zu beschränken. Diese Einschränkung ist nützlich, wenn Sie Änderungen an Azure DevOps Ressourcen verhindern möchten.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Readonly": "true"
      }
    }
  },
  "inputs": []
}

Kombinieren von Toolsets und schreibgeschützter Filterung

{
  "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": []
}

Einzelne Werkzeuge

Verwenden Sie die X-MCP-Tools Kopfzeile, um nur bestimmte Tools zu aktivieren. Sollte nicht mit X-MCP-Toolsets kombiniert werden.

Geben Sie Die Toolnamen an, die in der Liste der verfügbaren Tools angezeigt werden. Wählen Sie bei konsolidierten Tools wie wit_work_item den Vorgang über den action-Parameter des Tools aus, wenn Sie es aufrufen.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Tools": "core_list_projects, wit_work_item"
      }
    }
  },
  "inputs": []
}

Insider

Wenn wir neue Tools testen und Aktualisierungen zu bestehenden hinzufügen, können Sie mithilfe des X-MCP-Insiders Headers frühzeitig auf diese Änderungen zugreifen.

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  },
  "inputs": []
}

Verfügbare Tools

Hinweis

Diese Liste spiegelt möglicherweise nicht immer die neuesten Toolupdates wider.

Kerntools

Kerntools sind immer verfügbar, sofern nicht anders angegeben.

Werkzeug Beschreibung
core_list_orgs Auflisten Azure DevOps Organisationen, auf die der authentifizierte Benutzer Zugriff hat
core_list_projects Auflisten von Projekten in einer Organisation
core_list_project_teams Teams in einem Projekt anzeigen
core_list_group_members Auflisten direkter Mitglieder und untergeordneter Gruppen einer Azure DevOps Gruppe

Hinweis

Nur MCP-Insider können core_list_group_members mithilfe des Headers X-MCP-Insiders verwenden.

Arbeit

Die Arbeitstools werden mithilfe eines action-Parameters in gruppierte Verteiler konsolidiert.

Werkzeug Action Beschreibung Schreibgeschützt
work list_iterations Auflisten aller Iterationen in einem Projekt ✅
work list_team_iterations Einem Team zugewiesene Iterationen auflisten ✅
work get_team_settings Teameinstellungen abrufen, einschließlich der Standarditeration, der Backlogiteration und des Standardbereichspfads ✅
work get_team_capacity Abrufen der Teamkapazität für eine Iteration ✅
work get_iteration_capacities Die Kapazität einer Iteration für alle Teams in der Iteration und im Projekt abrufen ✅
work_iteration_write create Erstellen von Iterationen ❌
work_iteration_write assign Iterationen einem Team zuweisen ❌
work_capacity_write update Aktualisieren der Teamkapazität eines Teammitglieds für eine bestimmte Iteration ❌

Repos

Die Repository-Tools werden mithilfe des Parameters action zu gruppierten Dispatchern zusammengefasst.

Werkzeug Action Beschreibung Schreibgeschützt
repo_pull_request get Abrufen einer Pull-Anfrage anhand der ID ✅
repo_pull_request list Auflisten von Pullanforderungen in einem Repository oder Projekt ✅
repo_pull_request list_by_commits Suchen nach Pullanforderungen, die bestimmte Commit-IDs enthalten ✅
repo_pull_request get_changes Abrufen von Dateiänderungen und optionaler zeilenweiser Unterschiede für eine Pull-Request-Iteration ✅
repo_pull_request_thread list Liste der Kommentarthreads bei einer Pull-Request ✅
repo_pull_request_thread list_comments Auflisten von Kommentaren in einem bestimmten Thread ✅
repo_repository get Abrufen eines Repositorys anhand des Namens oder der ID ✅
repo_repository list Repositorys in einem Projekt auflisten ✅
repo_branch get Abrufen einer Verzweigung nach dem Namen ✅
repo_branch list Verzweigungen in einem Repository auflisten ✅
repo_branch list_mine Verzweigungen auflisten, an die der aktuelle Benutzer pusht ✅
repo_file get_content Abrufen des Textinhalts einer Datei in einer bestimmten Verzweigung, einem Tag oder commit ✅
repo_file list_directory Auflisten von Dateien und Ordnern in einem Verzeichnis mit optionaler rekursiver Auflistung ✅
repo_search_commits Such-Commits mit Filtern nach Text, Autor, Datumsbereich und mehr ✅
search_code Volltextcodesuche ✅
repo_pull_request_write create Pull-Request erstellen ❌
repo_pull_request_write update Aktualisieren einer Pullanforderung, einschließlich Festlegen von Autovervollständigung ❌
repo_pull_request_write update_reviewers Hinzufügen oder Entfernen von Pull Request-Reviewern ❌
repo_pull_request_write vote Abstimmung über einen Pull-Antrag abgeben ❌
repo_pull_request_thread_write create Erstellen eines neuen Kommentarthreads für eine Pullanforderung ❌
repo_pull_request_thread_write reply Antworten auf einen Kommentar in einem Thread ❌
repo_pull_request_thread_write update_status Aktualisieren des Status eines Kommentarthreads ❌
repo_create_branch Erstelle eine Verzweigung ❌

Wit

Die Arbeitsaufgabentools werden mithilfe eines action-Parameters in gruppierte Verteiler konsolidiert.

Werkzeug Action Beschreibung Schreibgeschützt
wit_work_item get Abrufen eines Arbeitselements anhand der ID ✅
wit_work_item get_batch Mehrere Arbeitsaufgaben anhand von IDs abrufen ✅
wit_work_item list_comments Kommentare zu einem Arbeitselement auflisten ✅
wit_work_item my Abrufen von Arbeitsaufgaben, die für den authentifizierten Benutzer relevant sind ✅
wit_work_item list_revisions Auflisten von Überarbeitungen einer Arbeitsaufgabe ✅
wit_work_item list_for_iteration Arbeitsaufgaben für eine Team-Iteration auflisten ✅
wit_work_item get_type Abrufen von Metadaten für einen Arbeitsaufgabentyp ✅
wit_query get Abruf einer Abfrage nach ID oder Pfad ✅
wit_query get_results Ausführen einer gespeicherten Abfrage ✅
wit_query search Suchabfragen nach Name ✅
wit_query list Stammabfrageordner und ihre untergeordneten Elemente auflisten ✅
wit_query_by_wiql Ausführen einer WIQL-Abfrage und Zurückgeben übereinstimmener Arbeitsaufgaben ✅
wit_backlog list Listen Sie die Backlog-Stufen für ein Team auf ✅
wit_backlog list_work_items Auflisten von Arbeitsaufgaben in einer bestimmten Backlog-Ebene ✅
search_workitem Volltextsuche für Arbeitsaufgaben ✅
wit_work_item_write create Erstellen einer neuen Arbeitsaufgabe ❌
wit_work_item_write update Aktualisieren von Feldern für eine Arbeitsaufgabe ❌
wit_work_item_write update_batch Aktualisieren mehrerer Arbeitsaufgaben in einem Anruf ❌
wit_work_item_write add_child Erstellen untergeordneter Arbeitselemente unter einem übergeordneten Element ❌
wit_work_item_comment_write add Hinzufügen eines Kommentars zu einer Arbeitsaufgabe ❌
wit_work_item_comment_write update Aktualisieren eines vorhandenen Kommentars zu einer Arbeitsaufgabe ❌
wit_work_item_link_write link Verknüpfen von zwei Arbeitsaufgaben ❌
wit_work_item_link_write unlink Entfernen von Links aus einer Arbeitsaufgabe ❌
wit_work_item_link_write link_to_pull_request Verknüpfen einer Arbeitsaufgabe mit einer Pullanforderung ❌
wit_work_item_link_write add_artifact_link Hinzufügen eines Repository-, Branch-, Commit- oder Wiki-Artefaktlinks zu einem Arbeitselement ❌
wit_work_item_attachment Laden Sie einen Anhang eines Arbeitselements anhand der ID herunter; zurückgegeben werden base64-kodierter Inhalt, der Dateiname und der MIME-Typ. ✅
wit_work_item_attachment_upload Hochladen von Dateiinhalten (bis zu 20 MB, Base64-codiert) in den Anlagenspeicher, ohne ihn an eine Arbeitsaufgabe anzufügen ❌
wit_work_item_attachment_link Verknüpfen Sie einen zuvor hochgeladenen Anhang mit einem Arbeitselement ❌

Hinweis

wit_query_by_wiql ist derzeit nur für MCP-Insider verfügbar, indem sie den X-MCP-Insiders Header verwenden.

Pipelines

Die Pipeline-Tools werden mithilfe des Parameters action zu gruppierten Dispatchern zusammengefasst.

Werkzeug Action Beschreibung Schreibgeschützt
pipelines_build list Builds mit optionalen Filtern auflisten ✅
pipelines_build get_status Abrufen von Status, Problemen und Metadatenberichten für einen Build ✅
pipelines_build get_changes Commits und Arbeitselemente abrufen, die mit einem Build verbunden sind ✅
pipelines_build_log list Auflisten der verfügbaren Protokolle für einen Build ✅
pipelines_build_log get_content Abrufen des Textinhalts eines bestimmten Protokolls nach ID ✅
pipelines_definition list Listenpipelinedefinitionen mit optionalen Filtern ✅
pipelines_definition list_revisions Überarbeitungsverlauf für eine Pipelinedefinition auflisten ✅
pipelines_run get Abrufen einer einzelnen Pipelineausführung ✅
pipelines_run list Auflisten von Ausführungen für eine Pipeline ✅
pipelines_artifact list Auflisten von Artefakten für einen Build ✅
pipelines_artifact download Herunterladen eines benannten Build-Artefakts ✅
pipelines_write run_pipeline Warteschlange für eine neue Ausführung der Pipeline ❌
pipelines_write create_pipeline Erstellen einer neuen YAML-Pipelinedefinition ❌
pipelines_write update_build_stage Abbrechen, Wiederholen oder Ausführen einer Stage in einem laufenden Build ❌

Wiki

Die Wiki-Lesevorgänge werden in einem einzigen wiki Tool konsolidiert. Verwenden Sie den action Parameter, um den Vorgang auszuwählen.

Werkzeug Action Beschreibung Schreibgeschützt
wiki list_wikis Wikis in einem Projekt oder einer Organisation auflisten ✅
wiki get_wiki Abrufen eines Wikis nach Bezeichner ✅
wiki list_pages Seiten in einem Wiki auflisten ✅
wiki get_page Abrufen von Seiteninhalten und Metadaten ✅
search_wiki Volltext-Wiki-Suche ✅
wiki_upsert_page Erstellen oder Aktualisieren einer Wiki-Seite ❌

Pläne testen

Die Testplantools werden mithilfe eines action-Parameters in gruppierte Verteiler konsolidiert.

Werkzeug Action Beschreibung Schreibgeschützt
testplan list_plans Auflisten von Testplänen in einem Projekt ✅
testplan list_suites Testsuiten unter einem Testplan auflisten ✅
testplan list_cases Testfälle in einer Testsuite auflisten ✅
testplan_show_test_results_from_build_id Testergebnisse aus einem Build abrufen ✅
testplan_test_run get_results Abrufen von Ergebnissen für eine Testausführung mit optionalen Detail- und Ergebnisfiltern ✅
testplan_test_plan_write create Erstellen Sie einen Testplan ❌
testplan_test_suite_write create Erstellen einer Testsuite ❌
testplan_test_suite_write add_test_cases Fügen Sie Testfälle zu einer Suite hinzu ❌
testplan_test_case_write create Erstellen eines Testfalls ❌
testplan_test_case_write update_steps Aktualisieren von Testfallschritten ❌
testplan_test_run_write create_run Testlauf für die manuelle Testausführung erstellen ❌
testplan_test_run_write update_results Aktualisieren von Ergebnissen und Details für Testergebnisse in einem Durchlauf ❌
testplan_test_run_write complete_run Abschließen oder Abbrechen einer Testausführung basierend auf ihren Ergebnissen ❌
testplan_test_run_write update_test_point_outcome Aktualisieren oder Zurücksetzen von Ergebnissen für Testpunkte ❌

Erweiterte Sicherheit

Die Advanced Security-Tools werden in einem gruppierten Dispatcher konsolidiert, der einen action Parameter verwendet.

Werkzeug Action Beschreibung Schreibgeschützt
advsec_alerts list Erweiterte Sicherheitswarnungen für ein Repository mit optionalen Filtern auflisten ✅
advsec_alerts get Abrufen einer Advanced Security-Warnung anhand der ID ✅

Enterprise Live Migration (Vorschau)

Die Enterprise Live-Migrationstools verwenden einen action Parameter zum Gruppieren und Verteilen von Aufgaben. Erfahren Sie mehr über die Enterprise Live Migration Preview.

Von Bedeutung

DIE ELM-Unterstützung im Remote-Azure DevOps MCP-Server befindet sich derzeit in der Vorschau. Die Tools sind standardmäßig aktiviert.

Werkzeug Action Beschreibung Schreibgeschützt
enterprise_live_migration list Migrationen für eine Organisation auflisten; optionaler Projektfilter und includeAllMigrations-Kennzeichen ✅
enterprise_live_migration get Abrufen des Migrationsstatus für ein Repository ✅
enterprise_live_migration get_cutover_review Fehlgeschlagene oder blockierte Elemente vor dem Cutover abrufen ✅
enterprise_live_migration get_device_flow_config Konfiguration des Geräteflusses der GitHub-App abrufen ✅
enterprise_live_migration list_pipelines Pipelines und Status der Neuverdrahtung auflisten ✅
enterprise_live_migration_write create Erstellen Sie eine neue Migration ❌
enterprise_live_migration_write pause Anhalten einer aktiven Migration ❌
enterprise_live_migration_write resume Fortsetzen einer angehaltenen Migration ❌
enterprise_live_migration_write cutover_set Ein Umstellungsdatum planen ❌
enterprise_live_migration_write cutover_cancel Geplante Umschaltung abbrechen ❌
enterprise_live_migration_write approve_cutover Fehler akzeptieren und mit der Umschaltung fortfahren ❌
enterprise_live_migration_write abandon Dauerhaftes Löschen einer Migration ❌
enterprise_live_migration_pipelines_write submit Pipelines zur Neuverdrahtung einreichen ❌
enterprise_live_migration_pipelines_write update Konfiguration für die Neuverkabelung der Pipeline aktualisieren ❌
enterprise_live_migration_pipelines_write delete Alle Pipeline-Klone für eine Terminalmigration löschen ❌

Um nur die Enterprise-Live-Migrationstools bereitzustellen, verwenden Sie den Header X-MCP-Toolsets mit dem Wert elm:

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "elm"
      }
    }
  },
  "inputs": []
}

Unterstützte Umgebungen

Der Remote-Azure DevOps MCP-Server erfordert Ihr Benutzerkonto und die Azure DevOps Organisation, um die Verbindung mit Microsoft Entra ID herzustellen.

Nicht alle MCP-Clients unterstützen standardmäßig Microsoft Entra Authentifizierung. Einige Umgebungen erfordern zusätzliche Schritte zum Registrieren der Clientanwendung.

Unterstützte Umgebungen für den Remoteendpunkt, wenn Microsoft Entra Authentifizierung verfügbar ist, umfassen:

  • Visual Studio mit GitHub Copilot
  • Visual Studio
  • Microsoft Foundry
  • Microsoft Copilot Studio
  • GitHub Copilot-CLI
  • GitHub Copilot App
  • Cursor Desktop, Cursor Cloud Agents oder Claude Code mit einer benutzerdefinierten Microsoft Entra App-Registrierung

Von Bedeutung

Claude Desktop und Codex unterstützen derzeit nicht den Microsoft Entra Authentifizierungsfluss, der vom Remote-Azure DevOps MCP-Server benötigt wird. Verwenden Sie den lokalen MCP-Server mit diesen Clients.

Visual Studio Code

So konfigurieren Sie den McP-Remoteserver in Visual Studio Code:

  1. Fügen Sie Ihrem Repository eine .vscode/mcp.json Datei mit der zuvor gezeigten mcp.json Konfiguration hinzu.
  2. Speichern Sie die Datei.
  3. Öffnen Sie GitHub Copilot in VS Code.
  4. Wenn Sie dazu aufgefordert werden, authentifizieren Sie sich mit Ihrem Microsoft Entra Konto, und wählen Sie Ihr Konto aus.

Nach Abschluss der Authentifizierung wird eine Liste der verfügbaren Tools angezeigt.

Visual Studio (2022 und höher)

Konfigurieren Sie den MCP-Remoteserver in Visual Studio, indem Sie die Server-URL zu Ihren MCP-Einstellungen hinzufügen. Weitere Informationen finden Sie unter Use MCP servers in Visual Studio.

Auswählen von OAuth-Bereichen für benutzerdefinierte Clients

Wenn Sie einen benutzerdefinierten MCP-Client registrieren, erteilen Sie nur die delegierten Berechtigungen, die für die vom Client ausgeführten Azure DevOps Vorgänge erforderlich sind. OAuth-Bereiche bestimmen, auf welche Azure DevOps Ressourcen und Vorgänge der Client zugreifen kann. Das Aktivieren eines MCP-Tools oder eines Toolsets verleiht keine zusätzlichen Berechtigungen.

Folgen Sie dem Prinzip der geringsten Rechte:

  • Gewähren Sie Leseberechtigungen, wenn der Client nur MCP-Tools mit Lesezugriff verwendet.
  • Erteilen Sie Schreib- oder Verwaltungsberechtigungen nur, wenn der Client die entsprechenden Schreibvorgänge benötigt.
  • Überprüfen Sie geerbte Bereiche, um redundante Berechtigungen zu vermeiden.

Die verfügbaren Bereiche und ihre Beziehungen finden Sie unter OAuth-Bereiche.

OAuth-Bereiche überschreiben nicht die Berechtigungen des angemeldeten Benutzers. Ein MCP-Vorgang ist nur erfolgreich, wenn sowohl der Anwendungsbereich als auch die Azure DevOps Berechtigungen des Benutzers dies zulassen.

Cursor

Cursor erfordert eine benutzerdefinierte Microsoft Entra App-Registrierung für den Zugriff auf den Remote-Azure DevOps MCP-Server.

Registrieren der Anwendung für Cursordesktop

  1. Vergewissern Sie sich, dass die Azure DevOps MCP-Unternehmensanwendung in Ihrem Mandanten bereitgestellt wird. Wenn Sie diese nicht finden können, lesen Sie Die Azure DevOps MCP-Unternehmensanwendung im Mandanten kann nicht gefunden werden.
  2. Wechseln Sie im Microsoft Entra Admin Center zu App-Registrierungen, und erstellen Sie dann eine App-Registrierung.
  3. Wählen Sie in der App-Registrierung die Option "Authentifizierung (Vorschau)>Umleitungs-URI>Mobile- und Desktopanwendungen hinzufügen" aus.
  4. Geben Sie http://localhost:8787/callback als Umleitungs-URI ein, und speichern Sie die Änderungen.
  5. Wählen Sie auf der Seite "Authentifizierung (Vorschau) " die Registerkarte "Einstellungen " aus, und aktivieren Sie dann " Öffentliche Clientflüsse zulassen".
  6. Wählen Sie auf der Seite "API-Berechtigungen" die Option "Berechtigungs-APIs >hinzufügen" aus, die meine Organisation verwendet.
  7. Suchen Sie nach Azure DevOps MCP oder der Anwendungs-ID2a72489c-aab2-4b65-b93a-a91edccf33b8, und wählen Sie dann die Anwendung aus.
  8. Wählen Sie die delegierten Berechtigungen aus, die Ihr Client benötigt, und wählen Sie dann den OAuth-Bereichsleitfaden aus, und wählen Sie dann "Berechtigungen hinzufügen" aus.
  9. Wählen Sie Administratoreinwilligung erteilen aus. Je nach Ihrer Rolle muss ein Mandantenadministrator diesen Schritt möglicherweise ausführen.

Kopieren Sie die Anwendungs-ID (Client-ID) aus der App-Registrierung. Sie benötigen diesen Wert, um den Cursor zu konfigurieren.

Konfigurieren des Cursordesktops

  1. Öffnen Sie in Cursor Einstellungen>Tools & MCP.

  2. Wählen Sie "Neuer MCP-Server" aus.

  3. Fügen Sie die folgende Konfiguration hinzu, und ersetzen Sie dabei {client-id} durch die Anwendungs-ID (Client-ID), die Sie kopiert haben:

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}"
          }
        }
      }
    }
    
  4. Speichern Sie die Konfiguration, und kehren Sie dann zu "Einstellungentools>" und "MCP" zurück.

  5. Suchen Sie den ado-Server , und wählen Sie dann "Authentifizieren" aus.

Konfigurieren von Cursor-Cloud-Agents

Cursor Cloud Agents erfordern zusätzlich zur benutzerdefinierten Microsoft Entra App-Registrierung einen Webumleitungs-URI und einen geheimen Clientschlüssel.

  1. Öffnen Sie im Microsoft Entra Admin Center die App-Registrierung, die Sie für Cursor erstellt haben.

  2. Wählen Sie Authentifizierung (Vorschau)>Umleitungs-URI hinzufügen>Web aus.

  3. Geben Sie https://www.cursor.com/agents/mcp/oauth/callback als Umleitungs-URI ein, und speichern Sie die Änderungen.

  4. Wählen Sie Zertifikate und Geheimnisse>Clientgeheimnisse>Neues Clientgeheimnis aus.

  5. Geben Sie eine Beschreibung ein, wählen Sie einen Ablaufzeitraum aus, und wählen Sie dann "Hinzufügen" aus.

  6. Kopieren Sie den Wert des Clientgeheimnisses. Der Wert wird nur einmal angezeigt.

  7. Öffnen Sie im Cursor die McP-Serverkonfiguration für Cloud-Agents, und fügen Sie den benutzerdefinierten MCP-Server hinzu oder bearbeiten Sie sie.

  8. Legen Sie die Server-URL auf https://mcp.dev.azure.com.

  9. Geben Sie die Anwendungs-ID (Client-ID) aus Ihrer App-Registrierung in client-ID und den Wert des geheimen Clientschlüssels in den geheimen Clientschlüssel ein.

    Alternativ können Sie die JSON-Konfiguration bearbeiten und die Platzhalter durch Ihre App-Registrierungswerte ersetzen:

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}",
            "CLIENT_SECRET": "{client-secret}"
          }
        }
      }
    }
    
  10. Speichern Sie die Konfiguration, und wählen Sie dann "BeiCursor Cloud Agents anmelden" aus, um Microsoft Entra Authentifizierung abzuschließen.

Von Bedeutung

Behandeln Sie den geheimen Clientschlüssel wie ein Kennwort. Committen Sie dies nicht in die Quellcodeverwaltung. Erstellen Sie vor Ablauf einen Ersatzschlüssel, und aktualisieren Sie die Cursor Cloud Agents-Konfiguration.

Wenn Microsoft Entra Fehler AADSTS50011 zurückgibt, vergewissern Sie sich, dass die Webumleitungs-URI exakt mit https://www.cursor.com/agents/mcp/oauth/callback übereinstimmt. Wenn der Tokenaustausch mit einem Fehler AADSTS7000218fehlschlägt, stellen Sie sicher, dass der aktuelle geheime Clientschlüsselwert in Cursor Cloud Agents konfiguriert ist.

Claude Code

Claude Code erfordert eine benutzerdefinierte Microsoft Entra App-Registrierung, um auf den Remote-Azure DevOps MCP-Server zuzugreifen.

Registrieren der Anwendung

  1. Vergewissern Sie sich, dass die Azure DevOps MCP-Unternehmensanwendung in Ihrem Mandanten bereitgestellt wird. Wenn Sie diese nicht finden können, lesen Sie Die Azure DevOps MCP-Unternehmensanwendung im Mandanten kann nicht gefunden werden.
  2. Wechseln Sie im Microsoft Entra Admin Center zu App-Registrierungen, und erstellen Sie dann eine App-Registrierung.
  3. Wählen Sie in der App-Registrierung die Option "Authentifizierung (Vorschau)>Umleitungs-URI>Mobile- und Desktopanwendungen hinzufügen" aus.
  4. Geben Sie http://localhost:3118/callback als Umleitungs-URI ein, und speichern Sie die Änderungen.
  5. Wählen Sie auf der Seite "Authentifizierung (Vorschau) " die Registerkarte "Einstellungen " aus, und aktivieren Sie dann " Öffentliche Clientflüsse zulassen".
  6. Wählen Sie auf der Seite "API-Berechtigungen" die Option "Berechtigungs-APIs >hinzufügen" aus, die meine Organisation verwendet.
  7. Suchen Sie nach Azure DevOps MCP oder der Anwendungs-ID2a72489c-aab2-4b65-b93a-a91edccf33b8, und wählen Sie dann die Anwendung aus.
  8. Wählen Sie die delegierten Berechtigungen aus, die Ihr Client benötigt, und wählen Sie dann den OAuth-Bereichsleitfaden aus, und wählen Sie dann "Berechtigungen hinzufügen" aus.
  9. Wählen Sie Administratoreinwilligung erteilen aus. Je nach Ihrer Rolle muss ein Mandantenadministrator diesen Schritt möglicherweise ausführen.

Kopieren Sie die Anwendungs-ID (Client-ID) aus der App-Registrierung. Sie benötigen diesen Wert, um Claude Code zu konfigurieren.

Konfigurieren von Claude Code

  1. Führen Sie den folgenden Befehl aus, und ersetzen {client-id} Sie dabei durch die Anwendungs-ID (Client-ID), die Sie kopiert haben, und {organization} durch den Namen Ihrer Azure DevOps Organisation:

    claude mcp add --transport http ado https://mcp.dev.azure.com/{organization} \
      --client-id {client-id} --callback-port 3118
    

    Alternativ können Sie eine .mcp.json Datei im Stammverzeichnis Ihres Repositorys mit der folgenden Konfiguration erstellen:

    {
      "mcpServers": {
        "ado": {
          "type": "http",
          "url": "https://mcp.dev.azure.com/{organization}",
          "oauth": {
            "clientId": "{client-id}",
            "callbackPort": 3118
          }
        }
      }
    }
    
  2. Starten Sie Claude Code, indem Sie ausführen claude.

  3. Führen Sie /mcp aus, und folgen Sie anschließend dem Anmeldeablauf im Browser, um sich mit Ihrem Microsoft Entra-Konto anzumelden.

Weitere Informationen zu diesen Optionen finden Sie unter Verbinden von Claude Code mit Tools über MCP.

Überprüfen der Verbindung

Überprüfen Sie nach dem Setup, ob der MCP-Remoteserver funktioniert, indem Sie Ihrem KI-Assistenten eine Frage zu Ihren Azure DevOps Daten stellen.

Beispiele:

  • "Listen Sie die Projekte in meiner Azure DevOps Organisation auf."
  • "Meine zugewiesenen Arbeitsaufgaben anzeigen."
  • "Welche Pull-Anforderungen erfordern meine Überprüfung?"

Wenn der KI-Assistent Ergebnisse aus Ihrer Azure DevOps Organisation zurückgibt, ist der MCP-Remoteserver ordnungsgemäß konfiguriert.

Verwenden von KI zum Überprüfen und Beheben von Remote-MCP-Setups

Die folgenden Beispiel-Prompts für Copilot Chat helfen Ihnen dabei, den richtigen MCP-Ansatz auszuwählen, die Remotekonfiguration einzurichten und zu validieren, Prompts für die tägliche Nutzung zu verbessern und bei Bedarf Fehler zu beheben. Kopieren Und einfügen Sie diese Eingabeaufforderungen in Copilot Chat, und ersetzen Sie Platzhalter durch Ihre tatsächliche Organisation, Ihren Client und Fehlerdetails.

Aufgabe Beispielaufforderung
Remote oder lokal auswählen 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.
Erstellen einer Konfiguration mit geringsten Rechten Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode.
Überprüfen des mcp.json Setups Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code.
Überprüfen von Authentifizierungsannahmen Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>.
Abfrageprompts für die tägliche Arbeit verbessern 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.
Diagnose von verweigerter Verbindung 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.
Diagnostizieren fehlender Daten The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context.
Filterkopfzeilen des Debug-Tools Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing.

Copilot wird von KI unterstützt. Daher sind Überraschungen und Fehler möglich. Weitere Informationen finden Sie in den häufig gestellten Fragen zur allgemeinen Verwendung von Copilot.

Problembehandlung

Issue Resolution
Authentifizierung schlägt fehl Überprüfen Sie Ihre Microsoft Entra-Anmeldeinformationen, und bestätigen Sie, dass Sie Zugriff auf die Azure DevOps-Organisation haben.
Server nicht gefunden Überprüfen Sie das Server-URL-Format: https://mcp.dev.azure.com/{organization}.
Verbindung verweigert Bestätigen Sie, dass Ihr Netzwerk ausgehende HTTPS-Verbindungen zu mcp.dev.azure.com zulässt. Wenn Sie einen Unternehmensproxy oder eine Firewall verwenden, bitten Sie Ihren Administrator, den Endpunkt auf die Zulassungsliste zu setzen, und versuchen Sie es erneut ohne VPN, um Probleme mit dem Netzwerkpfad einzugrenzen.
Es wurden keine Daten zurückgegeben. Vergewissern Sie sich, dass Sie über entsprechende Berechtigungen für das Projekt oder die ressourcen verfügen, die abgefragt werden.
ELM-Tools sind nicht verfügbar ELM-Tools sind standardmäßig aktiviert. Wenn Sie die verfügbaren Toolsets einschränken, vergewissern Sie sich, dass die Kopfzeile X-MCP-Toolsetselm enthält. Stellen Sie dann erneut eine Verbindung mit dem MCP-Server her, und stellen Sie sicher, dass Ihre Identität über die erforderlichen Azure DevOps Berechtigungen verfügt. Voraussetzungen finden Sie in der Übersicht über Enterprise Live-Migrationen.

Zur Unterstützung können Sie ein Problem im lokalen MCP Server-Repository erstellen. Achten Sie darauf, die Remote-Problemvorlage zu verwenden.

Häufig gestellte Fragen

Was ist mit anderen Clients wie Claude Desktop oder Codex?

Claude Desktop und Codex erfordern eine dynamische Registrierung einer OAuth-Client-ID in Microsoft Entra ID, bevor sie den Remote-MCP-Server verwenden können. Microsoft Entra ID unterstützt derzeit nicht den dynamischen Clientregistrierungsfluss, den diese Clients benötigen. Verwenden Sie den lokalen MCP-Server mit diesen Clients.