
mcp-server-opensearch: An OpenSearch MCP Server

2025.05.08
0
Python语义记忆层OpenSearch 集成数据库搜索工具
ibrooksSDX_mcp-server-opensearch 是一个基于 OpenSearch 的 MCP(Model Context Protocol)服务器,旨在为大型语言模型(LLM)应用提供语义记忆层。它通过标准化的协议连接 LLM 与外部数据源,支持在 OpenSearch 数据库中存储和检索记忆。
View on GitHub
Overview
基本能力
产品定位
ibrooksSDX_mcp-server-opensearch 是一个基于 OpenSearch 的 MCP 服务器,为 LLM 应用提供语义记忆层,支持数据的存储和检索。
核心功能
- 语义记忆层:在 OpenSearch 数据库上构建语义记忆层,支持存储和检索记忆。
- 工具支持:提供
search-openSearch
工具,用于存储记忆到 OpenSearch 数据库。 - 标准化协议:遵循 Model Context Protocol (MCP),实现 LLM 与外部数据源的无缝集成。
适用场景
- AI 增强的 IDE:为开发工具提供上下文记忆功能。
- 聊天界面增强:在聊天应用中存储和检索对话历史。
- 自定义 AI 工作流:支持复杂 AI 工作流中的数据存储和检索需求。
工具列表
search-openSearch
:- 能力:将记忆存储到 OpenSearch 数据库。
- 输入:
query
(JSON 格式的查询消息)。 - 返回:确认消息。
常见问题解答
- 异步客户端安装问题:
- 问题描述:安装 OpenSearch 异步客户端时遇到错误
zsh: no matches found: opensearch-py[async]
。 - 解决方案:参考 OpenSearch Async Client Docs 解决安装问题。
使用教程
使用依赖
- 安装 OpenSearch 异步客户端:
shell pip install opensearch-py[async]
安装教程
- 通过 Smithery 安装:
bash npx -y @smithery/cli install @ibrooksSDX/mcp-server-opensearch --client claude
- 使用 uv 运行:
shell uv run mcp-server-opensearch \ --opensearch-url "http://localhost:9200" \ --index-name "my_index"
或shell uv run fastmcp run demo.py:main
调试方式
- 测试本地 OpenSearch 客户端:
shell uv run python src/mcp-server-opensearch/test_opensearch.py
- 测试 MCP 服务器与 OpenSearch 客户端的连接:
shell cd src/mcp-server-opensearch uv run fastmcp dev demo.py
与 Claude Desktop 集成
在 claude_desktop_config.json
中添加以下配置:
{
"opensearch": {
"command": "uvx",
"args": [
"mcp-server-opensearch",
"--opensearch-url",
"http://localhost:9200",
"--opensearch-api-key",
"your_api_key",
"--index-name",
"your_index_name"
]
}
}
或使用 FastMCP UI 安装:
uv run fastmcp install demo.py
环境变量配置
OPENSEARCH_HOST
: OpenSearch 服务器 URL(如http://localhost
)。OPENSEARCH_HOSTPORT
: OpenSearch 服务器端口(如9200
)。INDEX_NAME
: 使用的索引名称。