

# Usando o endpoint MCP do Registry
<a name="registry-mcp-endpoint"></a>

**Próxima migração de namespace**  
 AWS O Agent Registry está atualmente em versão prévia pública no namespace bedrock-agentcore. A partir de 6 de agosto de 2026, o serviço passa para o namespace agent-registry. Se você usa o AWS Agent Registry, deve atualizar seus endpoints, políticas do IAM, clientes SDK, scripts de CLI e dados de registro. Para obter mais informações sobre a migração da versão prévia pública, consulte o [guia abrangente de migração do registro](registry-faq.md).

## Visão geral do
<a name="registry-mcp-overview"></a>

Cada registro expõe um MCP-compatible endpoint seguindo a especificação [2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25). O endpoint oferece suporte à listagem e invocação de ferramentas para pesquisar registros do registro.

```
https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp
```

O MCP contém uma ferramenta chamada “search\_registry\_records”.

```
Tool name: search_registry_records

Description:
Searches for registry records using natural language queries. Returns metadata for matching records.

Parameters:
- searchQuery (required): string - Natural language search query
- maxResults: integer - Maximum number of results to return (1-20, default 10)
- filter: object - Optional metadata filter using structured JSON operators. Supports field-level operators ($eq, $ne,
  $in) and logical operators ($and, $or) on filterable fields (name, descriptorType, version). Example:
  {"descriptorType": {"$eq": "MCP"}}
```

Você pode se conectar ao registro a partir de um cliente MCP existente, como Kiro, Claude etc.

## Conecte-se ao endpoint MCP de OAuth-based registro a partir de um cliente MCP existente
<a name="registry-mcp-connect-oauth"></a>

### Permissões
<a name="registry-mcp-permissions-oauth"></a>

O endpoint MCP usará o mesmo **CustomJWTAuthorizerConfiguration**para autorizar as solicitações recebidas.

O `.well-known/oauth-protected-resource` caminho é:`https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcp`.

O cliente também pode descobrir os metadados do `WWW-Authenticate` cabeçalho:

```
www-authenticate: Bearer resource_metadata="https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcp"
```

Depois de obter o token de acesso, você pode validá-lo:

```
curl -s -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_registry_records","arguments":{"searchQuery":"weather"}}}'
```

Dependendo do servidor de autorização e dos requisitos de segurança da organização, você pode escolher uma das seguintes abordagens para configurar seu cliente MCP:

1. Token do portador: use um processo separado para buscar o token do portador e configurá-lo no cabeçalho do cliente MCP

1. Pre-registered cliente: crie um cliente em seu servidor de autorização e coloque o cliente na lista de permissões na configuração do registro.

1. Registro dinâmico de clientes: se o seu servidor de autorização suportar o registro dinâmico de clientes (DCR), você poderá colocar o público na lista de permissões na configuração do registro.

### OAuth-based Configuração do cliente MCP
<a name="registry-mcp-connect-oauth-setup"></a>

#### Use o token do portador
<a name="registry-mcp-connect-oauth-bearer"></a>

Na maioria dos IDEs, você pode configurar o token portador do cabeçalho de autorização em uma configuração mcp. Por exemplo, o [Kiro suporta](https://kiro.dev/blog/introducing-remote-mcp/#securing-mcp-connections) variáveis de ambiente usando a `${ENV_VAR}` sintaxe. Você pode usar o seguinte exemplo:

```
{
  "mcpServers": {
    "my-registry": {
      "type": "http",
      "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp",
      "headers": {
        "Authorization": "Bearer ${ACCESS_TOKEN}"
      }
    }
  }
}
```

#### Pre-registered Cliente
<a name="registry-mcp-connect-oauth-preregistered"></a>

Você pode criar um novo cliente com base na concessão do código de autorização em seu servidor de autorização e usar o cliente para acessar o registro. Por exemplo, [crie um cliente no grupo de usuários do Cognito](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/identity-idp-cognito.html).

Depois de ter o ID do cliente, certifique-se de colocá-lo na lista de permissões no registro:

```
aws bedrock-agentcore-control update-registry \
  --registry-id <registryId> \
  --authorizer-configuration '{
    "optionalValue": {
      "customJWTAuthorizer": {
        "discoveryUrl": "https://<example-domain>/.well-known/openid-configuration",
        "allowedClients": ["<client-id>"]
      }
    }
  }'
```

Em seguida, você pode configurar seu cliente MCP se ele suportar a especificação de ClientID. Um exemplo no código Claude:

```
{
  "mcpServers": {
    "pre-registered-registry": {
      "type": "http",
      "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp",
      "oauth": {
        "clientId": "<client-id>",
        "callbackPort": "<port-number>"
      }
    }
  }
}
```

**nota**  
Alguns servidores de autorização, como Auth0 e Cognito, não permitem que você configure uma variedade de portas como URIs de redirecionamento permitidos, então você precisa definir explicitamente uma na URL permitida do cliente pré-registrado, bem como no mcp.json redirect/callback .

#### Registro dinâmico de clientes
<a name="registry-mcp-connect-oauth-dcr"></a>

A maioria dos aplicativos cliente MCP oferece suporte ao registro dinâmico de clientes. Nesse caso, você NÃO deve especificar o `allowedClients` valor no registro. Em vez disso, você pode escolher definir`allowedAudience`. O valor pode ser o mesmo do seu registro MCP. Você deve configurar seu servidor de autorização para emitir ao JWT um `aud` campo com o mesmo valor de em`allowedAudience`.

```
aws bedrock-agentcore-control update-registry \
  --registry-id <registryId> \
  --authorizer-configuration '{
    "optionalValue": {
      "customJWTAuthorizer": {
        "discoveryUrl": "https://<example-domain>/.well-known/openid-configuration",
        "allowedAudience": ["https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp"]
      }
    }
  }'
```

Em seguida, você pode configurar seu cliente MCP simplesmente usando um URL:

```
{
  "mcpServers": {
    "dcr-registry": {
      "type": "http",
      "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp"
    }
  }
}
```

Erros comuns ao configurar o registro dinâmico de clientes:
+ Você deve garantir que o servidor de autorização ofereça suporte ao registro dinâmico de clientes.
+ O servidor de autorização deve emitir o `aud` campo JWT com, o que é permitido no seu registro. CustomJWTAuthorizerConfiguration
+ Atualmente, o registro não retorna o desafio de escopo no cabeçalho www-authenticate. [Alguns clientes MCP oferecem suporte à definição explícita `oauthScopes` na configuração, como o Kiro.](https://kiro.dev/docs/cli/custom-agents/configuration-reference/#oauth-configuration)

## Conecte-se ao endpoint MCP de IAM-based registro a partir de um cliente MCP existente
<a name="registry-mcp-connect-iam"></a>

### Permissões
<a name="registry-mcp-permissions-iam"></a>

Para inicialização do MCP e listagem de ferramentas:

```
{
    "Effect": "Allow",
    "Action": "bedrock-agentcore:InvokeRegistryMcp",
    "Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*"
}
```

Para pesquisar por meio da invocação da ferramenta MCP, você também precisa:

```
{
    "Effect": "Allow",
    "Action":
    [
        "bedrock-agentcore:InvokeRegistryMcp",
        "bedrock-agentcore:SearchRegistryRecords"
    ],
    "Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*"
}
```

Você pode verificar a permissão com o comando:

```
curl -s -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Security-Token: ${AWS_SESSION_TOKEN}" \
  --aws-sigv4 "aws:amz:<region>:bedrock-agentcore" \
  --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_registry_records","arguments":{"searchQuery":"weather"}}}'
```

### IAM-based Configuração do cliente MCP
<a name="registry-mcp-connect-iam-setup"></a>

Você pode usar [mcp-proxy-for-aws](https://github.com/aws/mcp-proxy-for-aws) para se conectar a um registro. IAM-based Por exemplo, em Kiro mcp.json:

```
{
  "mcpServers": {
    "iam-based-registry": {
      "disabled": false,
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp",
        "--service",
        "bedrock-agentcore",
        "--region",
        "<region>",
        "--profile",
        "my-profile"
      ]
    }
  }
}
```

## Desenvolva seu próprio cliente MCP
<a name="registry-mcp-develop-client"></a>

Para obter mais referências de código sobre como invocar o endpoint MCP do Registry, inclusive de IDEs populares como Kiro ou Claude Code, consulte exemplos de referências de código no repositório público de código.