本项目代码库是 elastic-mcp-server 的一个分支,将其改造为 opensearch-mcp-server,实现了与 OpenSearch 的交互。作为一个模型上下文协议 (MCP) 服务器的实现,它提供了与 OpenSearch 交互的功能,借助一系列工具,用户能够搜索文档、分析索引以及管理集群。
利用 Docker Compose 可启动 OpenSearch 集群,命令如下:
docker-compose up -d
此命令会启动一个包含三个节点的 OpenSearch 集群和 Kibana。默认 OpenSearch 用户名是 opensearch,密码为 test123。你可以通过 http://localhost:5601 访问 Kibana。
若使用 uv,需将代码库克隆到本地,并指定源代码路径。接着,将以下配置添加到 Claude Desktop 的配置文件 claude_desktop_config.json 中,记得把 path/to/src/opensearch_mcp_server 替换为你克隆仓库的实际路径。
{
"mcpServers": {
"opensearch": {
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "https://localhost:9200",
"OPENSEARCH_USERNAME": "opensearch",
"OPENSEARCH_PASSWORD": "test123"
}
}
}
}
不同系统下配置文件的路径如下:
~/Library/Application Support/Claude/claude_desktop_config.json完成上述操作后,重新启动 Claude Desktop 以加载新的 MCP 服务器。此时,你就能通过自然语言命令与 OpenSearch 集群进行交互,例如:
list_indices:可列出 OpenSearch 集群中的所有索引。get_mapping:用于获取特定索引的映射配置。get_settings:能够获取特定索引的设置配置。search_documents:使用 OpenSearch 查询 DSL 在索引中搜索文档。get_cluster_health:获取集群的健康状态。get_cluster_stats:获取集群的统计信息。该项目遵循 Apache License Version 2.0 许可协议,有关详细信息,请参阅 LICENSE 文件。