Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Modelli di integrazione dei server MCP
Con i modelli di server Model Context Protocol (MCP), puoi implementare un server MCP OpenSearch ospitato su Amazon Bedrock AgentCore, riducendo la complessità di integrazione tra agenti e strumenti di intelligenza artificiale. OpenSearch Per ulteriori informazioni, consulta Cos'è Amazon Bedrock AgentCore? .
Caratteristiche del modello
Questo modello include le seguenti funzionalità chiave per la distribuzione e la gestione del server MCP.
- Implementazione gestita del server MCP
-
Esegue la distribuzione opensearch-mcp-server-pyutilizzando Amazon Bedrock AgentCore Runtime e fornisce un endpoint agente che invia tramite proxy le richieste al server MCP sottostante. Per ulteriori informazioni, consulta on. opensearch-mcp-server-pyGitHub
- Autenticazione e sicurezza
-
Gestisce sia l'autenticazione in entrata (dagli utenti al server MCP) che l'autenticazione in uscita (dal server MCP a OpenSearch) e supporta OAuth l'autenticazione aziendale.
Nota
Il modello di server MCP è disponibile solo nei seguenti casi: Regioni AWS
-
Stati Uniti orientali (Virginia settentrionale)
-
US West (Oregon)
-
Europa (Francoforte)
-
Asia Pacifico (Sydney)
Per utilizzare il modello di server MCP
Segui questi passaggi per distribuire il modello di server MCP e collegarlo al tuo OpenSearch dominio.
-
Apri la console Amazon OpenSearch Service
. -
Nel riquadro di navigazione a sinistra, scegli Integrazioni.
-
Individua il modello di integrazione del server MCP.
-
Scegli Configura dominio. Quindi, inserisci l'endpoint OpenSearch del tuo dominio.
Il modello crea un AgentCore Runtime e i seguenti componenti, se non vengono specificati i parametri opzionali corrispondenti:
-
Repository Amazon ECR
-
Un pool di utenti Amazon Cognito come autorizzatore OAuth
-
Un ruolo di esecuzione utilizzato dal Runtime AgentCore
Dopo aver completato questa procedura, è necessario seguire questi passaggi successivi alla creazione:
-
Per Amazon OpenSearch Service: associa il tuo ruolo di esecuzione ARN a un ruolo di OpenSearch backend per controllare l'accesso al tuo dominio.
Per Amazon OpenSearch Serverless: crea una policy di accesso ai dati che consenta al tuo ruolo esecutivo di accedere alla tua raccolta.
-
Ottieni un token di OAuth accesso dal tuo autorizzatore. Quindi usa questo token per accedere al server MCP all'URL elencato nell'output CloudFormation dello stack.
Per ulteriori informazioni, consulta Azioni politiche per Serverless OpenSearch .
Integrazione con agenti AI
Dopo l'implementazione, è possibile integrare il server MCP con qualsiasi agente compatibile con MCP. Per ulteriori informazioni, consulta Richiamare il server MCP distribuito nella Amazon Bedrock Developer Guide.
- Integrazione con gli sviluppatori
-
È possibile aggiungere l'endpoint del server MCP alla configurazione dell'agente. Puoi anche usarlo con Amazon Q Developer CLI, agenti personalizzati o altri agenti compatibili con MCP.
- Distribuzione aziendale
-
Gli agenti ospitati centralmente possono connettersi a più servizi OpenSearch utilizzando un unico componente. Questo agente supporta tutti i sistemi di autenticazione aziendali OAuth ed è scalabile per supportare più utenti e casi d'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")
Per ulteriori informazioni, consulta Hosting OpenSearch MCP Server with Amazon Bedrock AgentCore sul OpenSearch sito