使用说明

项目简介

Consul服务助手是一个基于Model Context Protocol (MCP) 构建的服务器,旨在连接大型语言模型 (LLM) 如Claude 和 HashiCorp Consul。通过此服务器,用户可以使用自然语言让LLM理解和分析其微服务架构的健康状况、连接状态以及潜在问题,从而实现更智能的运维分析和故障排查。

主要功能点

  • 服务发现与分析: 列出和分析Consul中注册的所有服务,快速了解微服务架构概况。
  • 健康检查诊断: 识别并诊断Consul报告的健康检查失败项,辅助用户定位服务故障。
  • 服务网格可视化: 生成服务网格架构图,直观展示服务之间的连接关系和健康状态。
  • 连接问题检测: 检测服务连接问题,并提供潜在的根本原因和改进建议。
  • 智能运维洞察: 利用AI洞察服务负载均衡和资源利用率,为优化微服务架构提供数据支持。

安装步骤

  1. 克隆仓库
    git clone https://github.com/3loka/consul-mcp-server.git
    cd consul-mcp-server
  2. 安装依赖
    npm install
  3. 构建项目
    npm run build
  4. 配置环境变量 在项目根目录下创建 '.env' 文件,并根据您的Consul环境配置以下变量:
    CONSUL_ADDR=http://localhost:8500  # Consul服务器地址,默认为本地8500端口
    PORT=3000                       # HTTP服务器端口,默认为3000。如果使用stdio模式可以忽略
    USE_HTTP=true                     # 是否启用HTTP模式,设置为 "true" 启用HTTP模式,留空或删除则为stdio模式。推荐使用stdio模式。

服务器配置

以下配置信息用于配置MCP客户端(如Cursor IDE 或 Claude Desktop),使其能够连接到 Consul服务助手 MCP服务器。

Cursor IDE 配置 (JSON):

{
  "name": "consul-assistant",  // MCP服务器名称,可自定义
  "type": "command",          // 服务器类型,固定为 "command"
  "command": "npx -y consul-mcp-server" // 启动 Consul服务助手 MCP 服务器的命令。请确保您已全局安装或在项目路径下可以通过 npx 找到 'consul-mcp-server' 命令。
}

Claude Desktop 配置 (JSON):

{
  "mcpServers": {
    "consul-assistant": {      // MCP服务器名称,可自定义,与Cursor配置中的 name 保持一致
      "command": "npx",       // 启动命令,通常为 npx 或 node
      "args": ["-y", "consul-mcp-server"] // 命令参数,固定为 ["-y", "consul-mcp-server"]
    }
  }
}

注意:

  • stdio模式 vs HTTP模式: 此Consul MCP Server 支持 'stdio' 和 'HTTP' 两种传输模式。 推荐使用 'stdio' 模式,因为它更简洁,无需额外配置端口。 如果您选择 'HTTP' 模式,请确保 '.env' 文件中 'USE_HTTP=true',并在MCP客户端配置中指定 'http://localhost:3000' (或您在 '.env' 中设置的端口)。
  • 启动命令: 'npx -y consul-mcp-server' 命令假设您已正确安装 Node.js 和 npm,并且可以执行 'npx' 命令。 '-y' 参数是为了在执行 'npx' 时自动确认安装 'consul-mcp-server' 包(如果尚未安装)。

基本使用方法

  1. 启动 Consul 服务助手 MCP 服务器 在项目根目录下,根据您选择的模式运行以下命令:

    • stdio 模式 (推荐,无需配置 'USE_HTTP=true')

      npm start
    • HTTP 模式 (需要配置 'USE_HTTP=true')

      npm start:http
  2. 配置 MCP 客户端 将上述 服务器配置 JSON 代码添加到您的 MCP 客户端 (Cursor IDE 或 Claude Desktop) 的 MCP 服务器设置中,并启用该服务器。

  3. 在 MCP 客户端中使用自然语言指令 连接成功后,您可以在 MCP 客户端 (如 Claude) 中使用以下示例指令,与 Consul 服务助手进行交互,分析您的 Consul 环境:

    • 'Show me all services registered in Consul' (显示 Consul 中注册的所有服务)
    • 'Which services have failing health checks?' (哪些服务有健康检查失败?)
    • 'Create a diagram of my service mesh connections' (创建我的服务网格连接图)
    • 'Analyze which services are having connectivity issues' (分析哪些服务有连接问题)
    • 'What's the overall health of my microservices architecture?' (我的微服务架构的整体健康状况如何?)
    • 'Show me services with high error rates in their connections' (显示连接错误率高的服务)

    更多可用指令,请参考仓库 'README.md' 中的 "Example Prompts" 和 "Available MCP Actions" 部分。

信息

分类

开发者工具