Model Context Protocol (MCP)-Server, Registrierungen und Zulassungslisten

Abgeschlossen

Agents werden nützlicher, wenn sie über das Repository hinausgehen und mit anderen Tools, Systemen und Diensten interagieren können. Das Modellkontextprotokoll oder MCP ermöglicht es Agenten, externe Funktionen zu ermitteln und zu verwenden.

In GitHub Umgebungen ist MCP nicht nur das Herstellen einer Verbindung mit Tools. Außerdem geht es darum, zu steuern, wie diese Tools eingeführt, konfiguriert und gesteuert werden. Dazu gehört das Konfigurieren von MCP-Servern, die Verwendung einer Registrierung zum Ermitteln verfügbarer Server und das Erzwingen von Zulassungslisten, sodass nur genehmigte Server verwendet werden können.

In dieser Lektion lernen Sie Folgendes:

  • Was MCP ist
  • Funktionsweise von MCP-Servern
  • Wie Register die Serversuche vereinfachen
  • Wie Positivlisten steuern, welche Server verwendet werden dürfen
  • Wie MCP in agentische Workflows und Agent-Tools auf GitHub passt

Was ist MCP?

Das Modellkontextprotokoll ist eine Standardmethode für KI-Clients zum Herstellen einer Verbindung mit Tools und Diensten über MCP-Server. Anstatt eine einmalige Integration für jedes Tool zu erstellen, kann ein MCP-kompatibler Client eine Verbindung mit einem Server herstellen, der Tools in einem strukturierten Format verfügbar macht.

Dadurch erhalten Agents ein einheitliches Modell für:

  • Ermitteln verfügbarer Tools
  • Senden strukturierter Anforderungen
  • Empfangen strukturierter Ergebnisse
  • Wiederverwendung des gleichen Interaktionsmusters über verschiedene Systeme hinweg

Was ist ein MCP-Server?

Ein MCP-Server ist die Komponente, die Tools für einen KI-Client verfügbar macht.

Der Server befindet sich zwischen dem Client und dem zugrunde liegenden System. Es stellt verfügbare Tools in einem Format dar, das der Client versteht, Akzeptiert Anforderungen und führt dann die eigentliche Aktion gegen den verbundenen Dienst aus.

Je nach Setup kann ein MCP-Server:

  • Lokal auf einem Entwicklercomputer ausführen
  • Remoteausführung als gehosteter Dienst
  • Herstellen einer Verbindung mit lokalen Ressourcen
  • Brücke zu Remote-APIs und -Plattformen

Der GitHub MCP-Server ist ein Beispiel. Sie verbindet KI-Clients mit GitHub Funktionen wie Repositorys, Problemen und Pullanforderungen.

Lokale und Remote-MCP-Server

MCP-Server können lokal oder remote konfiguriert werden.

Ein lokaler MCP-Server wird auf Ihrem Computer ausgeführt. Dies ist nützlich, wenn Sie eine engere Kontrolle über die Konfiguration, den Zugriff auf lokale Ressourcen oder ein benutzerdefiniertes Setup wünschen.

Ein externer MCP-Server wird an einem anderen Ort gehostet und über das Netzwerk genutzt. Dadurch wird die Einrichtungsarbeit reduziert und die Verwendung desselben Servers in allen Umgebungen erleichtert.

In unterstützten IDEs kann der GitHub MCP-Server remote oder lokal konfiguriert werden, wobei die Remoteoption als empfohlene Einrichtung für die meisten Benutzer positioniert ist. GitHub Enterprise Server unterstützt die lokale MCP-Serverkonfiguration, während GitHub Enterprise Cloud mit Data Residency sowohl lokale als auch Remoteoptionen unterstützt.

Hinzufügen eines MCP-Remoteservers als Tool zu einem Agenten (VS Code)

MCP-Server werden direkt über die Copilot Chat Schnittstelle hinzugefügt und werden zu Tools, die der Agent verwenden kann.

Schritte:

  1. Klicken Sie oben im Editor auf das Symbol GitHub Copilot
  2. Öffnen Copilot Chat und Wechseln zum Agentmodus
  3. Klicken Sie im Chat-Panel auf das Werkzeugsymbol
  4. Klicken Sie in der oberen rechten Ecke des Bereichs Copilot Chat auf "Tools konfigurieren".
  5. Klicken Sie auf "MCP-Server hinzufügen".
  6. Im Setupdialog:
    1. Http als Servertyp auswählen
    2. Geben Sie die Server-URL ein (z. B. für GitHub MCP-Server):
    3. https://api.githubcopilot.com/mcp/
    4. Drücken Sie die EINGABETASTE.
    5. Ein Servername wird automatisch generiert.
    6. Wählen Sie den Bereich aus; Aktueller Arbeitsbereich oder alle Arbeitsbereiche
    7. Klicken Sie auf "Authentifizieren", und melden Sie sich an GitHub
    8. Speichern der Konfiguration

Der MCP-Server ist jetzt als Tool innerhalb des Agents verfügbar, und der Agent kann seine Funktionen während der Aufgaben aufrufen.

Hinzufügen eines lokalen MCP-Servers als Tool zu einem Agent

Ein lokaler MCP-Server wird auf Ihrem Computer ausgeführt und ermöglicht es Ihrem Agent, mit lokalen Tools, Dateien oder benutzerdefinierten Diensten zu interagieren. Der Setupvorgang in VS Code ist identisch mit dem Hinzufügen eines MCP-Servers.

Der einzige Unterschied ist der Server, mit dem Sie eine Verbindung herstellen. Anstatt eine gehostete URL wie den GitHub MCP-Server zu verwenden, geben Sie beispielsweise einen lokalen Endpunkt an:

http://localhost:3000

Lokale MCP-Server:

  • Auf Ihrem Computer ausführen
  • Zugriff auf lokale Ressourcen und benutzerdefinierte Workflows
  • In der Regel ist keine externe Authentifizierung erforderlich.

Was ist eine MCP-Registrierung?

Eine MCP-Registrierung ist ein Katalog von MCP-Servern.

Anstatt jeden Entwickler aufzufordern, jeden Server manuell zu konfigurieren, bietet eine Registrierung einen zentralen Ort, an dem kompatible Clients ermitteln können, welche Server verfügbar sind und wie sie verwendet werden.

Dies vereinfacht die Einrichtung auf zwei Arten:

  • Dadurch wird die Serverermittlung vereinfacht.
  • Es standardisiert, wie Server beschrieben und verteilt werden

Standardmäßig können unterstützte IDE-Umgebungen die GitHub MCP-Registrierung verwenden, und Entwickler können bei Bedarf auch zu einer benutzerdefinierten Registrierung wechseln.

Wie Registrys bei der Konfiguration helfen

Registrierungen reduzieren die Reibung, da sie einen Großteil der manuellen Arbeit beim Hinzufügen von Servern entfernen.

Anstatt Konfigurationsdateien manuell für jeden Server zu bearbeiten, kann ein Entwickler eine Registrierung durchsuchen, einen Server auswählen, ihn installieren und ihn für die Verwendung in seiner Umgebung einsetzen.

Dies macht Registrierungen besonders nützlich, wenn:

  • Teams möchten eine einfachere Einrichtungserfahrung
  • Organisationen möchten einen Standardsatz genehmigter Server
  • Entwickler benötigen eine kuratierte Liste anstelle einer nicht verwalteten Ermittlung.

GitHub unterstützt auch benutzerdefinierte MCP-Registrierungen für Organisationen und Unternehmen, solange die Registrierung der erforderlichen MCP-Registrierungsspezifikation und -endpunktstruktur folgt.

Konfigurieren von MCP-Registrierungen

Um eine benutzerdefinierte MCP-Registrierung in GitHub zu verwenden, muss eine Organisation oder ein Unternehmen eine Registrierung erstellen oder hosten, auf die GitHub Copilot zugreifen können.

Schritte:

  1. Erstellen oder Hosten einer MCP-Registrierung. Sie können dies auf drei Arten tun:
    • Erstellen Sie einen Fork und hosten Sie die Open-Source-MCP-Registrierung selbst
    • Lokales Ausführen der Open Source-Registrierung mit Docker
    • Erstellen und Veröffentlichen einer eigenen benutzerdefinierten Registrierungsimplementierung
  2. Stellen Sie sicher, dass die Registrierung GitHub Anforderungen erfüllt. Die Registrierung muss:
    • Folgen Sie der MCP-Registrierungsspezifikation v0.1.
    • Verfügbarmachen der erforderlichen HTTPS-Endpunkte:
      • GET /v0.1/servers
      • GET /v0.1/servers/{serverName}/versions/latest
      • GET /v0.1/servers/{serverName}/versions/{version}
    • Schließen Sie erforderliche CORS-Header ein, damit Copilot darauf zugreifen können:
      • Access-Control-Allow-Origin: *
      • Access-Control-Allow-Methods: GET, OPTIONS
      • Access-Control-Allow-Headers: Autorisierung, Inhaltstyp
  3. (Optional) Schließen Sie lokale MCP-Server ein:
    • Wenn Entwickler lokale MCP-Server unter eingeschränkten Richtlinien verwenden möchten, müssen diese Server in der Registrierung aufgeführt sein.
    • Server-IDs müssen exakt übereinstimmen
  4. (Alternative) Verwenden des Azure-API-Centers
    • Azure API Center kann als verwaltete MCP-Registrierung fungieren
    • Anonymen Zugriff aktivieren, damit Copilot die Registrierung abrufen können
    • Kopieren der API Center-Endpunkt-URL zur späteren Verwendung
  5. Bereitstellen der Registrierungs-URL für Ihre Organisation oder Ihr Unternehmen
    • Diese URL wird in Copilot Richtlinieneinstellungen verwendet.
    • Stellt die Registrierung in Ihrem Unternehmen zur Verfügung.

Nach der Konfiguration wird die Registrierung zur Quelle der Wahrheit für verfügbare MCP-Server, sodass Entwickler genehmigte Tools auf konsistente Weise entdecken und verwenden können.

Was ist eine Positivliste?

Eine Zulassungsliste ist eine Richtlinie, die steuert, welche MCP-Server zulässig sind.

Dies ist wichtig, da MCP erweitert, worauf ein Agent zugreifen kann. Ohne Schutzmaßnahmen kann ein Agent mit Tools verbunden werden, die sensible Systeme zugänglich machen oder unsichere Aktionen zulassen.

Eine Zulassungsliste löst dies durch Einschränken der Servernutzung auf genehmigte Einträge. In der Praxis bedeutet dies, dass eine Organisation oder ein Unternehmen entscheiden kann, ob Entwickler:

  • Verwenden Sie unbedingt MCP-Server.
  • Verwenden eines beliebigen MCP-Servers
  • Verwenden sie nur bestimmte MCP-Server, die in einer Registrierung definiert sind.

GitHub unterstützt die Durchsetzung der MCP-Positivliste auf Organisation- und Unternehmensebene. Diese ist an den Copilot-Sitz gebunden ist, der den Benutzer verwaltet.

Zusammenarbeit zwischen MCP-Servern, Registrierungen und Zulassungslisten

Diese drei Konzepte lösen verschiedene Teile desselben Problems:

  • MCP-Server macht Tools verfügbar
  • Die Registrierung macht Server auffindbar und vertrauenswürdig
  • Zulassungsliste entscheidet, welche Server zulässig sind.

Gemeinsam erstellen sie ein Modell, das flexibel und kontrolliert ist.

Ein Entwickler oder Team kann nützliche Server über eine Registrierung ermitteln, während die Organisation die Governance über die in der Praxis zulässigen Server behält.

Konfigurieren von MCP-Zulassungslisten

MCP-Positivlisten steuern, welche MCP-Serverentwickler verwenden dürfen. Dies ist auf Organisation oder Unternehmensebene in GitHub konfiguriert.

Schritte (Unternehmen):

  1. Navigieren Sie zu Ihrem Unternehmen auf GitHub
  2. Klicken Sie oben auf der Seite auf KI-Steuerelemente.
  3. Klicken Sie in der Randleiste auf MCP
  4. Stellen Sie sicher, dass MCP-Server in Copilot überall aktiviert sind.
  5. Im Abschnitt "MCP-Registrierungs-URL":
    • Geben Sie die URL Ihrer Registrierung ein.
    • Wählen Sie „Speichern“ aus.
    • Wenn Sie Azure API Center verwenden, geben Sie nur die Basis-URL ein (schließen Sie /v0.1/servers nicht ein)
  6. Wählen Sie unter "MCP-Zugriff auf Registrierungsserver einschränken" Folgendes aus:
    • Alle zulassen → keine Einschränkungen, jeder MCP-Server kann verwendet werden.
    • Registrierung nur → nur Server aus der Registrierung zulässig sind

Schritte (Organisation):

  1. Klicken Sie in GitHub auf Ihr Profilbild, und wählen Sie "Organisationen" aus.
  2. Auswählen Ihrer Organisation
  3. Klicken Sie auf "Einstellungen".
  4. Klicken Sie in der Randleiste auf Copilot, und klicken Sie dann auf "Richtlinien".
  5. Im Abschnitt "Features":
    • Sicherstellen, dass MCP-Server in Copilot aktiviert sind
  6. (Optional) in der MCP-Registrierungs-URL:
    • Geben Sie Ihre Registrierungs-URL ein.
    • Wählen Sie „Speichern“ aus.
    • Wenn Sie Azure API Center verwenden, geben Sie nur die Basis-URL ein.
  7. Wählen Sie unter "MCP-Zugriff auf Registrierungsserver einschränken" Folgendes aus:
    • Alle zulassen
    • Nur Registrierung

Note

Hinweis: Wenn die Option "Alle zulassen" ausgewählt ist, können Entwickler jeden MCP-Server ohne Einschränkungen hinzufügen und verwenden. Wenn die Registrierung nur ausgewählt ist, sind Entwickler auf die Verwendung der MCP-Server beschränkt, die in der konfigurierten Registrierung definiert sind. In diesem Fall müssen sogar lokale MCP-Server in die Registrierung aufgenommen werden, und ihre Server-IDs müssen exakt übereinstimmen. Sobald eine Richtlinie ausgewählt ist, wird sie sofort auf alle Entwickler angewendet.

Zulassungslisten stellen sicher, dass Agents nur genehmigte MCP-Server verwenden, sodass Organisationen steuern können, auf welche Tools zugegriffen werden kann.

Ein praktischer GitHub Workflow

Ein realistischer GitHub-zentrierter MCP-Fluss sieht wie folgt aus:

  1. Eine Organisation konfiguriert eine MCP-Registrierung
  2. Die Organisation definiert eine Zulassungslistenrichtlinie für genehmigte Server.
  3. Ein Entwickler öffnet eine MCP-fähige IDE oder einen Client
  4. Der Client ermittelt genehmigte Server aus der Registrierung.
  5. Der Entwickler aktiviert einen Server wie den GitHub MCP-Server.
  6. Der Agent verwendet Tools von diesem Server während einer Aufgabe.

In diesem Modell erhalten Agents neue Funktionen, ohne die Kontrolle über Sicherheit und Governance aufzugeben.

Warum dies für die Agentenausführung wichtig ist

MCP gewährt Agenten Zugriff auf mehr Tools, aber mehr Tools bedeuten auch mehr Verantwortung.

Um MCP sicher im Maßstab zu verwenden, benötigen Sie mehr als Konnektivität. Sie benötigen:

  • Ein Server, der Tools richtig verfügbar macht
  • Eine Registrierung, die genehmigte Server auffindbar macht
  • Eine Zulassungsliste, die beschränkt, was verwendet werden kann

Diese Kombination macht MCP für echte Teams praktisch. Sie ermöglicht es Agents, über GitHub hinaus zu erweitern und gleichzeitig die Einrichtung überschaubar und zugriffsgesteuert zu halten.

Wichtige Kernpunkte

MCP erweitert die Agent-Funktionen, indem sie über MCP-Server mit Tools verbunden werden. Registrierungen vereinfachen die Ermittlung und Konfiguration dieser Server. Positivlisten bieten die Schutzmechanismen, die darüber entscheiden, welche Server erlaubt sind.

Zusammen machen diese Teile MCP sowohl skalierbar als auch regelbar.

Als Nächstes erfahren Sie, wie Sie Ausführungsumgebungen und Berechtigungsgrenzen definieren, damit Agents GitHub und MCP-verbundene Tools sicher verwenden können.