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 logo

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.

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ída jdbc, csv e raw.

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âmetroTipoDescrição
opensearch_urlstringURL do endpoint do OpenSearch. Substitui OPENSEARCH_URL.
opensearch_usernamestringNome de usuário para autenticação básica. Substitui OPENSEARCH_USERNAME.
opensearch_passwordstringSenha para autenticação básica. Substitui OPENSEARCH_PASSWORD.
opensearch_no_authbooleanConectar sem autenticação. Substitui OPENSEARCH_NO_AUTH.
aws_regionstringRegião AWS. Substitui AWS_REGION.
aws_iam_arnstringARN da função IAM. Substitui AWS_IAM_ARN.
aws_profilestringNome do perfil AWS. Substitui AWS_PROFILE.
aws_opensearch_serverlessbooleanUsar OpenSearch Serverless. Substitui AWS_OPENSEARCH_SERVERLESS.
opensearch_ssl_verifybooleanDefina como true para exigir verificação de certificado SSL. Um valor false é ignorado, pois apenas OPENSEARCH_SSL_VERIFY pode desativá-lo.
opensearch_timeoutintegerTempo 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_url listado 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 conectar
    • index (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 conectar
    • index (obrigatório): O nome do índice para recuperar mapeamentos
  • SearchIndexTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (obrigatório): O nome do índice para pesquisar
    • query_dsl (obrigatório): A consulta de pesquisa no formato OpenSearch Query DSL
    • format (opcional): O formato da resposta do SearchIndexTool. As opções são csv e json
    • size (opcional): O tamanho da resposta do SearchIndexTool. O padrão é 10, o máximo é 100 (configurável). Para alterar o limite máximo, defina max_size_limit via 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 conectar
    • index (obrigatório): O nome do índice para obter informações de shard
  • ClusterHealthTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (opcional): Limitar o relatório de saúde a um índice específico
  • CountTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (opcional): O nome do índice para contar documentos
    • body (opcional): Consulta em formato JSON para filtrar documentos
  • ExplainTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (obrigatório): O nome do índice para recuperar o documento
    • id (obrigatório): O ID do documento para explicar
    • body (obrigatório): Consulta em formato JSON para explicar contra o documento
  • MsearchTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (opcional): Índice padrão para pesquisar
    • body (obrigatório): Corpo da solicitação de múltiplas pesquisas em formato NDJSON
  • GetClusterStateTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • metric (opcional): Limitar as informações retornadas às métricas especificadas. As opções incluem: _all, blocks, metadata, nodes, routing_table, routing_nodes, master_node, version
    • index (opcional): Limitar as informações retornadas aos índices especificados
  • GetSegmentsTool

    • opensearch_url (opcional): A URL do cluster OpenSearch para conectar
    • index (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 conectar
    • metrics (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 conectar
    • node_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 conectar
    • index (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 conectar
    • index (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 conectar
    • limit (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 via agentic_memory config ou OPENSEARCH_MEMORY_CONTAINER_ID env 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 quando payload_type é conversational. (Parâmetro de Corpo)
    • structured_data (condicional): Conteúdo de dados estruturados. Obrigatório quando payload_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ão conversational ou data. Consulte Tipos de carga útil. (Parâmetro de Corpo)
    • namespace (opcional): O contexto de namespace para organizar memórias (por exemplo, user_id, session_id ou agent_id). Se session_id não for especificado no campo de namespace e disable_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, branch ou 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). Quando true, 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ão sessions, working, long-term e history. (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ão sessions, working, long-term e history. (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, working ou long-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, branch ou 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, branch ou 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ão sessions, working, long-term e history. (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ão sessions, working, long-term e history. (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 a selectionTimeRangeStart).
    • 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óriasO agente MCP decide o que salvar como declarações em texto simplesO OpenSearch processa conversas brutas e extrai fatos por meio de inferência de LLM
Complexidade de configuraçãoBaixa — o índice é criado automaticamente no primeiro usoAlta — requer a criação de um contêiner de memória com conector LLM e modelo de incorporação
Versão do OpenSearchAmazon OpenSearch Service 2.19+ ou ServerlessOpenSearch 3.3.0+
Pesquisa semânticaSim, por meio do enriquecimento semântico automático da AWSSim, por meio do modelo de incorporação configurado
Estrutura da memóriaPlana — cada memória é uma declaração em texto simplesEstruturada — tipos de sessão, trabalho, longo prazo e histórico
Inferência de LLMNão — o agente escreve exatamente o que deseja lembrarOpcional (infer: true) — o OpenSearch usa um LLM para extrair fatos de conversas
Melhor paraAgentes de IDE (Kiro, Claude Code, Cursor) que precisam de configuração rápida e continuidade entre sessõesPipelines 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:

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.