使用说明

项目简介

该项目实现了一个MCP(Model Context Protocol)服务器,专注于集成Elasticsearch。通过该服务器,LLM客户端可以标准化地访问Elasticsearch中的数据资源,并利用工具搜索Elasticsearch的官方文档和技术博客,从而增强LLM在处理与Elasticsearch相关任务时的上下文理解和功能执行能力。

主要功能点

  • 资源 (Resources):
    • 列出Elasticsearch索引: 允许LLM获取Elasticsearch集群中所有可用的索引列表。
    • 获取索引详情: 允许LLM查询特定Elasticsearch索引的详细信息,包括统计数据和元数据。
    • Elasticsearch文档语义搜索: 提供对Elasticsearch官方文档进行语义搜索的能力,帮助LLM查找相关概念和信息。
    • Elasticsearch Labs博客语义搜索: 提供对Elasticsearch Labs博客文章进行语义搜索的功能,以便LLM获取最新的技术趋势和实践经验。
  • 工具 (Tools):
    • Elasticsearch文档语义搜索 (工具版): 与资源功能类似,但工具版本返回格式化后的搜索结果,更适合LLM直接使用。
    • Elasticsearch Labs博客语义搜索 (工具版): 同样提供格式化结果的博客搜索工具。
  • Prompt 模板 (Prompts):
    • 检查Elasticsearch配置: 允许LLM通过与服务器交互,判断Elasticsearch实例是否可访问,并获得连接状态反馈。
    • Salesforce数据分析: 提供一个预定义的Prompt,引导LLM分析存储在Elasticsearch中的Salesforce数据,并提供初步的分析视角。

安装步骤

  1. 克隆仓库: 首先,将GitHub仓库 'https://github.com/meghanmurphy1/mcp' 克隆到本地。
  2. 环境准备:
    • 确保已安装 Claude 桌面应用
    • 确保已安装并运行 Elasticsearch 实例,并记录 Elasticsearch 的URL和API Key。
    • 确保已安装 Python 环境。
  3. 配置环境变量:
    • 在项目根目录下,创建或编辑 '.env' 文件。
    • 根据你的Elasticsearch环境,配置以下环境变量:
      API_KEY=<你的Elasticsearch API Key>
      ES_URL=<你的Elasticsearch URL>
  4. 运行服务器:
    • 在项目根目录下,打开终端并执行以下命令启动 MCP 服务器:
      make run
      python server.py
    • 如果首次运行,可以先执行 'make add-claude-config' 命令(根据 'README.md' 描述)。

服务器配置

MCP客户端需要配置以下JSON格式信息才能连接到此MCP服务器。请注意,这里的 'command' 和 'args' 是基于仓库提供的 'README.md' 和 'server.py' 启动方式推断的,请根据实际情况调整。

{
  "server_name": "Elastic Demo MCP Server",  // 服务器名称,在 server.py 中定义
  "command": "python",                     // 运行服务器的命令,这里使用 python
  "args": ["server.py"]                     // 运行命令的参数,指定 server.py 文件
}

配置参数注释:

  • 'server_name': MCP服务器的名称,用于标识服务器,在客户端显示。
  • 'command': 启动服务器程序的可执行命令,通常是 Python 解释器。
  • 'args': 传递给 'command' 的参数列表,这里指定运行 'server.py' 文件。

请将以上JSON配置信息填入到你的MCP客户端(如 Claude 桌面应用或其他支持MCP协议的LLM应用)的服务器配置中。

基本使用方法

  1. 启动MCP服务器: 按照安装步骤中的说明启动 'server.py'。
  2. 配置MCP客户端: 将上述服务器配置JSON添加到你的MCP客户端中,建立与MCP服务器的连接。
  3. 在LLM中使用: 连接成功后,你可以在LLM应用中:
    • 使用 Resources 功能,通过指定的资源URL (例如 'elasticsearch://indices', 'docs://search/{query}') 访问 Elasticsearch 数据。
    • 使用 Tools 功能,调用预定义的工具 (例如 'search_elasticsearch_documentation', 'search_elasticsearch_labs_blogs') 执行 Elasticsearch 相关操作。
    • 使用 Prompts 功能,触发预设的 Prompt 模板 (例如 'is_elasticsearch_configured', 'analyze_salesforce_data'),与LLM进行特定场景的交互。

具体如何使用 Resources, Tools 和 Prompts 取决于你的 MCP 客户端应用的功能和界面。通常,你需要在客户端中查找或输入相应的资源URL、工具名称或 Prompt 名称来调用 MCP 服务器的功能。

信息

分类

数据库与文件