opensearch-mcp-server-py
opensearch-mcp-server-py es un servidor de Protocolo de Contexto de Modelo (MCP) para OpenSearch que permite a los asistentes de IA interactuar con clústeres de OpenSearch. Proporciona una interfaz estandarizada para que los modelos de IA realicen operaciones como buscar índices, recuperar mapeos y gestionar shards a través de protocolos stdio y de transmisión (SSE/HTTP transmisible).
Documentación
- Servidor MCP de OpenSearch
- Instalación de opensearch-mcp-server-py
- Herramientas disponibles
- Guía de usuario
- Memoria del agente
- Contribuciones
- Código de conducta
- Licencia
- Derechos de autor
Servidor MCP de OpenSearch
opensearch-mcp-server-py es un servidor de Protocolo de Contexto de Modelo (MCP) para OpenSearch que permite a los asistentes de IA interactuar con clústeres de OpenSearch. Proporciona una interfaz estandarizada para que los modelos de IA realicen operaciones como buscar índices, recuperar mapeos y gestionar shards a través de protocolos stdio y streaming (SSE/HTTP transmisible).
Características clave:
- Integración perfecta con asistentes de IA y LLMs a través del protocolo MCP
- Soporte para transportes de servidor stdio y streaming (SSE y HTTP transmisible)
- Herramientas integradas para operaciones comunes de OpenSearch
- Parámetros de conexión dinámicos por llamada para apuntar a diferentes clústeres sin reconfigurar el servidor
- Integración fácil con Claude Desktop y LangChain
- Autenticación segura mediante autenticación básica, roles de IAM, autenticación basada en encabezados y mTLS de OpenSearch
Para una configuración detallada, incluido el despliegue en Kubernetes y la configuración de mTLS, consulte la Guía de usuario.
Instalación de opensearch-mcp-server-py
Opensearch-mcp-server-py se puede instalar desde PyPI mediante pip:
pip install opensearch-mcp-server-py
Configuración sin variables
El servidor se puede iniciar sin ninguna variable de entorno. Los agentes proporcionan los detalles de conexión dinámicamente en cada llamada a una herramienta:
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"]
}
}
}
Con esta configuración, los agentes pasan opensearch_url y los parámetros de autenticación directamente al llamar a cualquier herramienta. Esto es útil cuando los agentes descubren endpoints desde una base de conocimiento, un runbook o un SOP, o cuando un solo agente necesita trabajar con múltiples clústeres en una sesión. Consulte Parámetros de conexión dinámicos para más detalles.
Herramientas disponibles
De forma predeterminada, solo están habilitadas las herramientas principales para proporcionar funcionalidad esencial de OpenSearch:
Herramientas principales (habilitadas por defecto)
Las herramientas principales se agrupan bajo la categoría core_tools y se pueden deshabilitar de una vez usando OPENSEARCH_DISABLED_CATEGORIES=core_tools. Evite crear categorías personalizadas con este nombre, ya que sobrescribirían la categoría integrada.
- ListIndexTool: Lista todos los índices en OpenSearch con información completa, incluidos docs.count, docs.deleted, store.size, etc. Si se proporciona un parámetro de índice, devuelve información detallada sobre ese índice específico.
- IndexMappingTool: Recupera la información de mapeo y configuración de un índice en OpenSearch.
- SearchIndexTool: Busca en un índice usando una consulta escrita en lenguaje específico de dominio (DSL) de consultas en OpenSearch.
- GetShardsTool: Obtiene información sobre los shards en OpenSearch.
- ClusterHealthTool: Devuelve información básica sobre la salud del clúster.
- CountTool: Devuelve el número de documentos que coinciden con una consulta.
- ExplainTool: Devuelve información sobre por qué un documento específico coincide (o no coincide) con una consulta.
- MsearchTool: Permite ejecutar varias operaciones de búsqueda en una sola solicitud.
- [GenericOpenSearchApiTool]: Una herramienta flexible que puede llamar a cualquier endpoint de la API de OpenSearch con rutas, métodos, parámetros de consulta y cuerpos de solicitud personalizados. Reduce la proliferación de herramientas al proporcionar una interfaz única para todas las API de OpenSearch.
Herramientas adicionales (deshabilitadas por defecto)
Las siguientes herramientas están disponibles pero deshabilitadas por defecto. Para habilitarlas, consulte la sección Filtro de herramientas en la Guía de usuario.
- GetClusterStateTool: Obtiene el estado actual del clúster, incluida la información de nodos, configuraciones de índices y más.
- GetSegmentsTool: Obtiene información sobre los segmentos de Lucene en los índices, incluido el uso de memoria, recuentos de documentos y tamaños de segmentos.
- CatNodesTool: Obtiene información sobre los nodos en el clúster de OpenSearch, incluidas métricas del sistema como uso de CPU, memoria, espacio en disco y roles de nodo.
- GetNodesTool: Obtiene información detallada sobre los nodos en el clúster de OpenSearch, incluida información estática como detalles del sistema host, información de JVM, tipo de procesador, configuraciones de nodo, grupos de subprocesos, complementos instalados y más.
- GetIndexInfoTool: Obtiene información detallada sobre un índice, incluidos mapeos, configuraciones y alias. Admite comodines en los nombres de índices.
- GetIndexStatsTool: Obtiene estadísticas sobre un índice, incluido el recuento de documentos, tamaño de almacenamiento, métricas de rendimiento de indexación y búsqueda.
- GetQueryInsightsTool: Obtiene información de consultas del endpoint /_insights/top_queries, mostrando información sobre patrones de consulta y rendimiento.
- GetNodesHotThreadsTool: Obtiene información sobre hilos activos en los nodos del clúster desde el endpoint /_nodes/hot_threads.
- GetAllocationTool: Obtiene información sobre la asignación de shards entre los nodos del clúster desde el endpoint /_cat/allocation.
- GetLongRunningTasksTool: Obtiene información sobre tareas de larga duración en el clúster, ordenadas por tiempo de ejecución en orden descendente.
Herramientas de memoria agéntica (deshabilitadas por defecto)
Las siguientes herramientas exponen la API de memoria agéntica de OpenSearch, un sistema de memoria del lado del servidor integrado en el propio OpenSearch. El clúster de OpenSearch gestiona contenedores de memoria, sesiones e inferencia (extracción de hechos de conversaciones basada en LLM). Estas herramientas requieren OpenSearch 3.3.0 o posterior.
Cuándo usarlas: Desea que OpenSearch gestione todo el ciclo de vida de la memoria, incluida la inferencia basada en LLM para extraer hechos de conversaciones sin procesar, tipos de memoria estructurados (sesiones, trabajo, largo plazo, historial) y espacios de nombres gestionados por el servidor. Ideal para pipelines agénticos de producción donde la gestión de memoria debe centralizarse y no depender del cliente MCP.
Configuración: Debe crear un contenedor de memoria en OpenSearch antes de usar estas herramientas (operación administrativa única que requiere conector LLM y configuración del modelo de incrustación). Consulte Herramientas de memoria agéntica en la Guía de memoria del agente.
Habilítelas con OPENSEARCH_ENABLED_CATEGORIES=agentic_memory. Cuando memory_container_id está configurado mediante la sección de configuración agentic_memory o la variable de entorno OPENSEARCH_MEMORY_CONTAINER_ID, se rellena automáticamente en todas las llamadas a herramientas.
- CreateAgenticMemorySessionTool: Crea una nueva sesión dentro de un contenedor de memoria.
- AddAgenticMemoriesTool: Agrega memorias de datos conversacionales o estructurados a un contenedor.
- GetAgenticMemoryTool: Recupera una memoria específica por su ID y tipo.
- SearchAgenticMemoryTool: Busca memorias usando el DSL de consultas de OpenSearch.
- UpdateAgenticMemoryTool: Actualiza una memoria existente (admite campos específicos según el tipo de memoria).
- DeleteAgenticMemoryByIDTool: Elimina una memoria específica por su ID.
- DeleteAgenticMemoryByQueryTool: Elimina múltiples memorias que coinciden con un criterio de consulta.
Herramientas de observabilidad (deshabilitadas por defecto)
Las herramientas de observabilidad se agrupan bajo la categoría observability y se pueden habilitar usando OPENSEARCH_ENABLED_CATEGORIES=observability o agregando enabled_categories: [observability] al archivo de configuración. Alternativamente, habilite la categoría analytics para obtener tanto herramientas de observabilidad como de habilidades a la vez.
- PPLQueryTool: Ejecuta una consulta PPL (lenguaje de procesamiento canalizado) contra OpenSearch. PPL proporciona una sintaxis basada en tuberías para consultar datos (
source=<index> | <command> | <command>), con soporte para filtrado, agregación, ordenamiento, deduplicación y selección de campos. Admite formatos de salidajdbc,csvyraw.
Herramientas del banco de trabajo de relevancia de búsqueda (deshabilitadas por defecto)
Las herramientas del banco de trabajo de relevancia de búsqueda se agrupan bajo la categoría search_relevance y se pueden habilitar de una vez usando OPENSEARCH_ENABLED_CATEGORIES=search_relevance o agregando enabled_categories: [search_relevance] o agregando explícitamente herramientas individuales a su archivo de configuración. Consulte la sección Filtro de herramientas en la Guía de usuario para obtener información adicional sobre cómo filtrar herramientas.
- CreateSearchConfigurationTool: Crea una configuración de búsqueda que consiste en un nombre, un cuerpo de consulta (una consulta en lenguaje específico de dominio de consultas de OpenSearch) y el índice de destino.
- GetSearchConfigurationTool: Recupera una configuración de búsqueda por ID.
- DeleteSearchConfigurationTool: Elimina una configuración de búsqueda por ID.
- CreateQuerySetTool: Crea un conjunto de consultas que consiste en un nombre, una descripción y una lista de consultas.
- SampleQuerySetTool: Muestrea un conjunto de consultas basado en datos de UBI con diferentes técnicas de muestreo estadístico.
- GetQuerySetTool: Recupera un conjunto de consultas por ID.
- DeleteQuerySetTool: Elimina un conjunto de consultas por ID.
- CreateJudgmentListTool: Crea una lista de juicios con juicios provenientes de un proceso externo.
- CreateLLMJudgmentListTool: Crea una lista de juicios usando un LLM.
- CreateUBIJudgmentListTool: Crea una lista de juicios basada en comentarios implícitos (datos de información de comportamiento del usuario).
- GetJudgmentListTool: Recupera una lista de juicios por ID.
- DeleteJudgmentListTool: Elimina una lista de juicios por ID.
- CreateExperimentTool: Crea un experimento de relevancia de búsqueda. Admite PAIRWISE_COMPARISON (compara 2 configuraciones de búsqueda), POINTWISE_EVALUATION (evalúa 1 configuración contra listas de juicios) e HYBRID_OPTIMIZER (optimiza 1 configuración usando listas de juicios).
- GetExperimentTool: Recupera un experimento por ID.
- DeleteExperimentTool: Elimina un experimento por ID.
- SearchQuerySetsTool: Busca conjuntos de consultas usando el DSL de consultas de OpenSearch. Usa match_all por defecto si no se proporciona un cuerpo de consulta.
- SearchSearchConfigurationsTool: Busca configuraciones de búsqueda usando el DSL de consultas de OpenSearch. Usa match_all por defecto si no se proporciona un cuerpo de consulta.
- SearchJudgmentsTool: Busca juicios usando el DSL de consultas de OpenSearch. Usa match_all por defecto si no se proporciona un cuerpo de consulta.
- SearchExperimentsTool: Busca experimentos usando el DSL de consultas de OpenSearch. Usa match_all por defecto si no se proporciona un cuerpo de consulta.
Herramientas de habilidades (deshabilitadas por defecto)
Las herramientas de habilidades se agrupan bajo la categoría skills y se pueden habilitar de una vez usando OPENSEARCH_ENABLED_CATEGORIES=skills o agregando enabled_categories: [skills] al archivo de configuración. Alternativamente, habilite la categoría analytics para obtener tanto herramientas de habilidades como de observabilidad a la vez. Consulte la sección Filtro de herramientas en la Guía de usuario para obtener información adicional sobre cómo filtrar herramientas.
- DataDistributionTool: Analiza patrones de distribución de datos y frecuencias de valores de campos dentro de índices de OpenSearch. Admite tanto análisis de un solo conjunto de datos como análisis comparativo entre dos períodos de tiempo para identificar cambios en la distribución.
- LogPatternAnalysisTool: Detecta patrones y secuencias de registros anómalos mediante análisis comparativo entre rangos de tiempo de referencia y selección. Admite análisis de secuencias de registros con correlación de trazas, análisis de diferencias de patrones de registros y análisis de información de registros para detección de errores.
- MetricChangeAnalysisTool: Compara distribuciones percentiles (P50, P90) de todos los campos numéricos entre un rango de tiempo de referencia y uno de selección, y luego devuelve los campos principales clasificados por puntuación de cambio. Útil para identificar qué métricas numéricas cambiaron más durante una ventana de anomalía.
Herramientas de memoria (opt-in)
Las herramientas de memoria le dan al propio agente MCP una memoria persistente entre sesiones, respaldada por OpenSearch. El agente decide qué guardar como declaraciones de texto plano; OpenSearch las almacena y las indexa semánticamente. Habilítelas con MEMORY_TOOLS_ENABLED=true. Consulte la Guía de memoria del agente para obtener instrucciones completas de configuración.
Cuándo usarlas: Desea una capa de memoria ligera y controlada por el agente que funcione con cualquier IDE compatible con MCP (Kiro, Claude Code, Cursor). El agente controla qué se recuerda: no necesita conectores LLM ni modelos de incrustación que configurar en el lado de OpenSearch. Requiere Amazon OpenSearch Service (dominio administrado 2.19+ o Serverless) para el enriquecimiento semántico automático. Consulte la Guía de memoria del agente para obtener instrucciones completas de configuración.
- SaveMemoryTool: Guarda hechos, decisiones y preferencias en almacenamiento persistente con enriquecimiento semántico automático.
- SearchMemoryTool: Busca memorias usando lenguaje natural con clasificación sensible a la actualidad.
- DeleteMemoryTool: Elimina memorias desactualizadas o incorrectas por ID de documento.
Parámetros de las herramientas
Todas las herramientas aceptan los siguientes parámetros de conexión opcionales que anulan la configuración de variables de entorno del servidor en cada llamada. Cuando se omiten todos, el servidor usa sus variables de entorno configuradas o la configuración del clúster como de costumbre. Cuando se proporciona opensearch_url, las credenciales deben provenir de esa misma llamada: el servidor no usará sus propias credenciales contra una URL elegida por el llamador, a menos que el operador establezca OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true para compartir sus credenciales de AWS.
| Parámetro | Tipo | Descripción |
|---|---|---|
opensearch_url | string | URL del endpoint de OpenSearch. Anula OPENSEARCH_URL. |
opensearch_username | string | Nombre de usuario para autenticación básica. Anula OPENSEARCH_USERNAME. |
opensearch_password | string | Contraseña para autenticación básica. Anula OPENSEARCH_PASSWORD. |
opensearch_no_auth | boolean | Conectar sin autenticación. Anula OPENSEARCH_NO_AUTH. |
aws_region | string | Región de AWS. Anula AWS_REGION. |
aws_iam_arn | string | ARN del rol IAM. Anula AWS_IAM_ARN. |
aws_profile | string | Nombre del perfil de AWS. Anula AWS_PROFILE. |
aws_opensearch_serverless | boolean | Usar OpenSearch Serverless. Anula AWS_OPENSEARCH_SERVERLESS. |
opensearch_ssl_verify | boolean | Establecer como true para requerir verificación de certificado SSL. Un valor false se ignora, ya que solo OPENSEARCH_SSL_VERIFY puede deshabilitarlo. |
opensearch_timeout | integer | Tiempo de espera de conexión en segundos. Anula OPENSEARCH_TIMEOUT. |
Esto permite a los agentes apuntar dinámicamente a diferentes clústeres por llamada de herramienta sin reconfigurar el servidor (solo modo único). Las credenciales deben provenir de la misma llamada que la URL, a menos que OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true permita al servidor firmar URLs proporcionadas por el llamador con sus propias credenciales de AWS. OPENSEARCH_SSRF_GUARD=true restringe las URLs proporcionadas por el llamador a direcciones HTTPS públicas. Consulte Parámetros de conexión dinámicos en la Guía del usuario para obtener detalles y ejemplos.
Además de los parámetros de conexión comunes anteriores, cada herramienta acepta sus propios parámetros específicos:
Nota: El parámetro
opensearch_urlque se enumera en las herramientas individuales a continuación es parte de los parámetros de conexión comunes descritos anteriormente. Todos los parámetros de conexión comunes (opensearch_username,opensearch_password,aws_region, etc.) están disponibles en todas las herramientas, pero no se repiten en la lista de parámetros de cada herramienta por brevedad.
-
ListIndexTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(opcional): El nombre del índice del que obtener información detallada. Si se proporciona, devuelve información detallada sobre este índice específico en lugar de listar todos los índices.
-
IndexMappingTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice del que recuperar las asignaciones
-
SearchIndexTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice en el que buscarquery_dsl(obligatorio): La consulta de búsqueda en formato OpenSearch Query DSLformat(opcional): El formato de la respuesta de SearchIndexTool. Las opciones son csv y jsonsize(opcional): El tamaño de la respuesta de SearchIndexTool. El valor predeterminado es 10, el máximo es 100 (configurable). Para cambiar el límite máximo, establezcamax_size_limitmediante argumentos de CLI o archivo de configuración. Consulte Personalización de herramientas para obtener detalles.
-
GetShardsTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice del que obtener información de fragmentos
-
ClusterHealthTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(opcional): Limitar el informe de salud a un índice específico
-
CountTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(opcional): El nombre del índice en el que contar documentosbody(opcional): Consulta en formato JSON para filtrar documentos
-
ExplainTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice del que recuperar el documentoid(obligatorio): El ID del documento a explicarbody(obligatorio): Consulta en formato JSON para explicar contra el documento
-
MsearchTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(opcional): Índice predeterminado en el que buscarbody(obligatorio): Cuerpo de solicitud de búsqueda múltiple en formato NDJSON
-
GetClusterStateTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarsemetric(opcional): Limitar la información devuelta a las métricas especificadas. Las opciones incluyen: _all, blocks, metadata, nodes, routing_table, routing_nodes, master_node, versionindex(opcional): Limitar la información devuelta a los índices especificados
-
GetSegmentsTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(opcional): Limitar la información devuelta a los índices especificados. Si no se proporciona, devuelve segmentos para todos los índices
-
CatNodesTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarsemetrics(opcional): Una lista separada por comas de métricas para mostrar. Las métricas disponibles incluyen: id, name, ip, port, role, master, heap.percent, ram.percent, cpu, load_1m, load_5m, load_15m, disk.total, disk.used, disk.avail, disk.used_percent
-
GetNodesTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarsenode_id(opcional): Una lista separada por comas de IDs o nombres de nodos para limitar la información devuelta. Admite filtros de nodos como _local, _master, master:true, data:false, etc. El valor predeterminado es _all.metric(opcional): Una lista separada por comas de grupos de métricas para incluir en la respuesta. Las opciones incluyen: settings, os, process, jvm, thread_pool, transport, http, plugins, ingest, aggregations, indices. El valor predeterminado son todas las métricas.
-
GetIndexInfoTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice del que obtener información detallada. Se admiten comodines.
-
GetIndexStatsTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarseindex(obligatorio): El nombre del índice del que obtener estadísticas. Se admiten comodines.metric(opcional): Limitar la información devuelta a las métricas especificadas. Las opciones incluyen: _all, completion, docs, fielddata, flush, get, indexing, merge, query_cache, refresh, request_cache, search, segments, store, warmer, bulk
-
GetQueryInsightsTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarse
-
GetNodesHotThreadsTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarse
-
GetAllocationTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarse
-
GetLongRunningTasksTool
opensearch_url(opcional): La URL del clúster de OpenSearch a la que conectarselimit(opcional): El número máximo de tareas a devolver. El valor predeterminado es 10.
-
CreateAgenticMemorySessionTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria donde se creará la sesión. Se establece automáticamente cuando se configura mediante la configuraciónagentic_memoryo la variable de entornoOPENSEARCH_MEMORY_CONTAINER_ID. (Parámetro de ruta)session_id(opcional): Un ID de sesión personalizado. Si no se proporciona, se genera un ID aleatorio. (Parámetro de cuerpo)summary(opcional): Un resumen o descripción de la sesión. (Parámetro de cuerpo)metadata(opcional): Metadatos adicionales para la sesión proporcionados como pares clave-valor. (Parámetro de cuerpo)namespace(opcional): Información de espacio de nombres para organizar la sesión. (Parámetro de cuerpo)
-
AddAgenticMemoriesTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria al que agregar la memoria. Se establece automáticamente cuando se configura. (Parámetro de ruta)messages(condicional): Una lista de mensajes. Obligatorio cuandopayload_typeesconversational. (Parámetro de cuerpo)structured_data(condicional): Contenido de datos estructurados. Obligatorio cuandopayload_typeesdata. (Parámetro de cuerpo)binary_data(opcional): Contenido de datos binarios codificado como una cadena Base64 para cargas útiles binarias. (Parámetro de cuerpo)payload_type(obligatorio): El tipo de carga útil. Los valores válidos sonconversationalodata. Consulte Tipos de carga útil. (Parámetro de cuerpo)namespace(opcional): El contexto de espacio de nombres para organizar memorias (por ejemplo,user_id,session_idoagent_id). Sisession_idno se especifica en el campo de espacio de nombres ydisable_session:false(el valor predeterminado estrue), se crea una nueva sesión con un nuevo ID de sesión. (Parámetro de cuerpo)metadata(opcional): Metadatos adicionales para la memoria (por ejemplo,status,brancho campos personalizados). (Parámetro de cuerpo)tags(opcional): Etiquetas para categorizar memorias. (Parámetro de cuerpo)infer(opcional): Si se debe usar un LLM para extraer información clave (predeterminado:false). Cuandotrue, el LLM extrae información clave del texto original y la almacena como memoria. Consulte Modo de inferencia. (Parámetro de cuerpo)
-
GetAgenticMemoryTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria del que recuperar la memoria. Se establece automáticamente cuando se configura. (Parámetro de ruta)type(obligatorio): El tipo de memoria. Los valores válidos sonsessions,working,long-termyhistory. (Parámetro de ruta)id(obligatorio): El ID de la memoria a recuperar. (Parámetro de ruta)
-
SearchAgenticMemoryTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria. Se establece automáticamente cuando se configura. (Parámetro de ruta)type(obligatorio): El tipo de memoria. Los valores válidos sonsessions,working,long-termyhistory. (Parámetro de ruta)query(obligatorio): La consulta de búsqueda usando query DSL de OpenSearch. (Parámetro de cuerpo)sort(opcional): Especificación de ordenación para los resultados de búsqueda. (Parámetro de cuerpo)
-
UpdateAgenticMemoryTool
-
memory_container_id(auto-rellenado): El ID del contenedor de memoria. Se establece automáticamente al configurarse. (Parámetro de ruta)type(obligatorio): El tipo de memoria (sessions,workingolong-term). (Parámetro de ruta)id(obligatorio): El ID de la memoria a actualizar. (Parámetro de ruta)- Campos de solicitud de memoria de sesión:
summary(opcional): El resumen de la sesión. (Parámetro del cuerpo)metadata(opcional): Metadatos adicionales para la memoria (por ejemplo,status,brancho campos personalizados). (Parámetro del cuerpo)agents(opcional): Información adicional sobre los agentes. (Parámetro del cuerpo)additional_info(opcional): Metadatos adicionales para asociar con la sesión. (Parámetro del cuerpo)
- Campos de solicitud de memoria de trabajo
messages(opcional): Mensajes de conversación actualizados (para tipo de conversación). (Parámetro del cuerpo)structured_data(opcional): Contenido de datos estructurados actualizado (para cargas útiles de memoria de datos). (Parámetro del cuerpo)binary_data(opcional): Contenido de datos binarios actualizado (para cargas útiles de memoria de datos). (Parámetro del cuerpo)tags(opcional): Etiquetas actualizadas para categorización. (Parámetro del cuerpo)metadata(opcional): Metadatos adicionales para la memoria (por ejemplo,status,brancho campos personalizados). (Parámetro del cuerpo)
- Campos de solicitud de memoria a largo plazo
memory(opcional): El contenido de memoria actualizado. (Parámetro del cuerpo)tags(opcional): Etiquetas actualizadas para categorización. (Parámetro del cuerpo)
-
DeleteAgenticMemoryByIDTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria del cual eliminar la memoria. Se establece automáticamente al configurarse. (Parámetro de ruta)type(obligatorio): El tipo de memoria a eliminar. Los valores válidos sonsessions,working,long-termyhistory. (Parámetro de ruta)id(obligatorio): El ID de la memoria específica a eliminar. (Parámetro de ruta)
-
DeleteAgenticMemoryByQueryTool
memory_container_id(auto-rellenado): El ID del contenedor de memoria del cual eliminar la memoria. Se establece automáticamente al configurarse. (Parámetro de ruta)type(obligatorio): El tipo de memoria a eliminar. Los valores válidos sonsessions,working,long-termyhistory. (Parámetro de ruta)query(obligatorio): La consulta DSL de OpenSearch para coincidir con las memorias a eliminar. (Parámetro del cuerpo)
-
DataDistributionTool
index(obligatorio): Nombre del índice de OpenSearch de destino.selectionTimeRangeStart(obligatorio): Hora de inicio para el período objetivo del análisis.selectionTimeRangeEnd(obligatorio): Hora de finalización para el período objetivo del análisis.timeField(obligatorio): Campo de fecha/hora para el filtrado.baselineTimeRangeStart(opcional): Hora de inicio para el período de referencia.baselineTimeRangeEnd(opcional): Hora de finalización para el período de referencia.size(opcional): Número máximo de documentos a analizar. El valor predeterminado es 1000.
-
LogPatternAnalysisTool
index(obligatorio): Nombre del índice de OpenSearch de destino que contiene datos de registros.logFieldName(obligatorio): Campo que contiene los mensajes de registro sin procesar a analizar.selectionTimeRangeStart(obligatorio): Hora de inicio para el período objetivo del análisis.selectionTimeRangeEnd(obligatorio): Hora de finalización para el período objetivo del análisis.timeField(obligatorio): Campo de fecha/hora para el filtrado basado en tiempo.traceFieldName(opcional): Campo para el ID de rastreo/correlación.baseTimeRangeStart(opcional): Hora de inicio para el período de comparación de referencia.baseTimeRangeEnd(opcional): Hora de finalización para el período de comparación de referencia.
-
MetricChangeAnalysisTool
index(obligatorio): Nombre del índice de OpenSearch de destino.selectionTimeRangeStart(obligatorio): Inicio del período de selección (anomalía).selectionTimeRangeEnd(obligatorio): Fin del período de selección (anomalía).baselineTimeRangeStart(obligatorio): Inicio del período de referencia.baselineTimeRangeEnd(obligatorio): Fin del período de referencia (debe ser igual o anterior aselectionTimeRangeStart).timeField(obligatorio): Campo de fecha/hora para el filtrado.topN(opcional): Número de campos principales a devolver, clasificados por puntuación de cambio. El valor predeterminado es 10.size(opcional): Número máximo de documentos a analizar. El valor predeterminado es 1000.
Más herramientas próximamente. Haga clic aquí
Guía de usuario
Para instrucciones de uso detalladas, opciones de configuración y ejemplos, consulte la Guía de usuario.
Memoria del agente
El servidor MCP de OpenSearch incluye dos sistemas de memoria distintos. Ambos utilizan OpenSearch como backend de almacenamiento, pero difieren en quién controla el ciclo de vida de la memoria y qué infraestructura requieren.
Cómo elegir el enfoque adecuado
Herramientas de memoria (MEMORY_TOOLS_ENABLED) | Herramientas de memoria agéntica (categoría agentic_memory) | |
|---|---|---|
| Quién almacena las memorias | El agente MCP decide qué guardar como declaraciones de texto plano | OpenSearch procesa conversaciones sin procesar y extrae hechos mediante inferencia LLM |
| Complejidad de configuración | Baja: el índice se crea automáticamente en el primer uso | Alta: requiere crear un contenedor de memoria con conector LLM y modelo de incrustación |
| Versión de OpenSearch | Amazon OpenSearch Service 2.19+ o Serverless | OpenSearch 3.3.0+ |
| Búsqueda semántica | Sí, mediante el enriquecimiento semántico automático de AWS | Sí, mediante el modelo de incrustación configurado |
| Estructura de memoria | Plana: cada memoria es una declaración de texto plano | Estructurada: tipos de sesión, trabajo, largo plazo e historial |
| Inferencia LLM | No: el agente escribe exactamente lo que quiere recordar | Opcional (infer: true): OpenSearch utiliza un LLM para extraer hechos de las conversaciones |
| Ideal para | Agentes IDE (Kiro, Claude Code, Cursor) que necesitan configuración rápida y continuidad entre sesiones | Pipelines agénticos de producción donde la gestión de memoria debe centralizarse y ser propiedad del servidor |
Use las herramientas de memoria cuando desee una capa de memoria ligera controlada por el agente que funcione de inmediato con cualquier IDE compatible con MCP. El agente controla lo que se recuerda. Consulte la Guía de memoria del agente para la configuración.
Use las herramientas de memoria agéntica cuando desee que OpenSearch posea todo el ciclo de vida de la memoria, incluida la extracción de hechos basada en LLM de conversaciones sin procesar, tipos de memoria estructurados y espacios de nombres gestionados por el servidor. Consulte la Guía de memoria del agente para la configuración.
Contribuciones
¿Interesado en contribuir? Consulte nuestros:
- Guía de desarrollo: configure su entorno de desarrollo
- Pautas de contribución: aprenda cómo contribuir
Código de conducta
Este proyecto ha adoptado el Código de conducta de código abierto de Amazon. Para obtener más información, consulte las Preguntas frecuentes sobre el código de conducta o contacte a opensource-codeofconduct@amazon.com con cualquier pregunta o comentario adicional.
Licencia
Este proyecto está licenciado bajo la Licencia Apache v2.0.
Derechos de autor
Copyright 2020-2021 Amazon.com, Inc. o sus afiliados. Todos los derechos reservados.