As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modelos de integração do servidor MCP
Com os modelos de servidor Model Context Protocol (MCP), você pode implantar um servidor MCP OpenSearch hospedado no Amazon Bedrock AgentCore, reduzindo a complexidade da integração entre agentes e ferramentas de IA. OpenSearch Para obter mais informações, consulte O que é o Amazon Bedrock AgentCore? .
Características do modelo
Esse modelo inclui os seguintes recursos principais para implantar e gerenciar seu servidor MCP.
- Implantação gerenciada do servidor MCP
-
Implanta opensearch-mcp-server-pyusando o Amazon Bedrock AgentCore Runtime e fornece um endpoint de agente que envia solicitações por proxy para o servidor MCP subjacente. Para obter mais informações, consulte opensearch-mcp-server-py
em GitHub. - Autenticação e segurança
-
Lida com a autenticação de entrada (dos usuários para o servidor MCP) e a autenticação de saída (do servidor MCP para OpenSearch), além de oferecer suporte OAuth à autenticação corporativa.
nota
O modelo de servidor MCP só está disponível no seguinte: Regiões da AWS
-
Leste dos EUA (N. da Virgínia)
-
Oeste dos EUA (Oregon)
-
Europa (Frankfurt)
-
Ásia-Pacífico (Sydney)
Para usar o modelo de servidor MCP
Siga estas etapas para implantar o modelo de servidor MCP e conectá-lo ao seu OpenSearch domínio.
-
No painel de navegação esquerdo, escolha Integrações.
-
Localize o modelo de integração do servidor MCP.
-
Escolha Configurar domínio. Em seguida, insira o endpoint OpenSearch do seu domínio.
O modelo cria um AgentCore Runtime e os seguintes componentes, se os parâmetros opcionais correspondentes não forem especificados:
-
Um repositório do Amazon ECR
-
Um grupo de usuários do Amazon Cognito como autorizador OAuth
-
Uma função de execução usada pelo AgentCore Runtime
Depois de concluir esse procedimento, você deve seguir estas etapas de pós-criação:
-
Para Amazon OpenSearch Service: mapeie o ARN da sua função de execução para uma função de OpenSearch back-end para controlar o acesso ao seu domínio.
Para Amazon OpenSearch Serverless: crie uma política de acesso a dados que permita que sua função de execução acesse sua coleção.
-
Obtenha um token de OAuth acesso do seu autorizador. Em seguida, use esse token para acessar o servidor MCP na URL listada na saída da sua CloudFormation pilha.
Para obter mais informações, consulte Ações políticas para OpenSearch Serverless.
Integração com agentes de IA
Após a implantação, você pode integrar o servidor MCP com qualquer agente compatível com MCP. Para obter mais informações, consulte Invoque seu servidor MCP implantado no Amazon Bedrock Developer Guide.
- Integração de desenvolvedores
-
Você pode adicionar o endpoint do servidor MCP à configuração do seu agente. Você também pode usá-lo com a CLI do Amazon Q Developer, agentes personalizados ou outros agentes compatíveis com MCP.
- Implantação corporativa
-
Agentes hospedados centralmente podem se conectar a vários serviços com OpenSearch um único componente. Esse agente oferece suporte a sistemas de autenticação corporativos OAuth e é escalável para oferecer suporte a vários usuários e casos de uso.
import os
import requests
from strands import Agent
from strands.tools.mcp import MCPClient
from mcp.client.streamable_http import streamablehttp_client
def get_bearer_token(discovery_url: str, client_id: str, client_secret: str):
response = requests.get(discovery_url)
discovery_data = response.json()
token_endpoint = discovery_data['token_endpoint']
data = {
'grant_type': 'client_credentials',
'client_id': client_id,
'client_secret': client_secret
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
response = requests.post(token_endpoint, data=data, headers=headers)
token_data = response.json()
return token_data['access_token']
if __name__ == "__main__":
discovery_url = os.environ["DISCOVERY_URL"]
client_id = os.environ["CLIENT_ID"]
client_secret = os.environ["CLIENT_SECRET"]
mcp_url = os.environ["MCP_URL"]
bearer_token = get_bearer_token(discovery_url, client_id, client_secret)
opensearch_mcp_client = MCPClient(lambda: streamablehttp_client(mcp_url, {
"authorization": f"Bearer {bearer_token}",
"Content-Type": "application/json"
}))
with opensearch_mcp_client:
tools = opensearch_mcp_client.list_tools_sync()
agent = Agent(tools=tools)
agent("list indices")
Para obter mais informações, consulte Hospedagem do OpenSearch MCP Server com o Amazon Bedrock AgentCore