关于 Opensearch Mcp Server Py
opensearch-mcp-server-py 是一个面向 OpenSearch 的 MCP 服务,使 AI 助手能够查询和管理 OpenSearch 集群。它通过 stdio 与 SSE、Streamable HTTP 等传输方式提供标准化接口,并支持在每次工具调用时动态指定连接参数。
主要功能
- 01提供索引、映射、分片和健康状态等工具
- 02支持 stdio、SSE 和 Streamable HTTP 传输
- 03每次调用可动态指定集群连接参数
- 04支持 Basic Auth、IAM、请求头和 mTLS 认证
- 05可选的 Agentic Memory、PPL 查询与搜索相关性工具
适用场景
- 01让 AI 助手检查 OpenSearch 集群的健康状态和索引信息
- 02在多个集群之间切换查询而无需重新配置服务
- 03通过 DSL 或 PPL 查询进行日志与指标分析
MCP 相关
该服务作为 MCP 服务端,向客户端暴露 OpenSearch 相关工具,使模型可以直接操作集群。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| index | string | 否 | 要获取信息的索引或索引模式名称。 |
| aws_region | any | 否 | 用于 IAM/Serverless 身份验证的 AWS 区域。 |
| aws_iam_arn | any | 否 | 用于基于角色的身份验证的 IAM 角色 ARN。 |
| aws_profile | any | 否 | 用于身份验证的 AWS 配置文件名称。 |
| include_detail | boolean | 否 | 是否包含详细信息。如果为 False,则仅返回索引名称;如果为 True,则返回完整元数据。 |
| opensearch_url | any | 是 | OpenSearch 端点 URL。 |
| opensearch_no_auth | any | 否 | 如果为 true,则不进行身份验证而连接。 |
| opensearch_timeout | any | 否 | 连接超时时间(秒)。 |
| opensearch_password | any | 否 | 基本身份验证密码。 |
| opensearch_username | any | 否 | 基本身份验证用户名。 |
| opensearch_ssl_verify | any | 否 | 设置为 true 时要求验证 SSL 证书。false 值将被忽略,因为只有操作员可以禁用验证。 |
| aws_opensearch_serverless | any | 否 | 如果为 true,则使用 OpenSearch Serverless 服务。 |
详细介绍
OpenSearch MCP 服务
opensearch-mcp-server-py 是一个用于 OpenSearch 的模型上下文协议(MCP)服务,可让 AI 助手与 OpenSearch 集群交互。它提供标准化接口,让 AI 模型通过 stdio 和流式(SSE/Streamable HTTP)协议执行搜索索引、获取映射和管理分片等操作。
主要功能:
- 通过 MCP 协议与 AI 助手和大模型无缝集成
- 支持 stdio 和流式服务传输方式(SSE 和 Streamable HTTP)
- 内置常见 OpenSearch 操作工具
- 支持每次调用动态设置连接参数,无需重新配置服务即可连接不同集群
- 可轻松集成 Claude Desktop 和 LangChain
- 支持通过基本身份验证、IAM 角色、基于标头的身份验证和 OpenSearch mTLS 进行安全身份验证
如需详细的设置说明,包括 Kubernetes 部署和 mTLS 配置,请参阅用户指南。
安装 opensearch-mcp-server-py
可通过 pip 从 PyPI 安装 Opensearch-mcp-server-py:
pip install opensearch-mcp-server-py
零配置设置
无需设置任何环境变量即可启动服务。Agent 可在每次调用工具时动态提供连接详细信息:
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"]
}
}
}
使用此设置时,Agent 可在调用任何工具时直接传入 opensearch_url 和身份验证参数。当 Agent 从知识库、运行手册或 SOP 中发现端点,或者单个 Agent 需要在一个会话中使用多个集群时,此设置非常有用。详情请参阅动态连接参数。
可用工具
默认情况下,仅启用核心工具,以提供基本的 OpenSearch 功能:
核心工具(默认启用)
核心工具归入 core_tools 类别,可通过 OPENSEARCH_DISABLED_CATEGORIES=core_tools 一次性禁用。请避免创建同名自定义类别,否则会覆盖内置类别。
- ListIndexTool:列出 OpenSearch 中的所有索引及完整信息,包括 docs.count、docs.deleted、store.size 等。如果提供了索引参数,则返回该索引的详细信息。
- IndexMappingTool:获取 OpenSearch 中某个索引的映射和设置信息。
- SearchIndexTool:使用以查询领域特定语言(DSL)编写的查询来搜索 OpenSearch 中的索引。
- GetShardsTool:获取 OpenSearch 中分片的信息。
- ClusterHealthTool:返回集群健康状况的基本信息。
- CountTool:返回与查询匹配的文档数量。
- ExplainTool:返回特定文档与查询匹配(或不匹配)的原因。
- MsearchTool:允许在一个请求中执行多个搜索操作。
- [GenericOpenSearchApiTool]:灵活的工具,可通过自定义路径、方法、查询参数和请求正文调用任意 OpenSearch API 端点。通过为所有 OpenSearch API 提供统一接口,减少工具数量膨胀。
其他工具(默认禁用)
以下工具可用,但默认禁用。要启用这些工具,请参阅用户指南中的工具筛选器部分。
- GetClusterStateTool:获取集群的当前状态,包括节点信息、索引设置等。
- GetSegmentsTool:获取索引中 Lucene 段的信息,包括内存用量、文档数和段大小。
- CatNodesTool:获取 OpenSearch 集群中节点的信息,包括 CPU 用量、内存、磁盘空间和节点角色等系统指标。
- GetNodesTool:获取 OpenSearch 集群中节点的详细信息,包括主机系统详情、JVM 信息、处理器类型、节点设置、线程池、已安装的插件等静态信息。
- GetIndexInfoTool:获取索引的详细信息,包括映射、设置和别名。支持在索引名称中使用通配符。
- GetIndexStatsTool:获取索引统计信息,包括文档数、存储大小以及索引和搜索性能指标。
- GetQueryInsightsTool:从 /_insights/top_queries 端点获取查询洞察,展示查询模式和性能信息。
- GetNodesHotThreadsTool:从 /_nodes/hot_threads 端点获取集群节点中热点线程的信息。
- GetAllocationTool:从 /_cat/allocation 端点获取集群各节点间分片分配的信息。
- GetLongRunningTasksTool:获取集群中长时间运行的任务信息,并按运行时间降序排列。
Agentic Memory 工具(默认禁用)
以下工具提供 OpenSearch Agentic Memory API 的访问能力——这是 OpenSearch 内置的服务端记忆系统。OpenSearch 集群负责管理记忆容器、会话和推理(基于 LLM 从对话中提取事实)。这些工具要求 OpenSearch 3.3.0 或更高版本。
**适用场景:**你希望由 OpenSearch 管理完整的记忆生命周期,包括基于 LLM 的推理(从原始对话中提取事实)、结构化记忆类型(会话、工作、长期、历史)以及由服务端管理的命名空间。最适合需要集中管理记忆且不依赖 MCP 客户端的生产级 Agentic 工作流。
**设置:**使用这些工具前,必须先在 OpenSearch 中创建记忆容器(一次性管理员操作,需要配置 LLM 连接器和嵌入模型)。请参阅 Agent Memory Guide 中的 Agentic Memory Tools。
使用 OPENSEARCH_ENABLED_CATEGORIES=agentic_memory 启用。通过 agentic_memory 配置区段或 OPENSEARCH_MEMORY_CONTAINER_ID 环境变量配置 memory_container_id 后,该值会自动预填到所有工具调用中。
- CreateAgenticMemorySessionTool:在记忆容器中创建新会话。
- AddAgenticMemoriesTool:向容器添加对话记忆或结构化数据记忆。
- GetAgenticMemoryTool:按 ID 和类型检索特定记忆。
- SearchAgenticMemoryTool:使用 OpenSearch Query DSL 搜索记忆。
- UpdateAgenticMemoryTool:更新现有记忆(支持根据记忆类型更新特定字段)。
- DeleteAgenticMemoryByIDTool:按 ID 删除特定记忆。
- DeleteAgenticMemoryByQueryTool:删除符合查询条件的多个记忆。
可观测性工具(默认禁用)
可观测性工具归属 observability 类别,可通过 OPENSEARCH_ENABLED_CATEGORIES=observability 启用,也可以在配置文件中添加 enabled_categories: [observability]。或者,启用 analytics 类别即可同时使用可观测性工具和技能工具。
- PPLQueryTool:对 OpenSearch 执行 PPL(管道处理语言)查询。PPL 提供基于管道的查询语法(
source=<index> | <command> | <command>),支持筛选、聚合、排序、去重和字段选择。支持jdbc、csv和raw输出格式。
Search Relevance Workbench 工具(默认禁用)
Search Relevance Workbench 工具归属 search_relevance 类别,可通过 OPENSEARCH_ENABLED_CATEGORIES=search_relevance 一次性启用,也可以在配置文件中添加 enabled_categories: [search_relevance],或显式添加单个工具。有关如何筛选工具的更多信息,请参阅 User Guide 中的 Tool Filter 部分。
- CreateSearchConfigurationTool:创建搜索配置,其中包含名称、查询正文(使用 OpenSearch 查询领域特定语言编写的查询)和目标索引。
- GetSearchConfigurationTool:根据 ID 获取搜索配置。
- DeleteSearchConfigurationTool:根据 ID 删除搜索配置。
- CreateQuerySetTool:创建查询集,其中包含名称、描述和查询列表。
- SampleQuerySetTool:使用不同的统计抽样技术,根据 UBI 数据抽取查询集样本。
- GetQuerySetTool:根据 ID 获取查询集。
- DeleteQuerySetTool:根据 ID 删除查询集。
- CreateJudgmentListTool:创建判定列表,其中的判定来自外部流程。
- CreateLLMJudgmentListTool:使用大模型创建判定列表。
- CreateUBIJudgmentListTool:根据隐式反馈(用户行为洞察数据)创建判定列表。
- GetJudgmentListTool:根据 ID 获取判定列表。
- DeleteJudgmentListTool:根据 ID 删除判定列表。
- CreateExperimentTool:创建搜索相关性实验。支持 PAIRWISE_COMPARISON(比较 2 个搜索配置)、POINTWISE_EVALUATION(根据判定列表评估 1 个配置)和 HYBRID_OPTIMIZER(使用判定列表优化 1 个配置)。
- GetExperimentTool:根据 ID 获取实验。
- DeleteExperimentTool:根据 ID 删除实验。
- SearchQuerySetsTool:使用 OpenSearch 查询 DSL 搜索查询集。如果未提供查询正文,默认使用 match_all。
- SearchSearchConfigurationsTool:使用 OpenSearch 查询 DSL 搜索搜索配置。如果未提供查询正文,默认使用 match_all。
- SearchJudgmentsTool:使用 OpenSearch 查询 DSL 搜索判定。如果未提供查询正文,默认使用 match_all。
- SearchExperimentsTool:使用 OpenSearch 查询 DSL 搜索实验。如果未提供查询正文,默认使用 match_all。
技能工具(默认禁用)
技能工具归类在 skills 类别下,可通过 OPENSEARCH_ENABLED_CATEGORIES=skills 一次性启用,也可以在配置文件中添加 enabled_categories: [skills] 来启用。或者,启用 analytics 类别即可同时使用技能和可观测性工具。有关如何筛选工具的更多信息,请参阅《用户指南》中的工具筛选部分。
- DataDistributionTool:分析 OpenSearch 索引中的数据分布模式和字段值频率。支持单个数据集分析,以及两个时间段之间的对比分析,以识别分布变化。
- LogPatternAnalysisTool:通过对基准时间范围和选定时间范围进行对比分析,检测异常日志模式和序列。支持带有跟踪关联的日志序列分析、日志模式差异分析,以及用于错误检测的日志洞察分析。
- MetricChangeAnalysisTool:比较基准时间范围和选定时间范围内所有数值字段的百分位数分布(P50、P90),然后按变化得分对字段排序并返回排名靠前的字段。适用于识别异常时间段内变化最大的数值指标。
记忆工具(选择启用)
记忆工具为 MCP Agent 提供由 OpenSearch 支持的持久跨会话记忆。Agent 决定将哪些内容保存为纯文本语句;OpenSearch 会存储这些内容并进行语义索引。设置 MEMORY_TOOLS_ENABLED=true 即可启用。完整设置说明请参阅Agent 记忆指南。
**适用场景:**你希望使用轻量、由 Agent 驱动的记忆层,并能与任何兼容 MCP 的 IDE(Kiro、Claude Code、Cursor)搭配使用。由 Agent 控制需要记住的内容;无需在 OpenSearch 端配置 LLM 连接器或嵌入模型。自动语义增强需要 Amazon OpenSearch Service(托管域版本 2.19+ 或 Serverless)。完整设置说明请参阅Agent 记忆指南。
- SaveMemoryTool:将事实、决策和偏好保存到持久存储,并自动进行语义增强。
- SearchMemoryTool:使用自然语言搜索记忆,并根据时效性进行排序。
- DeleteMemoryTool:按文档 ID 删除过时或不正确的记忆。
工具参数
所有工具都接受以下可选连接参数,用于按调用覆盖服务的环境变量配置。如果省略所有参数,服务将照常使用其配置的环境变量或集群配置。如果提供 opensearch_url,则凭据必须来自同一次调用:除非运营方设置 OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true 以共享其 AWS 凭据,否则服务不会使用自身凭据访问调用方选择的 URL。
| 参数 | 类型 | 描述 |
|---|---|---|
opensearch_url | string | OpenSearch 端点 URL。覆盖 OPENSEARCH_URL。 |
opensearch_username | string | 基本身份验证的用户名。覆盖 OPENSEARCH_USERNAME。 |
opensearch_password | string | 基本身份验证的密码。覆盖 OPENSEARCH_PASSWORD。 |
opensearch_no_auth | boolean | 不使用身份验证进行连接。覆盖 OPENSEARCH_NO_AUTH。 |
aws_region | string | AWS 区域。覆盖 AWS_REGION。 |
aws_iam_arn | string | IAM 角色 ARN。覆盖 AWS_IAM_ARN。 |
aws_profile | string | AWS 配置文件名称。覆盖 AWS_PROFILE。 |
aws_opensearch_serverless | boolean | 使用 OpenSearch Serverless。覆盖 AWS_OPENSEARCH_SERVERLESS。 |
opensearch_ssl_verify | boolean | 设为 true 时要求验证 SSL 证书。false 值会被忽略,因为只有 OPENSEARCH_SSL_VERIFY 可以禁用验证。 |
opensearch_timeout | integer | 连接超时时间(秒)。覆盖 OPENSEARCH_TIMEOUT。 |
这样,Agent 就可以在每次工具调用时动态指定不同的集群,而无需重新配置服务(仅限单一模式)。凭据必须与 URL 来自同一次调用,除非 OPENSEARCH_ALLOW_AMBIENT_AWS_FALLBACK=true 允许服务使用自己的 AWS 凭据为调用方提供的 URL 签名。OPENSEARCH_SSRF_GUARD=true 会将调用方提供的 URL 限制为公共 HTTPS 地址。详情和示例请参阅用户指南中的动态连接参数。
除上述通用连接参数外,每个工具还接受各自的特定参数:
注意: 以下各工具中列出的
opensearch_url参数属于上述通用连接参数。每个工具都支持所有通用连接参数(opensearch_username、opensearch_password、aws_region等),但为简洁起见,不会在各工具的参数列表中重复列出。
-
ListIndexTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(可选):要获取详细信息的索引名称。若提供此参数,则返回该特定索引的详细信息,而不是列出所有索引。
-
IndexMappingTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要获取映射的索引名称
-
SearchIndexTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要搜索的索引名称query_dsl(必填):采用 OpenSearch Query DSL 格式的搜索查询format(可选):SearchIndexTool 响应的格式。可选值为 csv 和 jsonsize(可选):SearchIndexTool 响应的大小。默认值为 10,最大值为 100(可配置)。若要更改最大限制,请通过 CLI 参数或配置文件设置max_size_limit。详情请参阅工具自定义。
-
GetShardsTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要获取分片信息的索引名称
-
ClusterHealthTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(可选):将健康状况报告限制为特定索引
-
CountTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(可选):要统计文档数量的索引名称body(可选):用于筛选文档的 JSON 格式查询
-
ExplainTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要从中获取文档的索引名称id(必填):要解释的文档 IDbody(必填):要针对该文档进行解释的 JSON 格式查询
-
MsearchTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(可选):默认搜索索引body(必填):NDJSON 格式的多重搜索请求正文
-
GetClusterStateTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLmetric(可选):将返回的信息限制为指定指标。选项包括:_all、blocks、metadata、nodes、routing_table、routing_nodes、master_node、versionindex(可选):将返回的信息限制为指定索引
-
GetSegmentsTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(可选):将返回的信息限制为指定索引。如果未提供,则返回所有索引的分段
-
CatNodesTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLmetrics(可选):要显示的指标列表,以逗号分隔。可用指标包括: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(可选):要连接的 OpenSearch 集群 URLnode_id(可选):以逗号分隔的节点 ID 或名称列表,用于限制返回的信息。支持_local、_master、master:true、data:false等节点筛选器。默认为_all。metric(可选):要包含在响应中的指标组列表,以逗号分隔。选项包括:settings、os、process、jvm、thread_pool、transport、http、plugins、ingest、aggregations、indices。默认为所有指标。
-
GetIndexInfoTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要获取详细信息的索引名称。支持通配符。
-
GetIndexStatsTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLindex(必填):要获取统计信息的索引名称。支持通配符。metric(可选):将返回的信息限制为指定指标。选项包括:_all、completion、docs、fielddata、flush、get、indexing、merge、query_cache、refresh、request_cache、search、segments、store、warmer、bulk
-
GetQueryInsightsTool
opensearch_url(可选):要连接的 OpenSearch 集群 URL
-
GetNodesHotThreadsTool
opensearch_url(可选):要连接的 OpenSearch 集群 URL
-
GetAllocationTool
opensearch_url(可选):要连接的 OpenSearch 集群 URL
-
GetLongRunningTasksTool
opensearch_url(可选):要连接的 OpenSearch 集群 URLlimit(可选):要返回的任务最大数量。默认值为 10。
-
CreateAgenticMemorySessionTool
memory_container_id(自动填充):要在其中创建会话的记忆容器 ID。通过agentic_memory配置或OPENSEARCH_MEMORY_CONTAINER_ID环境变量进行配置时会自动设置。(路径参数)session_id(可选):自定义会话 ID。如果未提供,则生成随机 ID。(正文参数)summary(可选):会话摘要或描述。(正文参数)metadata(可选):以键值对形式提供的会话附加元数据。(正文参数)namespace(可选):用于组织会话的命名空间信息。(正文参数)
-
AddAgenticMemoriesTool
memory_container_id(自动填充):要将记忆添加到的记忆容器 ID。配置后会自动设置。(路径参数)messages(条件必填):消息列表。当payload_type为conversational时必填。(请求体参数)structured_data(条件必填):结构化数据内容。当payload_type为data时必填。(请求体参数)binary_data(可选): 二进制负载的二进制数据内容,以 Base64 字符串编码。(请求体参数)payload_type(必填):负载类型。有效值为conversational或data。请参阅负载类型。(请求体参数)namespace(可选):用于整理记忆的命名空间上下文(例如user_id、session_id或agent_id)。如果命名空间字段中未指定session_id,且disable_session为false(默认值为true),则会创建一个新的会话,并分配新的会话 ID。(请求体参数)metadata(可选):记忆的其他元数据(例如status、branch或自定义字段)。(请求体参数)tags(可选):用于对记忆分类的标签。(请求体参数)infer(可选):是否使用大模型提取关键信息(默认值:false)。为true时,大模型会从原始文本中提取关键信息并将其存储为记忆。请参阅推理模式。(请求体参数)
-
GetAgenticMemoryTool
memory_container_id(自动填充):要从中检索记忆的记忆容器 ID。配置后会自动设置。(路径参数)type(必填):记忆类型。有效值为sessions、working、long-term和history。(路径参数)id(必填):要检索的记忆 ID。(路径参数)
-
SearchAgenticMemoryTool
memory_container_id(自动填充):记忆容器 ID。配置后会自动设置。(路径参数)type(必填):记忆类型。有效值为sessions、working、long-term和history。(路径参数)query(必填):使用 OpenSearch 查询 DSL 编写的搜索查询。(请求体参数)sort(可选):搜索结果的排序规范。(请求体参数)
-
UpdateAgenticMemoryTool
memory_container_id(自动填充):记忆容器的 ID。配置后会自动设置。(路径参数)type(必填):记忆类型(sessions、working或long-term)。(路径参数)id(必填):要更新的记忆 ID。(路径参数)- 会话记忆请求字段:
summary(可选):会话摘要。(正文参数)metadata(可选):记忆的其他元数据(例如status、branch或自定义字段)。(正文参数)agents(可选):有关 Agent 的其他信息。(正文参数)additional_info(可选):与会话关联的其他元数据。(正文参数)
- 工作记忆请求字段
messages(可选):更新后的对话消息(适用于对话类型)。(正文参数)structured_data(可选):更新后的结构化数据内容(适用于数据记忆负载)。(正文参数)binary_data(可选):更新后的二进制数据内容(适用于数据记忆负载)。(正文参数)tags(可选):更新后的分类标签。(正文参数)metadata(可选):记忆的其他元数据(例如status、branch或自定义字段)。(正文参数)
- 长期记忆请求字段
memory(可选):更新后的记忆内容。(正文参数)tags(可选):更新后的分类标签。(正文参数)
-
DeleteAgenticMemoryByIDTool
memory_container_id(自动填充):要从中删除记忆的记忆容器 ID。配置后会自动设置。(路径参数)type(必填):要删除的记忆类型。有效值为sessions、working、long-term和history。(路径参数)id(必填):要删除的特定记忆 ID。(路径参数)
-
DeleteAgenticMemoryByQueryTool
memory_container_id(自动填充):要从中删除记忆的记忆容器 ID。配置后会自动设置。(路径参数)type(必填):要删除的记忆类型。有效值为sessions、working、long-term和history。(路径参数)query(必填):用于匹配待删除记忆的 OpenSearch DSL 查询。(正文参数)
-
DataDistributionTool
index(必填):目标 OpenSearch 索引名称。selectionTimeRangeStart(必填):分析目标时段的开始时间。selectionTimeRangeEnd(必填):分析目标时段的结束时间。timeField(必填):用于筛选的日期/时间字段。baselineTimeRangeStart(可选):基准时段的开始时间。baselineTimeRangeEnd(可选):基准时段的结束时间。size(可选):要分析的文档最大数量。默认值为 1000。
-
LogPatternAnalysisTool
index(必填):包含日志数据的目标 OpenSearch 索引名称。logFieldName(必填):要分析的原始日志消息所在字段。selectionTimeRangeStart(必填):分析目标时段的开始时间。selectionTimeRangeEnd(必填):分析目标时段的结束时间。timeField(必填):用于基于时间筛选的日期/时间字段。traceFieldName(可选):跟踪/关联 ID 所在字段。baseTimeRangeStart(可选):基准比较时段的开始时间。baseTimeRangeEnd(可选):基准比较时段的结束时间。
-
MetricChangeAnalysisTool
index(必填):目标 OpenSearch 索引名称。selectionTimeRangeStart(必填):选择(异常)时段的开始时间。selectionTimeRangeEnd(必填):选择(异常)时段的结束时间。baselineTimeRangeStart(必填):基线时段的开始时间。baselineTimeRangeEnd(必填):基线时段的结束时间(应早于或等于selectionTimeRangeStart)。timeField(必填):用于筛选的日期/时间字段。topN(可选):按变化分数排序后返回的字段数量。默认值为 10。size(可选):要分析的文档数量上限。默认值为 1000。
更多工具即将推出。点击此处
用户指南
有关详细的使用说明、配置选项和示例,请参阅用户指南。
Agent 记忆
OpenSearch MCP 服务包含两个不同的记忆系统。两者都使用 OpenSearch 作为存储后端,但记忆生命周期的控制方和所需基础设施各不相同。
选择合适的方案
Memory Tools (MEMORY_TOOLS_ENABLED) | Agentic Memory Tools(agentic_memory 类别) | |
|---|---|---|
| 由谁存储记忆 | MCP Agent 决定将哪些内容保存为纯文本陈述 | OpenSearch 处理原始对话,并通过大模型推理提取事实 |
| 设置复杂度 | 低——首次使用时自动创建索引 | 高——需要创建带有大模型连接器和嵌入模型的记忆容器 |
| OpenSearch 版本 | Amazon OpenSearch Service 2.19+ 或 Serverless | OpenSearch 3.3.0+ |
| 语义搜索 | 支持,通过 AWS 自动语义增强实现 | 支持,通过已配置的嵌入模型实现 |
| 记忆结构 | 扁平——每条记忆都是纯文本陈述 | 结构化——包含会话、工作记忆、长期记忆和历史记录类型 |
| 大模型推理 | 不支持——Agent 会按原样写入要记住的内容 | 可选(infer: true)——OpenSearch 使用大模型从对话中提取事实 |
| 适用场景 | 需要快速设置和跨会话连续性的 IDE Agent(Kiro、Claude Code、Cursor) | 需要集中管理记忆且由服务端控制的生产级 Agentic 工作流 |
使用 Memory Tools:如果你需要一个开箱即用、可与任何兼容 MCP 的 IDE 搭配使用的轻量级 Agent 驱动记忆层。由 Agent 控制要记住的内容。请参阅Agent 记忆指南了解设置方法。
使用 Agentic Memory Tools:如果你希望 OpenSearch 管理完整的记忆生命周期,包括从原始对话中基于大模型提取事实、使用结构化记忆类型,以及由服务端管理命名空间。请参阅Agent 记忆指南了解设置方法。
贡献
有兴趣参与贡献?请查看:
行为准则
本项目采用了 Amazon 开源行为准则。如需了解更多信息,请参阅行为准则常见问题,或发送邮件至 [email protected] 联系我们,提出其他问题或意见。
许可证
本项目采用 Apache v2.0 许可证。
版权
版权所有 2020-2021 Amazon.com, Inc. 或其关联公司。保留所有权利。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。