Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
MCP-Verwaltung für Q Developer
Pro-Tier-Kunden, die IAM Identity Center als Anmeldemethode verwenden, können den MCP-Zugriff für Benutzer innerhalb ihres Unternehmens kontrollieren. Standardmäßig können Ihre Benutzer jeden MCP-Server in ihrem Q-Client verwenden. Als Administrator haben Sie die Möglichkeit, entweder die Verwendung von MCP-Servern durch Ihre Benutzer vollständig zu deaktivieren oder eine überprüfte Liste von MCP-Servern anzugeben, die Ihre Benutzer verwenden dürfen.
Diese Einschränkungen werden jeweils über einen on/off MCP-Schalter und eine MCP-Registrierung gesteuert. Die MCP-Umschalter- und Registrierungsattribute sind Teil des Q Developer-Profils, das auf Organisations- oder Kontoebene definiert werden kann, wobei das Profil auf Kontoebene das Profil auf Organisationsebene ersetzt. Auf diese Weise können Sie eine Standard-MCP-Richtlinie für Ihre gesamte Organisation angeben und diese Standardeinstellung dann für bestimmte Konten außer Kraft setzen. Beispielsweise können Sie MCP für die gesamte Organisation deaktivieren, aber mit einer Zulassungsliste für bestimmte Teams (Konten) aktivieren.
Anmerkung
Sowohl der Umschalter als auch die Registrierungseinstellungen werden auf der Clientseite durchgesetzt. Seien Sie sich bewusst, dass Ihre Endbenutzer sie umgehen könnten.
Deaktivieren von MCP für Ihre Organisation
So deaktivieren Sie MCP für Ihr Konto oder Ihre Organisation:
-
Öffnen Sie die Konsole von Amazon Q Developer.
-
Wählen Sie Einstellungen aus.
-
Wählen Sie unter Einstellungen die Option Bearbeiten aus.
-
Stellen Sie im Popup-Fenster „Einstellungen bearbeiten“ die Option Model Context Protocol (MCP) auf Aus.
-
Wählen Sie Speichern.
Geben Sie eine MCP-Zulassungsliste für Ihre Organisation an
Um zu kontrollieren, welche MCP-Server Benutzer in Ihrer Organisation verwenden dürfen, können Sie eine Liste der zulässigen MCP-Server in einer JSON-Datei angeben, diese JSON-Datei über HTTPS bereitstellen und diese URL in das gewünschte Q Developer Profile eingeben. Alle Q Developer-Clients, die dieses Profil verwenden, erzwingen dann, dass Benutzer nur die MCP-Server verwenden können, die Sie in der JSON-Datei zugelassen haben.
Angabe der MCP-Registrierungs-URL
Öffnen Sie die Konsole von Amazon Q Developer.
Wählen Sie Einstellungen aus.
Wählen Sie unter Einstellungen die Option Bearbeiten aus.
Vergewissern Sie sich, dass im Popupfenster „Einstellungen bearbeiten“ die Option Model Context Protocol (MCP) aktiviert ist.
Geben Sie im Feld MCP-Registrierungs-URL die URL einer MCP-Registrierungs-JSON-Datei ein, die die MCP-Server auf der Zulassungsliste enthält.
Wählen Sie Speichern.
MCP-Registrierungsdateiformat
Das Format der Registrierungs-JSON-Datei ist eine Teilmenge des Serverschemas JSON im MCP-Registrierungsstandard
Im Folgenden finden Sie ein einfaches, erfundenes Beispiel für eine MCP-Registrierungsdatei, die sowohl eine entfernte (HTTP) als auch eine lokale (stdio) MCP-Serverdefinition enthält.
{ "servers": [ { "server": { "name": "my-remote-server", "title": "My server", "description": "My server description", "version": "1.0.0", "remotes": [ { "type": "streamable-http", "url": "https://acme.com/my-server", "headers": [ { "name": "X-My-Header", "value": "SomeValue" } ] } ] } }, { "server": { "name": "my-local-server", "title": "My server", "description": "My server description", "version": "1.0.0", "packages": [ { "registryType": "npm", "registryBaseUrl": "https://npm.acme.com", "identifier": "@acme/my-server", "transport": { "type": "stdio" }, "runtimeArguments": [ { "type": "positional", "value": "-q" } ], "packageArguments": [ { "type": "positional", "value": "start" } ], "environmentVariables": [ { "name": "ENV_VAR", "value": "ENV_VAR_VALUE" } ] } ] } } ] }
In der folgenden Tabelle werden die einzelnen Eigenschaften der Registrierungs-JSON-Datei beschrieben. Alle Eigenschaften sind verpflichtend, sofern nicht anders angegeben. Das vollständige JSON-Schema finden Sie im Abschnitt zum Registrierungsschema.
Verschachtelte Attribute werden mit einem horizontalen Abstand zu ihren übergeordneten Attributen angezeigt. Beispielsweise ist „headers“ ein untergeordnetes Attribut von „remotes“, und „name“ und „value“ sind untergeordnete Attribute von „headers“.
| Attribut | Description | Fakultativ? | Beispielwert |
|---|---|---|---|
| Allgemeine Attribute | |||
| name | Servername. Muss innerhalb einer bestimmten Registrierungsdatei eindeutig sein. | "aws-ccapi-mcp" | |
| Titel | Für Menschen lesbarer Servername. | Ja | „AWS-CC-API“ |
| description | Beschreibung des Servers. | „AWS-Infrastruktur mit natürlicher Sprache verwalten.“ | |
| version | Version des Servers. Semantische Versionierung (x.y.z) wird dringend empfohlen. | „1.0.2" | |
| Attribute des Remote-Servers (HTTP) | |||
| Fernbedienungen | Array mit genau einem Eintrag, der den Remote-Endpunkt angibt. | - | |
| Typ | Muss entweder „streamable-http“ oder „sse“ sein. | „streamable-http“ | |
| URL | URL des MCP-Serverendpunkts. | „https://mcp.figma.com/mcp“ | |
| Header | Array von HTTP-Headern, die in jede Anfrage aufgenommen werden sollen. | Ja | - |
| name | Name des HTTP-Headers. | „Autorisierung“ | |
| value | HTTP-Header-Wert. | „Träger MF_9.b5f-4.1jqm“ | |
| Lokale (stdio) Serverattribute | |||
| Pakete | Array mit genau einem Eintrag, der die MCP-Serverdefinition enthält. | - | |
| Registrierungstyp |
Muss entweder „npm“, „pypi“ oder „oci“ sein. Die folgenden Package Runner werden verwendet, um das MCP-Serverpaket herunterzuladen und auszuführen:
Auf den Client-Computern müssen die entsprechenden Package Runner vorinstalliert sein. |
„npm“ | |
| registryBaseUrl | URL der Paketregistrierung. | Ja | "https://npm.acme.com" |
| Bezeichner | Kennung des Serverpakets. | "@acme /mein-Server“ | |
| Transport | Objekt mit genau einer Eigenschaft, „Typ“. | - | |
| Typ | Muss „stdio“ sein. | „stdio“ | |
| Laufzeitargumente | Array von Argumenten, die der Laufzeit zur Verfügung gestellt werden, d. h. für npx, uvx oder docker. | Ja | - |
| Typ | Muss „positionell“ sein. | „positionell“ | |
| value | Wert des Laufzeitarguments. | „-q“ | |
| Paketargumente | Array von Argumenten, die dem MCP-Server zur Verfügung gestellt werden. | Ja | - |
| Typ | Muss „positionell“ sein. | „positionell“ | |
| value | Wert Package Paket-Arguments. | „starten“ | |
| Umgebungsvariablen | Array von Umgebungsvariablen, die vor dem Start des Servers festgelegt werden sollen. | Ja | - |
| name | Name der Umgebungsvariablen. | „LOG_LEVEL“ | |
| value | Wert der Umgebungsvariablen. | „INFORMATION“ | |
Bereitstellung der MCP-Registrierungsdatei
Die JSON-Datei der MCP-Registrierung muss über HTTPS bereitgestellt werden. Sie können dies nach Belieben bedienen, z. B. mit S3, Apache/Nginx usw. Auf diese URL müssen die Q Developer-Clients zugreifen können, die auf Ihren Benutzern ausgeführt werden. PCs Es muss jedoch nicht von der AWS-Konsole aus zugänglich sein, was bedeutet, dass es für Ihr Unternehmensnetzwerk privat sein kann.
Aus Sicherheitsgründen muss der HTTPS-Endpunkt über ein gültiges SSL-Zertifikat verfügen, das von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde. Insbesondere können Sie kein selbstsigniertes Zertifikat für den Registrierungsendpunkt verwenden.
Q ruft die MCP-Registrierung beim Start und in regelmäßigen Abständen (alle 24 Stunden) ab. Wenn Q während der regelmäßigen Synchronisierung feststellt, dass ein lokal installierter MCP-Server nicht mehr in der Registrierung vorhanden ist, wird dieser Server beendet und der Benutzer kann ihn nicht wieder hinzufügen. Wenn es feststellt, dass der lokal installierte Server eine andere Version hat als der Server in der Registrierung, wird der Server mit der in der Registrierung definierten Version neu gestartet.
Q Plug-ins für Entwickler
Wenn ein Benutzer Q Developer startet, wird geprüft, ob im Profil eine Registrierungs-URL definiert ist. Ist dies der Fall, wird das Registrierungs-JSON unter dieser URL abgerufen und es wird erzwungen, dass Benutzer nur die in der Registrierung definierten MCP-Server verwenden können. Wenn Benutzer versuchen, einen MCP-Server hinzuzufügen, wird ihnen eine Liste der in der Registrierung definierten Server angezeigt, aus der sie auswählen können.
Benutzer können keinen der Parameter (URL, Paket-ID, RuntimeArguments usw.) eines Registrierungs-MCP-Servers ändern. Sie können jedoch weiterhin Folgendes tun:
Passen Sie die Berechtigungen für das MCP-Tool an („Zum Ausführen auffordern“, „Immer ausführen“ oder „Verweigern“).
Wählen Sie den MCP-Serverbereich (Global oder Workspace) aus.
Ändern Sie das Anforderungs-Timeout.
Geben Sie zusätzliche Umgebungsvariablen für lokale MCP-Server an.
Geben Sie zusätzliche HTTP-Header für Remote-MCP-Server an.
Anmerkung
Wenn der Benutzer einen env var- oder HTTP-Header angibt, der bereits in der Registrierung definiert ist, hat die Definition des Benutzers Vorrang. Auf diese Weise können Benutzer Attribute angeben, die für ihr Setup spezifisch sind, z. B. Authentifizierungsschlüssel oder lokale Ordnerpfade.
JSON-Schema der MCP-Registrierung
Im Folgenden finden Sie die JSON-Schemadefinition für die JSON-Dateien der MCP-Registrierung, die von Q Developer unterstützt werden. Sie können dieses Schema verwenden, um alle von Ihnen erstellten Registrierungsdateien zu validieren.
{ "$schema": "https://json-schema.org/draft-07/schema", "properties": { "servers": { "type": "array", "items": { "type": "object", "properties": { "server": { "$ref": "#/definitions/ServerDetail" } }, "required": [ "server" ] } } }, "definitions": { "ServerDetail": { "properties": { "name": { "description": "Server name. Must be unique within a given registry file.", "example": "weather-mcp", "maxLength": 200, "minLength": 3, "pattern": "^[a-zA-Z0-9._-]+$", "type": "string" }, "title": { "description": "Optional human-readable title or display name for the MCP server. MCP subregistries or clients MAY choose to use this for display purposes.", "example": "Weather API", "maxLength": 100, "minLength": 1, "type": "string" }, "description": { "description": "Clear human-readable explanation of server functionality. Should focus on capabilities, not implementation details.", "example": "MCP server providing weather data and forecasts via OpenWeatherMap API", "maxLength": 100, "minLength": 1, "type": "string" }, "version": { "description": "Version string for this server. SHOULD follow semantic versioning (e.g., '1.0.2', '2.1.0-alpha'). Equivalent of Implementation.version in MCP specification. Non-semantic versions are allowed but may not sort predictably. Version ranges are rejected (e.g., '^1.2.3', '~1.2.3', '\u003e=1.2.3', '1.x', '1.*').", "example": "1.0.2", "maxLength": 255, "type": "string" }, "packages": { "items": { "$ref": "#/definitions/Package" }, "type": "array" }, "remotes": { "items": { "anyOf": [ { "$ref": "#/definitions/StreamableHttpTransport" }, { "$ref": "#/definitions/SseTransport" } ] }, "type": "array" } }, "required": [ "name", "description", "version" ], "type": "object" }, "Package": { "properties": { "registryType": { "description": "Registry type indicating how to download packages (e.g., 'npm', 'pypi', 'oci')", "enum": [ "npm", "pypi", "oci" ], "type": "string" }, "registryBaseUrl": { "description": "Base URL of the package registry", "examples": [ "https://registry.npmjs.org", "https://pypi.org", "https://docker.io" ], "format": "uri", "type": "string" }, "identifier": { "description": "Package identifier - either a package name (for registries) or URL (for direct downloads)", "examples": [ "@modelcontextprotocol/server-brave-search", "https://github.com/example/releases/download/v1.0.0/package.mcpb" ], "type": "string" }, "transport": { "anyOf": [ { "$ref": "#/definitions/StdioTransport" }, { "$ref": "#/definitions/StreamableHttpTransport" }, { "$ref": "#/definitions/SseTransport" } ], "description": "Transport protocol configuration for the package" }, "runtimeArguments": { "description": "A list of arguments to be passed to the package's runtime command (such as docker or npx).", "items": { "$ref": "#/definitions/PositionalArgument" }, "type": "array" }, "packageArguments": { "description": "A list of arguments to be passed to the package's binary.", "items": { "$ref": "#/definitions/PositionalArgument" }, "type": "array" }, "environmentVariables": { "description": "A mapping of environment variables to be set when running the package.", "items": { "$ref": "#/definitions/KeyValueInput" }, "type": "array" } }, "required": [ "registryType", "identifier", "transport" ], "type": "object" }, "StdioTransport": { "properties": { "type": { "description": "Transport type", "enum": [ "stdio" ], "example": "stdio", "type": "string" } }, "required": [ "type" ], "type": "object" }, "StreamableHttpTransport": { "properties": { "type": { "description": "Transport type", "enum": [ "streamable-http" ], "example": "streamable-http", "type": "string" }, "url": { "description": "URL template for the streamable-http transport. Variables in {curly_braces} reference argument valueHints, argument names, or environment variable names. After variable substitution, this should produce a valid URI.", "example": "https://api.example.com/mcp", "type": "string" }, "headers": { "description": "HTTP headers to include", "items": { "$ref": "#/definitions/KeyValueInput" }, "type": "array" } }, "required": [ "type", "url" ], "type": "object" }, "SseTransport": { "properties": { "type": { "description": "Transport type", "enum": [ "sse" ], "example": "sse", "type": "string" }, "url": { "description": "Server-Sent Events endpoint URL", "example": "https://mcp-fs.example.com/sse", "format": "uri", "type": "string" }, "headers": { "description": "HTTP headers to include", "items": { "$ref": "#/definitions/KeyValueInput" }, "type": "array" } }, "required": [ "type", "url" ], "type": "object" }, "PositionalArgument": { "properties": { "value": { "description": "The value for the input.", "type": "string" } }, "required": [ "value" ], "type": "object" }, "KeyValueInput": { "properties": { "name": { "description": "Name of the header or environment variable.", "example": "SOME_VARIABLE", "type": "string" }, "value": { "description": "The value for the input.", "type": "string" } }, "required": [ "name" ], "type": "object" } }, "required": [ "servers" ], "type": "object" }