项目简介
该项目是一个 Model Context Protocol (MCP) 服务器,旨在连接大型语言模型 (LLM) 客户端与 Elasticsearch 集群。它允许 LLM 通过标准化的 MCP 协议,利用 Elasticsearch 的强大搜索和数据管理能力,实现更智能的应用。
主要功能点
- 索引管理:允许 LLM 创建新的 Elasticsearch 索引,并查看现有的索引列表。
- 数据写入:支持 LLM 向指定的 Elasticsearch 索引中添加新的文档数据。
- 数据查询:使 LLM 能够执行复杂的 Elasticsearch 查询,检索索引中的信息。
- 元数据发现:自动发现并提供 Elasticsearch 索引的映射 (schema) 信息,帮助 LLM 理解数据结构。
安装步骤
- 克隆仓库:将 GitHub 仓库 'https://github.com/da1y/mcp-server-elasticsearch' 克隆到本地。
- 安装依赖:在项目根目录下运行 'npm install' 或 'yarn install' 安装项目依赖。
- 启动 Elasticsearch:确保已安装并运行 Elasticsearch 集群。可以使用 Docker 快速启动一个单节点 Elasticsearch 实例 (命令见下方)。
- 运行 MCP 服务器:在项目根目录下,使用命令行工具运行服务器,需要传入 Elasticsearch 的连接 URL 作为参数。例如:
npx @modelcontextprotocol/server-elasticsearch http://localhost:9200
Docker 一键运行 Elasticsearch (可选)
如果您没有 Elasticsearch 环境,可以使用 Docker 快速启动一个用于测试的 Elasticsearch 实例:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.11.3
请注意,这仅用于本地测试,生产环境请使用更完善的 Elasticsearch 集群配置。
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中添加以下 JSON 配置信息。假设您的 Elasticsearch 服务器运行在 'http://localhost:9200'。
{ "mcpServers": { "elasticsearch": { // 服务器名称,可以自定义,用于在客户端中标识和引用 "command": "npx", // 启动服务器的命令,通常是 npx 或 node "args": [ // 传递给启动命令的参数 "-y", // (可选) 一些 npm 包管理器需要的参数,例如 -y 自动确认 "@modelcontextprotocol/server-elasticsearch", // MCP 服务器的 npm 包名 "http://localhost:9200" // Elasticsearch 集群的连接 URL,**请替换为您的 Elasticsearch 地址** ] } } }
配置说明:
- '"elasticsearch"': 这是您为该 MCP 服务器定义的名称,在客户端中用于引用。您可以自定义这个名称。
- '"command": "npx"' 和 '"args"': 这两个字段定义了如何启动 MCP 服务器进程。
- '"command": "npx"' 表示使用 'npx' 命令来执行。
- '"args"' 数组包含了传递给 'npx' 的参数:
- '"-y"': (可选) '-y' 参数通常用于 npm 包管理器,例如 'npx -y' 可以自动确认一些安装提示。如果您的环境中不需要,可以移除。
- '"@modelcontextprotocol/server-elasticsearch"': 这是 MCP 服务器的 npm 包名称。'npx' 会查找并执行这个包。
- '"http://localhost:9200"': 这是最重要的参数,需要替换为您实际的 Elasticsearch 集群的 HTTP 地址。 MCP 服务器会使用这个地址连接到 Elasticsearch。
请将上述 JSON 配置添加到您的 MCP 客户端的配置文件中(例如 Claude Desktop 的 'claude_desktop_config.json')。具体的配置文件位置和格式请参考您使用的 MCP 客户端的文档。
基本使用方法
-
启动 MCP 服务器:按照上述安装步骤启动 MCP 服务器。
-
配置 MCP 客户端:将上述服务器配置添加到您的 MCP 客户端中,并确保客户端已连接到该服务器。
-
在 LLM 中使用:现在,您的 LLM 客户端应该能够通过 MCP 协议与 Elasticsearch 服务器交互了。您可以指示 LLM 使用 "elasticsearch" 服务器提供的工具(例如 "search", "create_index", "index_document", "list_indices")来管理 Elasticsearch 索引和查询数据。
例如,在 Claude 中,您可以指示 Claude 使用 'elasticsearch.search' 工具来查询数据,或者使用 'elasticsearch.list_indices' 工具来查看索引列表。具体的工具名称和使用方法请参考该 MCP 服务器的 'ListTools' 接口返回的工具列表和工具描述。
信息
分类
数据库与文件