使用说明
领事MCP服务器
用于与HashiCorp Consul服务发现和服务网格交互的模型控制协议(MCP)服务器。此实现遵循Anthropic的MCP规范,允许Claude分析您的微服务架构,创建图表,识别问题,并通过自然语言交互提供建议。
什么是模型控制协议?
模型控制协议(MCP) 是Anthropic开发的一个规范,它使像Claude这样的AI模型能够与外部工具和API进行交互。此实现将AI代理连接到您的Consul基础设施,允许您使用自然语言管理和分析您的服务。
特性
- 列出并分析在Consul中注册的服务
- 识别和诊断未通过的健康检查
- 生成服务网格架构图
- 检测服务连接问题并提供建议
- 获取有关服务负载平衡和资源利用率的AI见解
需求
- Node.js 18+
- npm或纱线
- 正在运行的Consul实例(本地或远程)
- 与Claude集成的Claude桌面或Cursor IDE
安装
# Clone the repository
git clone https://github.com/3loka/consul-mcp-server.git
cd consul-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
配置
创建一个 .env 根目录中的文件,包含以下变量:
CONSUL_HTTP_ADDR=http://localhost:8500
CONSUL_HTTP_TOKEN=your-consul-token
PORT=3000
USE_HTTP=true
CONSUL_HTTP_ADDR:Consul服务器的地址CONSUL_HTTP_TOKEN:Consul服务器的ACL令牌PORT:HTTP服务器的端口USE_HTTP:对于HTTP模式设置为“true”,对于stdio模式省略
安装
在Cursor中安装
要在中安装和使用此MCP服务器 光标:
-
在光标中,打开设置(⌘+,)并导航到“MCP”选项卡。
-
点击“+添加新的MCP服务器。”
-
输入以下内容:
- 姓名:领事助理
- 类型:命令
- 命令:npx-y consul mcp服务器
-
单击“添加”,然后滚动到服务器,单击“禁用”以启用服务器。
-
如果需要,请重新启动Cursor,以确保MCP服务器已正确加载。
在Claude Desktop中安装
要在Claude Desktop中安装和使用此MCP服务器:
-
在Claude Desktop中,打开设置(⌘+,)并导航到“开发人员”选项卡。
-
单击窗口底部的“编辑配置”。
-
编辑文件(
~/Library/Application Support/Claude/claude_desktop_config.json)要添加以下代码,请单击“保存文件”。
{
"mcpServers": {
"consul-assistant": {
"command": "npx",
"args": ["-y", "consul-mcp-server"]
}
}
}
如果服务器不是本地主机或启用了ACL,请改用以下配置
{
"mcpServers": {
"consul-assistant": {
"command": "npx",
"args": ["-y", "consul-mcp-server"],
"env": {
"CONSUL_HTTP_ADDR": "http://<host/ip>:8500",
"CONSUL_HTTP_TOKEN": "<ACL Token>"
}
}
}
}
- 重新启动Claude Desktop以确保MCP服务器已正确加载。
示例提示
连接后,与Claude一起尝试以下提示:
- “显示Consul中注册的所有服务”
- “哪些服务的健康检查不合格?”
- “创建我的服务网格连接图”
- “分析哪些服务存在连接问题”
- “我的微服务架构的整体健康状况如何?”
- “显示连接中错误率高的服务”
可用的MCP操作
此服务器执行以下MCP操作:
| 动作 | 描述 |
|---|---|
consul/get_services |
获取Consul中所有服务的列表 |
consul/get_health_checks |
获取健康检查,可选择过滤未通过的检查 |
consul/get_service_connections |
获取服务连接及其状态 |
consul/create_service_diagram |
创建服务关系的美人鱼图 |
consul/analyze_service |
分析特定服务以识别问题 |
consul/get_service_metrics |
获取特定服务的详细指标 |
运行演示环境
出于测试目的,您可以使用在Consul中注册的多个微服务设置本地演示环境:
# Run the setup script (requires Docker and Docker Compose)
chmod +x ./demo/setup-demo.sh
./demo/setup-demo.sh
这将开始:
- Consul服务器
- 几个演示微服务
- 在Consul中注册服务
- 设置一些服务网格连接和健康检查
演示演练
-
启动演示环境:
./scripts/setup-demo.sh -
启动MCP服务器:
npm start -
将Claude Desktop或Cursor连接到您的MCP服务器
-
尝试以下演示场景:
a.获取服务概述:
Show me all the services registered in my Consul instance.b.检查健康检查是否失败:
Are any services experiencing health issues? What might be causing them?c.创建服务网格图:
Create a diagram showing the connections between my services.d.分析连接问题:
Which services are having trouble connecting to each other?e.获取建议:
Based on my service mesh setup, what improvements would you recommend?
发展
项目结构
src/index.ts:主要入口点src/resources/:Consul API交互代码src/tools/:辅助功能,如图表生成src/server/:MCP服务器组件src/mcp/:MCP动作定义和处理程序src/prompts/:人工智能交互的模板管理src/tests/:测试套件
运行测试
npm test
建筑
npm run build
贡献
欢迎投稿!请随时提交拉取请求。
许可证
麻省理工学院
