Token导航 LogoToken导航

MCP Server · 搜索检索

Opensearch MCP Server With Bedrock And Strands

一个将自然语言查询转换为OpenSearch DSL查询的代理系统,适用于需要高效搜索解决方案的场景。

stdio官方级别未说明来源级核验工具 1
自然语言处理PythonClaude搜索

快速开始

作者 / 组织
rithinpullela
提供方
rithinpullela

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Opensearch MCP Server With Bedrock And Strands 属于搜索检索类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

搜索检索

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

带基岩和Strands的OpenSearch MCP服务器

该项目实现了 代理搜索 该系统使用AWS Bedrock、Strands代理框架和模型上下文协议(MCP)将自然语言查询转换为OpenSearch DSL查询。

开源:此项目在Apache 2.0许可证下发布,您可以随意使用、修改和分发!

概述

代理人使用:

  • AWS Bedrock (克劳德·十四行诗4.5)自然语言理解
  • Strands框架 用于代理编排
  • MCP(模型上下文协议) 连接到OpenSearch工具
  • 基岩试剂核心 用于运行时管理

该代理可以理解自然语言问题,如“查找500美元以下的鞋子”,并自动生成相应的OpenSearch DSL查询。

先决条件

  • Python 3.8+
  • 具有基岩访问权限的AWS帐户
  • 启用ML Commons插件的OpenSearch集群
  • 已配置AWS凭据

安装

  1. 克隆存储库:
git clone git@github.com:rithin-pullela-aws/opensearch-mcp-server-with-bedrock-and-strands.git
cd opensearch-mcp-server-with-bedrock-and-strands
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量:

创建一个 .env 项目根目录中的文件(复制自 env.example):

cp env.example .env

编辑 .env 根据您的配置:

# AWS Configuration
AWS_REGION=us-east-1

# Bedrock Model Configuration
BEDROCK_MODEL_ID=us.anthropic.claude-sonnet-4-5-20250929-v1:0

# OpenSearch Configuration
OPENSEARCH_URL=http://localhost:9200
OPENSEARCH_USERNAME=admin
OPENSEARCH_PASSWORD=admin

# MCP Configuration
MCP_URL=http://localhost:9200/_plugins/_ml/mcp/
# Optional: Uncomment if you need bearer token authentication
# MCP_BEARER=your-bearer-token-here

# Optional: Customize the system prompt
# SYSTEM_PROMPT_FILE=custom_prompt.txt
# or set it directly:
# SYSTEM_PROMPT="Your custom system prompt..."

重要:The .env 为了安全起见,该文件被标记为无效。永远不要将凭据提交到版本控制!

在OpenSearch中设置代理搜索

按照以下步骤在OpenSearch集群中配置代理搜索:

步骤1:创建连接器工具

创建一个将调用Bedrock代理的连接器:

POST /_plugins/_ml/connectors/_create
{
  "name": "Conenctor to AgentCore",
  "description": "Demo connector of function",
  "version": 1,
  "protocol": "http",
  "parameters": {
    // add if needed
  },
  "credential": {
    "access": "rand"
  },
  "actions": [
    {
      "action_type": "execute",
      "method": "POST",
      "url": "http://localhost:8080/invocations",
      "headers": {
        "content-type": "application/json"
      },
      "request_body": "{ \"prompt\": \"NLQ is: ${parameters.question}, index_name is: ${parameters.index_name:-}, and the model ID for neural search is: ${parameters.embedding_model_id:-}.\" }"
    }
  ]
}

注: 保存 connector_id 从回复中可以看出,下一步你需要它。

步骤2:使用连接器工具创建流代理

注册使用连接器的流代理:

POST /_plugins/_ml/agents/_register
{
    "name": "Agentic Search",
    "type": "flow",
    "description": "this is a test agent",
    "tools": [
        {
            "type": "ConnectorTool",
            "parameters": {
                "connector_id": "PCEKTJoBwAH_C-u4fNUl",  // Replace with your connector_id from Step 1
                "output_processors": [
                    {
                        "type": "jsonpath_filter",
                        "path": "$.inference_results[0].output[0].dataAsMap.content[0].text"
                    }
                ]
            }
        }
    ]
}

注: 保存 agent_id 从回复中可以看出,下一步你需要它。

步骤3:注册搜索管道

创建一个使用代理查询转换器的搜索管道:

PUT /_search/pipeline/no-cache-pipeline
{
    "request_processors": [
        {
            "agentic_query_translator": {
                "agent_id": "7DKRLZoBpTIbg0854Nod"  // Replace with your agent_id from Step 2
            }
        }
    ],
    "response_processors": [
        {
            "agentic_context": {
                "agent_steps_summary": true,
                "dsl_query": true
            }
        }
    ]
}

步骤4:执行代理搜索

现在,您可以使用自然语言查询进行搜索:

POST /_search?search_pipeline=no-cache-pipeline
{
    "query": {
        "agentic": {
            "query_text": "Find Macbook cases from Case Star"
        }
    }
}

代理人将:

  1. 理解自然语言查询
  2. 找到合适的索引
  3. 分析索引映射
  4. 生成最佳OpenSearch DSL查询
  5. 执行搜索并返回结果

在本地运行代理

要在本地测试代理:

python agent_example.py

代理将开始 http://localhost:8080 并接受调用请求。

测试调用格式

{
    "prompt": "NLQ is: Find shoes under $500, index_name is: products, and the model ID for neural search is: ."
}

项目结构

.
├── agent_example.py      # Main agent implementation with DSL generation logic
├── temp_agent.py         # Simplified agent example
├── requirements.txt      # Python dependencies
└── README.md            # This file

运作原理

  1. 自然语言输入:用户以自然语言提供查询
  2. 上下文收集:代理使用MCP工具发现索引和映射
  3. 查询计划:代理使用上下文调用查询计划器工具(QPT)
  4. DSL生成:代理生成有效的OpenSearch DSL
  5. 验证:代理验证DSL是否覆盖了用户的意图
  6. 执行:OpenSearch执行DSL并返回结果

主要特点

  • 零样本DSL生成 从自然语言
  • 自动索引发现 和选择
  • 模式感知查询构造 不向用户公开模式
  • 迭代优化 用于复杂查询
  • JSON输出合约 为了实现可靠的集成

配置

所有配置都通过环境变量进行管理(.env 文件):

所需变量:

  • AWS_REGION:基岩的AWS区域(默认值: us-east-1)
  • OPENSEARCH_URL:您的OpenSearch集群URL(默认值: http://localhost:9200)
  • OPENSEARCH_USERNAME:OpenSearch用户名(默认值: admin)
  • OPENSEARCH_PASSWORD:OpenSearch密码(默认值: admin)

可选变量:

  • BEDROCK_MODEL_ID:要使用的基岩模型(默认值: us.anthropic.claude-sonnet-4-5-20250929-v1:0)
  • MCP_URL:OpenSearch MCP端点(默认值:从OpenSearch_URL自动构造)
  • MCP_BEARER:MCP身份验证的承载令牌(覆盖基本身份验证)
  • VERIFY_SSL:启用/禁用SSL证书验证(默认值: true,设置为 false 对于自签名证书)
  • SYSTEM_PROMPT:自定义系统提示为字符串
  • SYSTEM_PROMPT_FILE:包含自定义系统提示的文件路径

自定义系统提示

您可以通过提供自己的系统提示来自定义代理的行为:

选项1:直接环境变量

export SYSTEM_PROMPT="Your custom instructions here..."

选项2:从文件

echo "Your custom instructions here..." > my_prompt.txt
export SYSTEM_PROMPT_FILE=my_prompt.txt

如果两者都没有设置,代理将使用针对OpenSearch DSL生成优化的默认提示。

故障排除

代理返回match_all查询:

  • 代理无法理解查询或缺少所需的上下文
  • 检查MCP工具是否可访问并返回有效数据

连接错误:

  • 验证 MCP_URL 正确且可访问
  • 检查AWS凭据是否已配置
  • 确保您所在地区已启用基岩模型访问

SSL证书错误:

  • 对于自签名证书,设置 VERIFY_SSL=false 在你的 .env 文件
  • 警告:仅在开发/测试环境中禁用SSL验证
  • 生产时,使用正确签署的证书

生成的DSL无效:

  • 查看系统提示是否清晰
  • 检查索引映射是否正确
  • 验证查询计划器工具是否正常工作

贡献

欢迎投稿!这是一个开源项目,我们感谢:

  • Bug报告和修复
  • 功能请求和实现
  • 文档改进
  • 示例用例和教程

请随时:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

许可证

该项目根据 Apache许可证2.0 -看看 许可证 文件以获取详细信息。

您可以出于任何目的自由使用、修改和分发此软件,包括商业应用程序。Apache 2.0许可证还明确授予贡献者向用户授予专利权。

支持

如果您遇到问题或有疑问:

  • 在GitHub上打开一个问题
  • 检查现有问题的解决方案
  • 查看上面的故障排除部分

致谢

内置:

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

自然语言处理Python本地部署搜索优化AWSBedrockOpenSearch代理系统

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Opensearch MCP Server With Bedrock And Strands

MCP World · 本页

1stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Opensearch MCP Server With Bedrock And Strands 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Opensearch MCP Server With Bedrock And Strands 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Opensearch MCP Server With Bedrock And Strands 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Opensearch MCP Server With Bedrock And Strands 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Opensearch MCP Server With Bedrock And Strands 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP