Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Gobernanza de MCP para Q Developer
Los clientes de nivel profesional que utilizan IAM Identity Center como método de inicio de sesión pueden controlar el acceso al MCP para los usuarios de su organización. De forma predeterminada, sus usuarios pueden usar cualquier servidor MCP en su cliente Q. Como administrador, puede deshabilitar por completo el uso de los servidores MCP por parte de sus usuarios o especificar una lista verificada de servidores MCP que sus usuarios pueden usar.
Puede controlar estas restricciones mediante un on/off conmutador de MCP y un registro de MCP. Los atributos de alternancia y registro del MCP forman parte del perfil de desarrollador Q, que se puede definir a nivel de organización o de cuenta, sustituyendo el perfil a nivel de cuenta al perfil de nivel de organización. Puede especificar una política de MCP predeterminada para su organización e invalidarla para cuentas específicas; por ejemplo, deshabilitar el MCP para la organización pero habilitarlo con una lista de permitidos para determinados equipos (cuentas).
nota
Tanto la configuración de conmutación como la del registro se aplican en el lado del cliente. Tenga en cuenta que los usuarios finales podrían eludirla.
Deshabilitación del MCP para la organización
Para inhabilitar el MCP en tu cuenta u organización:
-
Abre la consola Kiro.
-
Seleccione Configuración.
Seleccione la pestaña Q Developer.
-
Desactive el Protocolo de contexto de modelo (MCP).
Especificar una lista de MCP permitida para su organización
Para controlar a qué servidores MCP pueden acceder sus usuarios, cree un archivo JSON con los servidores permitidos, envíelo a través de HTTPS y añada la URL a su perfil de desarrollador de Q. Los clientes de Q Developer que utilizan este perfil permiten a los usuarios acceder únicamente a los servidores MCP de su lista de permitidos.
Especificar la URL del registro MCP
Abra la consola Kiro.
Seleccione Configuración.
Seleccione la pestaña Q Developer.
Asegúrese de que el Model Context Protocol (MCP) esté activado.
En el campo URL del registro MCP, seleccione Editar.
Introduzca la URL de un archivo JSON del registro MCP que contenga los servidores MCP permitidos.
Seleccione Save.
Formato de archivo de registro MCP
El formato del archivo JSON de registro es un subconjunto del esquema de servidor JSON del estándar de registro MCP v0.1
El siguiente ejemplo muestra un archivo de registro MCP que contiene una definición de servidor MCP remota (HTTP) y una local (stdio).
{ "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" } ] } ] } } ] }
En la siguiente tabla se enumeran las propiedades del archivo JSON del registro. Todas las propiedades son obligatorias, a menos que se indique lo contrario. Consulte la sección del esquema de registro para ver el esquema JSON completo.
Los atributos anidados aparecen separados de sus atributos principales. Por ejemplo, «encabezados» es un atributo secundario de «remotos», y «nombre» y «valor» son atributos secundarios de «encabezados».
| Atributo | Description (Descripción) | ¿Opcional? | Ejemplo de valor |
|---|---|---|---|
|
Atributos comunes |
|||
|
name |
Nombre del servidor. Debe ser único en un archivo de registro determinado. |
"aws-ccapi-mcp" |
|
|
título |
Nombre de servidor legible por humanos. |
Sí |
«API CC DE AWS» |
|
description |
Descripción del servidor. |
«Gestione la infraestructura de AWS mediante un lenguaje natural». |
|
|
versión |
Versión del servidor. Se recomienda encarecidamente el control de versiones semántico (x.y.z). |
«1.0.2" |
|
|
Atributos del servidor remoto (HTTP) |
|||
|
controles remotos |
Matriz con exactamente una entrada que especifica el punto final remoto. |
- |
|
|
type |
Debe ser uno de los siguientes tipos: «streamable-http» o «sse». |
«streamable-http» |
|
|
url |
URL del punto final del servidor MCP. |
«https://mcp.figma.com/mcp» |
|
|
headers |
Matriz de encabezados HTTP para incluir en cada solicitud. |
Sí |
- |
|
name |
Nombre del encabezado HTTP. |
«Autorización» |
|
|
valor |
Valor del encabezado HTTP. |
«Portador MF_9.B5F-4.1JQM» |
|
|
Atributos del servidor local (estudio) |
|||
|
packages |
Matriz con exactamente una entrada que contiene la definición del servidor MCP. |
- |
|
|
Tipo de registro |
Debe ser uno de los siguientes tipos: «npm», «pypi» u «oci». Los siguientes ejecutores de paquetes se utilizan para descargar y ejecutar el paquete del servidor MCP:
Las máquinas cliente deben tener preinstalados los ejecutores de paquetes adecuados. |
«npm» |
|
|
registryBaseUrl |
URL de registro del paquete. |
Sí |
"https://npm.acme.com" |
|
identificador |
Identificador del paquete del servidor. |
"@acme /my-server» |
|
|
transporte |
Objeto con exactamente una propiedad, «type». |
- |
|
|
type |
Debe ser «estudio». |
«estudio» |
|
|
Argumentos en tiempo de ejecución |
Conjunto de argumentos proporcionados al motor de ejecución, es decir, a npx, uvx o docker. |
Sí |
- |
|
type |
Debe ser «posicional». |
«posicional» |
|
|
valor |
Valor del argumento de tiempo de ejecución. |
«-q» |
|
|
Argumentos del paquete |
Matriz de argumentos proporcionada al servidor MCP. |
Sí |
- |
|
type |
Debe ser «posicional». |
«posicional» |
|
|
valor |
Valor del argumento Package. |
«iniciar» |
|
|
Variables de entorno |
Matriz de variables de entorno para configurar antes de iniciar el servidor. |
Sí |
- |
|
name |
Nombre de la variable de entorno. |
«LOG_LEVEL» |
|
|
valor |
Valor de la variable de entorno. |
«INFORMACIÓN» |
Servir el archivo de registro MCP
Sirva el archivo JSON del registro MCP a través de HTTPS mediante cualquier servidor web, como Amazon S3, Apache o nginx. Los clientes de Q Developer deben poder acceder a la URL en los ordenadores de sus usuarios, pero puede ser privada en su red corporativa.
El punto de conexión HTTPS debe tener un certificado SSL válido firmado por una autoridad de certificación de confianza. No se admiten los certificados autofirmados.
Un desarrollador busca el registro MCP al inicio y cada 24 horas. Durante la sincronización periódica, si un servidor MCP instalado localmente ya no está en el registro, Q Developer cierra ese servidor e impide que los usuarios lo vuelvan a añadir. Si el servidor instalado localmente tiene una versión diferente a la del servidor del registro, Q Developer vuelve a iniciar el servidor con la versión definida en el registro.
Q: complementos para desarrolladores
Cuando los usuarios inician Q Developer, comprueba si hay una URL de registro definida en el perfil. Si es así, recupera el JSON del registro en esa URL y exige que los usuarios solo puedan usar los servidores MCP definidos en el registro. Cuando los usuarios agregan un servidor MCP, Q Developer muestra una lista de servidores del registro.
Los parámetros del servidor MCP del registro (URL, identificador de paquete, RuntimeArguments, etc.) son de solo lectura. Sin embargo, los usuarios pueden:
Ajustar los permisos de la herramienta MCP («Solicitar ejecutar», «Ejecutar siempre» o «Denegar»).
Seleccione el ámbito del servidor MCP (global o de espacio de trabajo).
Cambie el tiempo de espera de la solicitud.
Especifique variables de entorno adicionales para los servidores MCP locales.
Especifique encabezados HTTP adicionales para los servidores MCP remotos.
nota
Las variables de entorno o los encabezados HTTP especificados por el usuario anulan las definiciones del registro. Esto permite a los usuarios especificar atributos específicos de su configuración, como las claves de autenticación o las rutas de las carpetas locales.
Esquema JSON del registro MCP
El siguiente esquema JSON define el formato de archivo de registro MCP compatible con Q Developer. Puede usar este esquema para validar cualquier archivo de registro que cree.
{ "$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 (for example, '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 (for example, '^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 (for example, '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" }