郑州公路建设有限公司网站,网站广告制作,做那种的视频网站有哪些,html 网站 模板中文项目概述
elasticsearch-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器实现#xff0c;提供了与 Elasticsearch 和 OpenSearch 交互的能力。该服务器允许用户搜索文档、分析索引以及管理集群#xff0c;通过一系列工具函数实现这些功能。
项目结构
项目主…项目概述
elasticsearch-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器实现提供了与 Elasticsearch 和 OpenSearch 交互的能力。该服务器允许用户搜索文档、分析索引以及管理集群通过一系列工具函数实现这些功能。
项目结构
项目主要由以下部分组成 服务器核心 (server.py) 定义了 SearchMCPServer 类负责初始化服务器、创建搜索客户端和注册工具提供了 run_search_server 函数支持不同的传输协议stdio、streamable-http、sse包含命令行参数解析功能 工具模块 (tools/) register.py定义 ToolsRegister 类负责注册工具到 MCP 服务器index.py定义 IndexTools 类提供索引管理工具document.py定义 DocumentTools 类提供文档操作工具cluster.py定义 ClusterTools 类提供集群管理工具alias.py定义 AliasTools 类提供别名管理工具general.py定义 GeneralTools 类提供通用 API 请求工具 配置文件 docker-compose-elasticsearch.yml用于启动 Elasticsearch 集群docker-compose-opensearch.yml用于启动 OpenSearch 集群.env.example环境变量示例
工作流程 #mermaid-svg-Z9VJbZ8hZZJP5JHa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .error-icon{fill:#552222;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .marker.cross{stroke:#333333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .cluster-label text{fill:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .cluster-label span{color:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .label text,#mermaid-svg-Z9VJbZ8hZZJP5JHa span{fill:#333;color:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .node rect,#mermaid-svg-Z9VJbZ8hZZJP5JHa .node circle,#mermaid-svg-Z9VJbZ8hZZJP5JHa .node ellipse,#mermaid-svg-Z9VJbZ8hZZJP5JHa .node polygon,#mermaid-svg-Z9VJbZ8hZZJP5JHa .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .node .label{text-align:center;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .node.clickable{cursor:pointer;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .arrowheadPath{fill:#333333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .cluster text{fill:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa .cluster span{color:#333;}#mermaid-svg-Z9VJbZ8hZZJP5JHa div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Z9VJbZ8hZZJP5JHa :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 工具层 客户端层 elasticsearch opensearch IndexTools DocumentTools ClusterTools AliasTools GeneralTools SearchClient 用户请求 SearchMCPServer 引擎类型? Elasticsearch 客户端 OpenSearch 客户端 注册工具 处理用户请求 返回结果 功能特点 索引操作 列出所有索引获取索引信息映射、设置、别名创建新索引删除索引 文档操作 搜索文档创建或更新文档通过 ID 获取文档删除文档通过查询删除文档 集群操作 获取集群健康信息获取集群统计信息 别名操作 列出所有别名获取特定索引的别名信息创建或更新别名删除别名 通用操作 执行通用 HTTP API 请求
使用方式 配置环境变量 git clone https://github.com/cr7258/elasticsearch-mcp-server.gitcd elasticsearch-mcp-server复制 .env.example 到 .env 并更新相应的值 启动 Elasticsearch/OpenSearch 集群 # 对于 Elasticsearch
docker-compose -f docker-compose-elasticsearch.yml up -d# 对于 OpenSearch
docker-compose -f docker-compose-opensearch.yml up -d以docker-compose -f docker-compose-opensearch.yml up -d为例
运行 MCP 服务器 可以通过 stdio、streamable-http 或 sse 传输协议运行支持配置主机、端口和路径
chatbot测试
配置
示例1 问题创建一个名为 users 的索引要求包含 username 文本类型和 age 整型字段。
trae:
示例2 问题Returns basic information about the health of the cluster.
tare:
inspector测试
启动
配置 命令参数 环境变量 token
工具