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 del server MCP
Con i modelli di server Model Context Protocol (MCP), puoi distribuire 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 l'implementazione e la gestione del server MCP.
- Implementazione gestita del server MCP
-
Distribuisce opensearch-mcp-server-py utilizzando Amazon Bedrock AgentCore Runtime e fornisce un endpoint agente che inoltra le richieste tramite proxy al server MCP sottostante. Per ulteriori informazioni, GitHub consulta opensearch-mcp-server-py on.
- 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 per l'autenticazione aziendale.
Nota
Il modello di server MCP è disponibile solo nei seguenti casi: Regioni AWS
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti occidentali (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 i parametri opzionali corrispondenti non sono specificati:
-
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 l'ARN del tuo ruolo di esecuzione 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 di esecuzione di accedere alla tua raccolta.
-
Ottieni un token di accesso OAuth dal tuo autorizzatore. Quindi usa questo token per accedere al server MCP all'URL elencato nell'output dello stack. CloudFormation
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 per sviluppatori
-
È possibile aggiungere l'endpoint del server MCP alla configurazione dell'agente. Puoi anche usarlo con la CLI di Kiro, gli agenti personalizzati o altri agenti. MCP-compatible
- Implementazione aziendale
-
Gli agenti ospitati centralmente possono connettersi a più servizi con OpenSearch un unico componente. Questo agente supporta i sistemi di autenticazione OAuth e aziendali 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