项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于提供与 OpenSearch 搜索引擎交互的工具。它允许LLM客户端通过标准化的MCP协议,调用服务器提供的工具来查询OpenSearch数据和获取索引信息,从而增强LLM应用的数据检索和知识库访问能力。
主要功能点
- OpenSearch 数据查询工具 (search): 允许LLM客户端使用 OpenSearch Query DSL 灵活地查询存储在 OpenSearch 中的数据。
- OpenSearch 索引信息检索工具 (get_indices): 提供获取 OpenSearch 集群中索引信息的工具,帮助LLM客户端了解数据结构和索引状态。
- MCP 协议支持: 完全兼容 MCP 协议,通过 JSON-RPC 与客户端通信,易于集成到支持 MCP 协议的 LLM 应用中。
- 工具能力声明: 服务器启动时声明自身提供的工具,客户端可以动态发现和调用这些工具。
安装步骤
本仓库本身是 MCP 服务器的实现代码,您需要将其部署到可以运行 Python 环境的服务器上。
-
克隆仓库: 首先,将仓库代码克隆到本地或服务器:
git clone https://github.com/MCP-Mirror/gowtham3105_mcp_server_opensearch.git cd gowtham3105_mcp_server_opensearch -
安装依赖: 建议使用 'uv' 进行依赖管理,根据仓库 'README.md' 中的 Building and Publishing 部分,可以使用以下命令同步依赖:
uv sync确保您的环境中已安装 'uv'。如果未安装,请参考 uv installation 进行安装。
-
配置 OpenSearch 连接: 服务器需要连接到 OpenSearch 实例。您需要设置以下环境变量来配置 OpenSearch 连接信息:
- 'OPENSEARCH_URL': OpenSearch 的 URL,默认为 'localhost:9200'。
- 'OPENSEARCH_USER': OpenSearch 的用户名,默认为 'admin'。
- 'OPENSEARCH_PASSWORD': OpenSearch 的密码,默认为 'admin'。 您可以通过修改运行服务器的环境变量或直接修改 'src/mcp_server_opensearch/opensearch_service.py' 文件中的默认值。
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude),您需要在客户端的配置文件中添加服务器信息。以 'claude_desktop_config.json' 为例,配置信息如下:
"mcpServers": { "mcp-server-opensearch": { "command": "uv", "args": [ "--directory", "/path/to/mcp-server-opensearch", // 请替换为 mcp-server-opensearch 仓库的实际路径 "run", "src/mcp_server_opensearch" // 运行 server.py 入口 ] } }
配置参数说明:
- '"mcp-server-opensearch"': 服务器名称,客户端用此名称标识和调用该服务器。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 运行 Python 代码。 您需要确保 'uv' 命令在 MCP 客户端可以访问的环境中。 如果您使用其他方式运行 Python 代码,请相应修改此命令。 例如,如果直接使用 'python' 命令,则可以设置为 '"command": "python"'。
- '"args"': 传递给启动命令的参数列表。
- '"--directory"': 指定工作目录为 mcp-server-opensearch 仓库的根目录。 请将 '/path/to/mcp-server-opensearch' 替换为实际的仓库路径。
- '"run"': 'uv run' 的子命令,用于运行 Python 模块或脚本。
- '"src/mcp_server_opensearch"': 指定要运行的 Python 模块路径,指向包含 'server.py' 和 'init.py' 的目录。 确保 'init.py' 中调用了 'server.main()' 函数作为入口点。 如果您的入口点是直接运行 'server.py' 文件,则可以将 '"args"' 修改为 '["run", "src/mcp_server_opensearch/server.py"]'。
注意: 请根据您的实际部署环境和 Python 运行方式,调整 'command' 和 'args' 参数。 确保 MCP 客户端可以正确执行配置的命令来启动 MCP 服务器。
基本使用方法
- 启动 MCP 服务器: 根据上述配置,启动 MCP 服务器。 确保 OpenSearch 连接配置正确,并且服务器可以正常运行。
- 配置并连接 MCP 客户端: 在支持 MCP 协议的 LLM 客户端中配置上述服务器信息。 客户端应该能够连接到 MCP 服务器并发现其提供的 'search' 和 'get_indices' 工具。
- 调用工具: 在 LLM 应用中,您可以指示 LLM 客户端调用 'mcp-server-opensearch' 服务器提供的工具。 例如,调用 'search' 工具来查询 OpenSearch 中的信息,或调用 'get_indices' 工具来获取索引列表。 工具的具体参数需要符合 'src/mcp_server_opensearch/server.py' 中定义的 'inputSchema'。
通过以上步骤,您可以将此 MCP OpenSearch 工具服务器集成到您的 LLM 应用中,利用 OpenSearch 强大的搜索能力增强 LLM 的知识检索和数据分析功能。
信息
分类
网页与API