opensearch-mcp-server-py
opensearch-mcp-server-py é um servidor de Protocolo de Contexto de Modelo (MCP) para OpenSearch que permite que assistentes de IA interajam com clusters OpenSearch. Ele fornece uma interface padronizada para modelos de IA executarem operações como busca em índices, recuperação de mapeamentos e gerenciamento de shards por meio dos protocolos stdio e streaming (SSE/HTTP transmissível).
Documentação
- OpenSearch MCP Server
- Instalando opensearch-mcp-server-py
- Ferramentas disponíveis
- Guia do Usuário
- Memória do Agente
- Contribuindo
- Código de Conduta
- Licença
- Direitos Autorais
OpenSearch MCP Server
opensearch-mcp-server-py é um servidor Model Context Protocol (MCP) para OpenSearch que permite que assistentes de IA interajam com clusters OpenSearch. Ele fornece uma interface padronizada para que modelos de IA realizem operações como pesquisar índices, recuperar mapeamentos e gerenciar shards por meio dos protocolos stdio e streaming (SSE/Streamable HTTP).
Principais recursos:
- Integração perfeita com assistentes de IA e LLMs por meio do protocolo MCP
- Suporte para transportes de servidor stdio e streaming (SSE e Streamable HTTP)
- Ferramentas integradas para operações comuns do OpenSearch
- Parâmetros de conexão dinâmicos por chamada para segmentar diferentes clusters sem reconfiguração do servidor
- Integração fácil com Claude Desktop e LangChain
- Autenticação segura usando autenticação básica, papéis IAM, autenticação baseada em cabeçalho e mTLS do OpenSearch
Para configuração detalhada, incluindo implantação em Kubernetes e configuração de mTLS, consulte o Guia do Usuário.
Instalando opensearch-mcp-server-py
Opensearch-mcp-server-py pode ser instalado a partir do PyPI via pip:
pip install opensearch-mcp-server-py
Configuração Zero-Config
O servidor pode ser iniciado sem nenhuma variável de ambiente. Os agentes fornecem detalhes de conexão dinamicamente em cada chamada de ferramenta:
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"]
}
}
}
Com esta configuração, os agentes passam opensearch_url e parâmetros de autenticação diretamente ao chamar qualquer ferramenta. Isso é útil quando os agentes descobrem endpoints a partir de uma base de conhecimento, runbook ou SOP, ou quando um único agente precisa trabalhar com vários clusters em uma única sessão. Consulte Parâmetros de Conexão Dinâmicos para detalhes.
Ferramentas Disponíveis
Por padrão, apenas ferramentas principais estão habilitadas para fornecer funcionalidade essencial do OpenSearch:
Ferramentas Principais (Habilitadas por Padrão)
As ferramentas principais são agrupadas sob a categoria core_tools e podem ser desabilitadas de uma vez usando OPENSEARCH_DISABLED_CATEGORIES=core_tools. Evite criar categorias personalizadas com este nome, pois elas substituirão a categoria integrada.
- ListIndexTool: Lista todos os índices no OpenSearch com informações completas, incluindo docs.count, docs.deleted, store.size, etc. Se um parâmetro de índice for fornecido, retorna informações detalhadas sobre esse índice específico.
- IndexMappingTool: Recupera informações de mapeamento e configurações de índice para um índice no OpenSearch.
- SearchIndexTool: Pesquisa um índice usando uma consulta escrita em linguagem específica de domínio (DSL) de consulta no OpenSearch.
- GetShardsTool: Obtém informações sobre shards no OpenSearch.
- ClusterHealthTool: Retorna informações básicas sobre a saúde do cluster.
- CountTool: Retorna o número de documentos que correspondem a uma consulta.
- ExplainTool: Retorna informações sobre por que um documento específico corresponde (ou não corresponde) a uma consulta.
- MsearchTool: Permite executar várias operações de pesquisa em uma única solicitação.
- [GenericOpenSearchApiTool]: Uma ferramenta flexível que pode chamar qualquer endpoint da API OpenSearch com caminhos, métodos, parâmetros de consulta e corpos de solicitação personalizados. Reduz a proliferação de ferramentas fornecendo uma interface única para todas as APIs do OpenSearch.
Ferramentas Adicionais (Desabilitadas por Padrão)
As seguintes ferramentas estão disponíveis, mas desabilitadas por padrão. Para habilitá-las, consulte a seção Filtro de Ferramentas no Guia do Usuário.
- GetClusterStateTool: Obtém o estado atual do cluster, incluindo informações de nós, configurações de índices e mais.
- GetSegmentsTool: Obtém informações sobre segmentos Lucene em índices, incluindo uso de memória, contagens de documentos e tamanhos de segmentos.
- CatNodesTool: Obtém informações sobre nós no cluster OpenSearch, incluindo métricas do sistema como uso de CPU, memória, espaço em disco e papéis dos nós.
- GetNodesTool: Obtém informações detalhadas sobre nós no cluster OpenSearch, incluindo informações estáticas como detalhes do sistema host, informações JVM, tipo de processador, configurações de nós, pools de threads, plugins instalados e mais.
- GetIndexInfoTool: Obtém informações detalhadas sobre um índice, incluindo mapeamentos, configurações e aliases. Suporta curingas em nomes de índices.
- GetIndexStatsTool: Obtém estatísticas sobre um índice, incluindo contagem de documentos, tamanho de armazenamento, métricas de desempenho de indexação e pesquisa.
- GetQueryInsightsTool: Obtém insights de consultas do endpoint /_insights/top_queries, mostrando informações sobre padrões de consulta e desempenho.
- GetNodesHotThreadsTool: Obtém informações sobre threads ativos nos nós do cluster a partir do endpoint /_nodes/hot_threads.
- GetAllocationTool: Obtém informações sobre a alocação de shards entre os nós do cluster a partir do endpoint /_cat/allocation.
- GetLongRunningTasksTool: Obtém informações sobre tarefas de longa duração no cluster, ordenadas por tempo de execução em ordem decrescente.
Ferramentas de Memória Agentic (Desabilitadas por Padrão)
As seguintes ferramentas expõem a API de Memória Agentic do OpenSearch — um sistema de memória no lado do servidor integrado ao próprio OpenSearch. O cluster OpenSearch gerencia contêineres de memória, sessões e inferência (extração de fatos de conversas baseada em LLM). Essas ferramentas exigem OpenSearch 3.3.0 ou posterior.
Quando usar: Você deseja que o OpenSearch possua todo o ciclo de vida da memória — incluindo inferência baseada em LLM para extrair fatos de conversas brutas, tipos de memória estruturados (sessões, trabalho, longo prazo, histórico) e namespacing gerenciado pelo servidor. Melhor para pipelines agentic de produção onde o gerenciamento de memória deve ser centralizado e não depender do cliente MCP.
Configuração: Você deve criar um contêiner de memória no OpenSearch antes de usar essas ferramentas (operação administrativa única que requer conector LLM e configuração do modelo de embedding). Consulte Ferramentas de Memória Agentic no Guia de Memória do Agente.
Habilite com OPENSEARCH_ENABLED_CATEGORIES=agentic_memory. Quando memory_container_id é configurado por meio da seção de configuração agentic_memory ou da variável de ambiente OPENSEARCH_MEMORY_CONTAINER_ID, ele é automaticamente pré-preenchido em todas as chamadas de ferramenta.
- CreateAgenticMemorySessionTool: Cria uma nova sessão dentro de um contêiner de memória.
- AddAgenticMemoriesTool: Adiciona memórias de dados conversacionais ou estruturados a um contêiner.
- GetAgenticMemoryTool: Recupera uma memória específica por seu ID e tipo.
- SearchAgenticMemoryTool: Pesquisa memórias usando OpenSearch Query DSL.
- UpdateAgenticMemoryTool: Atualiza uma memória existente (suporta campos específicos com base no tipo de memória).
- DeleteAgenticMemoryByIDTool: Exclui uma memória específica por seu ID.
- DeleteAgenticMemoryByQueryTool: Exclui várias memórias que correspondem a critérios de consulta.
Ferramentas de Observabilidade (Desabilitadas por Padrão)
As ferramentas de observabilidade são agrupadas sob a categoria observability e podem ser habilitadas usando OPENSEARCH_ENABLED_CATEGORIES=observability ou adicionando enabled_categories: [observability] ao arquivo de configuração. Alternativamente, habilite a categoria analytics para obter ferramentas de observabilidade e habilidades de uma só vez.
- PPLQueryTool: Executa uma consulta PPL (Piped Processing Language) contra o OpenSearch. PPL fornece uma sintaxe baseada em pipes para consultar dados (
source=<index> | <command> | <command>), suportando filtragem, agregação, ordenação, deduplicação e seleção de campos. Suporta formatos de saídajdbc,csveraw.
Ferramentas do Search Relevance Workbench (Desabilitadas por Padrão)
As ferramentas do Search Relevance Workbench são agrupadas sob a categoria search_relevance e podem ser habilitadas de uma vez usando OPENSEARCH_ENABLED_CATEGORIES=search_relevance ou adicionando enabled_categories: [search_relevance] ou adicionando explicitamente ferramentas individuais ao arquivo de configuração. Consulte a seção Filtro de Ferramentas no Guia do Usuário para informações adicionais sobre como filtrar ferramentas.
- CreateSearchConfigurationTool: Cria uma configuração de pesquisa composta por um nome, um corpo de consulta (uma consulta em linguagem específica de domínio de consulta do OpenSearch) e o índice de destino.
- GetSearchConfigurationTool: Recupera uma configuração de pesquisa por ID.
- DeleteSearchConfigurationTool: Exclui uma configuração de pesquisa por ID.
- CreateQuerySetTool: Cria um conjunto de consultas composto por um nome, uma descrição e uma lista de consultas.
- SampleQuerySetTool: Amostra um conjunto de consultas com base em dados UBI com diferentes técnicas de amostragem estatística.
- GetQuerySetTool: Recupera um conjunto de consultas por ID.
- DeleteQuerySetTool: Exclui um conjunto de consultas por ID.
- CreateJudgmentListTool: Cria uma lista de julgamentos com julgamentos originados de um processo externo.
- CreateLLMJudgmentListTool: Cria uma lista de julgamentos usando um LLM.
- CreateUBIJudgmentListTool: Cria uma lista de julgamentos com base em feedback implícito (dados de User Behavior Insights).
- GetJudgmentListTool: Recupera uma lista de julgamentos por ID.
- DeleteJudgmentListTool: Exclui uma lista de julgamentos por ID.
- CreateExperimentTool: Cria um experimento de relevância de pesquisa. Suporta PAIRWISE_COMPARISON (compara 2 configurações de pesquisa), POINTWISE_EVALUATION (avalia 1 configuração contra listas de julgamentos) e HYBRID_OPTIMIZER (otimiza 1 configuração usando listas de julgamentos).
- GetExperimentTool: Recupera um experimento por ID.
- DeleteExperimentTool: Exclui um experimento por ID.
- SearchQuerySetsTool: Pesquisa conjuntos de consultas usando OpenSearch query DSL. Padrão para match_all se nenhum corpo de consulta for fornecido.
- SearchSearchConfigurationsTool: Pesquisa configurações de pesquisa usando OpenSearch query DSL. Padrão para match_all se nenhum corpo de consulta for fornecido.
- SearchJudgmentsTool: Pesquisa julgamentos usando OpenSearch query DSL. Padrão para match_all se nenhum corpo de consulta for fornecido.
- SearchExperimentsTool: Pesquisa experimentos usando OpenSearch query DSL. Padrão para match_all se nenhum corpo de consulta for fornecido.
Ferramentas de Habilidades (Desabilitadas por Padrão)
As ferramentas de habilidades são agrupadas sob a categoria skills e podem ser habilitadas de uma vez usando OPENSEARCH_ENABLED_CATEGORIES=skills ou adicionando enabled_categories: [skills] ao arquivo de configuração. Alternativamente, habilite a categoria analytics para obter ferramentas de habilidades e observabilidade de uma só vez. Consulte a seção Filtro de Ferramentas no Guia do Usuário para informações adicionais sobre como filtrar ferramentas.
- DataDistributionTool: Analisa padrões de distribuição de dados e frequências de valores de campos dentro de índices OpenSearch. Suporta análise de conjunto de dados único e análise comparativa entre dois períodos de tempo para identificar mudanças na distribuição.
- LogPatternAnalysisTool: Detecta padrões e sequências de logs anômalos por meio de análise comparativa entre intervalos de tempo de linha de base e seleção. Suporta análise de sequência de logs com correlação de rastreamento, análise de diferença de padrões de logs e análise de insights de logs para detecção de erros.
- MetricChangeAnalysisTool: Compara distribuições percentis (P50, P90) de todos os campos numéricos entre uma linha de base e um intervalo de tempo de seleção e, em seguida, retorna os principais campos classificados por pontuação de mudança. Útil para identificar quais métricas numéricas mudaram mais durante uma janela de anomalia.
Ferramentas de Memória (Opt-in)
As ferramentas de memória dão ao próprio agente MCP uma memória persistente e entre sessões, apoiada pelo OpenSearch. O agente decide o que salvar como declarações em texto simples; o OpenSearch as armazena e as indexa semanticamente. Ative com MEMORY_TOOLS_ENABLED=true. Consulte o Guia de Memória do Agente para instruções completas de configuração.
Quando usar: Você quer uma camada de memória leve e dirigida pelo agente que funcione com qualquer IDE compatível com MCP (Kiro, Claude Code, Cursor). O agente controla o que é lembrado — sem conectores de LLM ou modelos de embedding para configurar no lado do OpenSearch. Requer o Amazon OpenSearch Service (domínio gerenciado 2.19+ ou Serverless) para enriquecimento semântico automático. Consulte o Guia de Memória do Agente para instruções completas de configuração.
- SaveMemoryTool: Salva fatos, decisões e preferências em armazenamento persistente com enriquecimento semântico automático.
- SearchMemoryTool: Pesquisa memórias usando linguagem natural com classificação ciente de recência.
- DeleteMemoryTool: Remove memórias desatualizadas ou incorretas por ID do documento.
Parâmetros da Ferramenta
Todas as ferramentas aceitam os seguintes parâmetros de conexão opcionais que substituem a configuração de variáveis de ambiente do servidor em uma base por chamada. Quando todos são omitidos, o servidor usa suas variáveis de ambiente configuradas ou a configuração do cluster como de costume. Quando você fornece opensearch_url, as credenciais devem vir dessa mesma chamada: o servidor não usará suas próprias credenciais contra uma URL escolhida pelo chamador, a menos que o operador defina OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true para compartilhar suas credenciais AWS.
| Parâmetro | Tipo | Descrição |
|---|---|---|
opensearch_url | string | URL do endpoint do OpenSearch. Substitui OPENSEARCH_URL. |
opensearch_username | string | Nome de usuário para autenticação básica. Substitui OPENSEARCH_USERNAME. |
opensearch_password | string | Senha para autenticação básica. Substitui OPENSEARCH_PASSWORD. |
opensearch_no_auth | boolean | Conectar sem autenticação. Substitui OPENSEARCH_NO_AUTH. |
aws_region | string | Região AWS. Substitui AWS_REGION. |
aws_iam_arn | string | ARN da função IAM. Substitui AWS_IAM_ARN. |
aws_profile | string | Nome do perfil AWS. Substitui AWS_PROFILE. |
aws_opensearch_serverless | boolean | Usar OpenSearch Serverless. Substitui AWS_OPENSEARCH_SERVERLESS. |
opensearch_ssl_verify | boolean | Defina como true para exigir verificação de certificado SSL. Um valor false é ignorado, pois apenas OPENSEARCH_SSL_VERIFY pode desativá-lo. |
opensearch_timeout | integer | Tempo limite de conexão em segundos. Substitui OPENSEARCH_TIMEOUT. |
Isso permite que os agentes direcionem dinamicamente diferentes clusters por chamada de ferramenta sem reconfigurar o servidor (somente modo único). As credenciais devem vir da mesma chamada que a URL, a menos que OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true permita que o servidor assine URLs fornecidas pelo chamador com suas próprias credenciais AWS. OPENSEARCH_SSRF_GUARD=true restringe URLs fornecidas pelo chamador a endereços HTTPS públicos. Consulte Parâmetros de Conexão Dinâmicos no Guia do Usuário para detalhes e exemplos.
Além dos parâmetros de conexão comuns acima, cada ferramenta aceita seus próprios parâmetros específicos:
Nota: O parâmetro
opensearch_urllistado nas ferramentas individuais abaixo faz parte dos parâmetros de conexão comuns descritos acima. Todos os parâmetros de conexão comuns (opensearch_username,opensearch_password,aws_region, etc.) estão disponíveis em todas as ferramentas, mas não são repetidos na lista de parâmetros de cada ferramenta por brevidade.
-
ListIndexTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(opcional): O nome do índice para obter informações detalhadas. Se fornecido, retorna informações detalhadas sobre este índice específico em vez de listar todos os índices.
-
IndexMappingTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para recuperar mapeamentos
-
SearchIndexTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para pesquisarquery_dsl(obrigatório): A consulta de pesquisa no formato OpenSearch Query DSLformat(opcional): O formato da resposta do SearchIndexTool. As opções são csv e jsonsize(opcional): O tamanho da resposta do SearchIndexTool. O padrão é 10, o máximo é 100 (configurável). Para alterar o limite máximo, definamax_size_limitvia argumentos de CLI ou arquivo de configuração. Consulte Personalização de Ferramentas para detalhes.
-
GetShardsTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para obter informações de shard
-
ClusterHealthTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(opcional): Limitar o relatório de saúde a um índice específico
-
CountTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(opcional): O nome do índice para contar documentosbody(opcional): Consulta em formato JSON para filtrar documentos
-
ExplainTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para recuperar o documentoid(obrigatório): O ID do documento para explicarbody(obrigatório): Consulta em formato JSON para explicar contra o documento
-
MsearchTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(opcional): Índice padrão para pesquisarbody(obrigatório): Corpo da solicitação de múltiplas pesquisas em formato NDJSON
-
GetClusterStateTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarmetric(opcional): Limitar as informações retornadas às métricas especificadas. As opções incluem: _all, blocks, metadata, nodes, routing_table, routing_nodes, master_node, versionindex(opcional): Limitar as informações retornadas aos índices especificados
-
GetSegmentsTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(opcional): Limitar as informações retornadas aos índices especificados. Se não fornecido, retorna segmentos para todos os índices
-
CatNodesTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarmetrics(opcional): Uma lista separada por vírgulas de métricas para exibir. As métricas disponíveis incluem: 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): A URL do cluster OpenSearch para conectarnode_id(opcional): Uma lista separada por vírgulas de IDs ou nomes de nós para limitar as informações retornadas. Suporta filtros de nó como _local, _master, master:true, data:false, etc. O padrão é _all.metric(opcional): Uma lista separada por vírgulas de grupos de métricas para incluir na resposta. As opções incluem: settings, os, process, jvm, thread_pool, transport, http, plugins, ingest, aggregations, indices. O padrão é todas as métricas.
-
GetIndexInfoTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para obter informações detalhadas. Caracteres curinga são suportados.
-
GetIndexStatsTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarindex(obrigatório): O nome do índice para obter estatísticas. Caracteres curinga são suportados.metric(opcional): Limitar as informações retornadas às métricas especificadas. As opções incluem: _all, completion, docs, fielddata, flush, get, indexing, merge, query_cache, refresh, request_cache, search, segments, store, warmer, bulk
-
GetQueryInsightsTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectar
-
GetNodesHotThreadsTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectar
-
GetAllocationTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectar
-
GetLongRunningTasksTool
opensearch_url(opcional): A URL do cluster OpenSearch para conectarlimit(opcional): O número máximo de tarefas para retornar. O padrão é 10.
-
CreateAgenticMemorySessionTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória onde a sessão será criada. Definido automaticamente quando configurado viaagentic_memoryconfig ouOPENSEARCH_MEMORY_CONTAINER_IDenv var. (Parâmetro de Caminho)session_id(opcional): Um ID de sessão personalizado. Se não fornecido, um ID aleatório é gerado. (Parâmetro de Corpo)summary(opcional): Um resumo ou descrição da sessão. (Parâmetro de Corpo)metadata(opcional): Metadados adicionais para a sessão fornecidos como pares chave-valor. (Parâmetro de Corpo)namespace(opcional): Informações de namespace para organizar a sessão. (Parâmetro de Corpo)
-
AddAgenticMemoriesTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória para adicionar a memória. Definido automaticamente quando configurado. (Parâmetro de Caminho)messages(condicional): Uma lista de mensagens. Obrigatório quandopayload_typeéconversational. (Parâmetro de Corpo)structured_data(condicional): Conteúdo de dados estruturados. Obrigatório quandopayload_typeédata. (Parâmetro de Corpo)binary_data(opcional): Conteúdo de dados binários codificado como uma string Base64 para cargas úteis binárias. (Parâmetro de Corpo)payload_type(obrigatório): O tipo de carga útil. Os valores válidos sãoconversationaloudata. Consulte Tipos de carga útil. (Parâmetro de Corpo)namespace(opcional): O contexto de namespace para organizar memórias (por exemplo,user_id,session_idouagent_id). Sesession_idnão for especificado no campo de namespace edisable_session:false(o padrão étrue), uma nova sessão com um novo ID de sessão é criada. (Parâmetro de Corpo)metadata(opcional): Metadados adicionais para a memória (por exemplo,status,branchou campos personalizados). (Parâmetro de Corpo)tags(opcional): Tags para categorizar memórias. (Parâmetro de Corpo)infer(opcional): Se deve usar um LLM para extrair informações-chave (padrão:false). Quandotrue, o LLM extrai informações-chave do texto original e as armazena como uma memória. Consulte Modo de inferência. (Parâmetro de Corpo)
-
GetAgenticMemoryTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória do qual recuperar a memória. Definido automaticamente quando configurado. (Parâmetro de Caminho)type(obrigatório): O tipo de memória. Os valores válidos sãosessions,working,long-termehistory. (Parâmetro de Caminho)id(obrigatório): O ID da memória para recuperar. (Parâmetro de Caminho)
-
SearchAgenticMemoryTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória. Definido automaticamente quando configurado. (Parâmetro de Caminho)type(obrigatório): O tipo de memória. Os valores válidos sãosessions,working,long-termehistory. (Parâmetro de Caminho)query(obrigatório): A consulta de pesquisa usando query DSL do OpenSearch. (Parâmetro de Corpo)sort(opcional): Especificação de classificação para os resultados da pesquisa. (Parâmetro de Corpo)
-
UpdateAgenticMemoryTool
-
memory_container_id(preenchido automaticamente): O ID do contêiner de memória. Definido automaticamente quando configurado. (Parâmetro de caminho)type(obrigatório): O tipo de memória (sessions,workingoulong-term). (Parâmetro de caminho)id(obrigatório): O ID da memória a ser atualizada. (Parâmetro de caminho)- Campos de solicitação de memória de sessão:
summary(opcional): O resumo da sessão. (Parâmetro do corpo)metadata(opcional): Metadados adicionais para a memória (por exemplo,status,branchou campos personalizados). (Parâmetro do corpo)agents(opcional): Informações adicionais sobre os agentes. (Parâmetro do corpo)additional_info(opcional): Metadados adicionais para associar à sessão. (Parâmetro do corpo)
- Campos de solicitação de memória de trabalho
messages(opcional): Mensagens de conversa atualizadas (para tipo de conversa). (Parâmetro do corpo)structured_data(opcional): Conteúdo de dados estruturados atualizado (para cargas de dados de memória). (Parâmetro do corpo)binary_data(opcional): Conteúdo de dados binários atualizado (para cargas de dados de memória). (Parâmetro do corpo)tags(opcional): Tags atualizadas para categorização. (Parâmetro do corpo)metadata(opcional): Metadados adicionais para a memória (por exemplo,status,branchou campos personalizados). (Parâmetro do corpo)
- Campos de solicitação de memória de longo prazo
memory(opcional): O conteúdo de memória atualizado. (Parâmetro do corpo)tags(opcional): Tags atualizadas para categorização. (Parâmetro do corpo)
-
DeleteAgenticMemoryByIDTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória do qual excluir a memória. Definido automaticamente quando configurado. (Parâmetro de caminho)type(obrigatório): O tipo de memória a ser excluída. Os valores válidos sãosessions,working,long-termehistory. (Parâmetro de caminho)id(obrigatório): O ID da memória específica a ser excluída. (Parâmetro de caminho)
-
DeleteAgenticMemoryByQueryTool
memory_container_id(preenchido automaticamente): O ID do contêiner de memória do qual excluir a memória. Definido automaticamente quando configurado. (Parâmetro de caminho)type(obrigatório): O tipo de memória a ser excluída. Os valores válidos sãosessions,working,long-termehistory. (Parâmetro de caminho)query(obrigatório): A consulta DSL do OpenSearch para corresponder às memórias a serem excluídas. (Parâmetro do corpo)
-
DataDistributionTool
index(obrigatório): Nome do índice OpenSearch de destino.selectionTimeRangeStart(obrigatório): Hora de início do período de análise.selectionTimeRangeEnd(obrigatório): Hora de término do período de análise.timeField(obrigatório): Campo de data/hora para filtragem.baselineTimeRangeStart(opcional): Hora de início do período de linha de base.baselineTimeRangeEnd(opcional): Hora de término do período de linha de base.size(opcional): Número máximo de documentos a analisar. O padrão é 1000.
-
LogPatternAnalysisTool
index(obrigatório): Nome do índice OpenSearch de destino contendo dados de log.logFieldName(obrigatório): Campo contendo mensagens de log brutas a analisar.selectionTimeRangeStart(obrigatório): Hora de início do período de análise.selectionTimeRangeEnd(obrigatório): Hora de término do período de análise.timeField(obrigatório): Campo de data/hora para filtragem baseada em tempo.traceFieldName(opcional): Campo para ID de rastreamento/correlação.baseTimeRangeStart(opcional): Hora de início do período de comparação de linha de base.baseTimeRangeEnd(opcional): Hora de término do período de comparação de linha de base.
-
MetricChangeAnalysisTool
index(obrigatório): Nome do índice OpenSearch de destino.selectionTimeRangeStart(obrigatório): Início do período de seleção (anomalia).selectionTimeRangeEnd(obrigatório): Fim do período de seleção (anomalia).baselineTimeRangeStart(obrigatório): Início do período de linha de base.baselineTimeRangeEnd(obrigatório): Fim do período de linha de base (deve ser igual ou anterior aselectionTimeRangeStart).timeField(obrigatório): Campo de data/hora para filtragem.topN(opcional): Número de campos principais a retornar, classificados por pontuação de alteração. O padrão é 10.size(opcional): Número máximo de documentos a analisar. O padrão é 1000.
Mais ferramentas em breve. Clique aqui
Guia do Usuário
Para instruções detalhadas de uso, opções de configuração e exemplos, consulte o Guia do Usuário.
Memória do Agente
O servidor MCP do OpenSearch inclui dois sistemas de memória distintos. Ambos usam o OpenSearch como backend de armazenamento, mas diferem em quem controla o ciclo de vida da memória e qual infraestrutura exigem.
Escolhendo a abordagem certa
Ferramentas de Memória (MEMORY_TOOLS_ENABLED) | Ferramentas de Memória Agentica (categoria agentic_memory) | |
|---|---|---|
| Quem armazena memórias | O agente MCP decide o que salvar como declarações em texto simples | O OpenSearch processa conversas brutas e extrai fatos por meio de inferência de LLM |
| Complexidade de configuração | Baixa — o índice é criado automaticamente no primeiro uso | Alta — requer a criação de um contêiner de memória com conector LLM e modelo de incorporação |
| Versão do OpenSearch | Amazon OpenSearch Service 2.19+ ou Serverless | OpenSearch 3.3.0+ |
| Pesquisa semântica | Sim, por meio do enriquecimento semântico automático da AWS | Sim, por meio do modelo de incorporação configurado |
| Estrutura da memória | Plana — cada memória é uma declaração em texto simples | Estruturada — tipos de sessão, trabalho, longo prazo e histórico |
| Inferência de LLM | Não — o agente escreve exatamente o que deseja lembrar | Opcional (infer: true) — o OpenSearch usa um LLM para extrair fatos de conversas |
| Melhor para | Agentes de IDE (Kiro, Claude Code, Cursor) que precisam de configuração rápida e continuidade entre sessões | Pipelines agenticos de produção onde o gerenciamento de memória deve ser centralizado e de propriedade do servidor |
Use as Ferramentas de Memória quando quiser uma camada de memória leve e orientada por agente que funcione imediatamente com qualquer IDE compatível com MCP. O agente controla o que é lembrado. Consulte o Guia de Memória do Agente para configuração.
Use as Ferramentas de Memória Agentica quando quiser que o OpenSearch possua todo o ciclo de vida da memória — incluindo extração de fatos baseada em LLM de conversas brutas, tipos de memória estruturados e namespacing gerenciado pelo servidor. Consulte o Guia de Memória do Agente para configuração.
Contribuindo
Interessado em contribuir? Confira nossos:
- Guia de Desenvolvimento - Configure seu ambiente de desenvolvimento
- Diretrizes de Contribuição - Saiba como contribuir
Código de Conduta
Este projeto adotou o Código de Conduta de Código Aberto da Amazon. Para mais informações, consulte as Perguntas Frequentes sobre o Código de Conduta ou entre em contato com opensource-codeofconduct@amazon.com para quaisquer perguntas ou comentários adicionais.
Licença
Este projeto está licenciado sob a Licença Apache v2.0.
Direitos Autorais
Copyright 2020-2021 Amazon.com, Inc. ou suas afiliadas. Todos os direitos reservados.