Yeehaw MCP Server
使用说明(Markdown 格式)
-
项目简介
- Yeehaw MCP 服务器是一个符合 MCP(Model Context Protocol)的服务器端实现,专为 Claude Code 等 LLM 客户端提供后端上下文和功能能力。它托管并管理资源、工具以及提示模板等 MCP 资源,支持通过 JSON-RPC 与客户端通信,处理对资源读取、工具调用、提示获取等请求,并返回规范的 JSON-RPC 响应。
-
主要功能点
- MCP 接口实现
- 提供对资源的列举与读取(ListResources、ReadResource)
- 提供工具清单与执行(ListTools、CallTool)
- 数据模型与管理
- 支持项目、 barns(服务器)、livestock(应用实例)、critters(系统服务)等概念的管理
- 支持 wiki、ranch hands、herds、critter 与 livestock 的关联和同步
- 脚本与集成能力
- 集成 Kubernetes、Terraform、以及其他 IaC 提供者的发现与同步
- 具备读取日志、读取环境变量、以及简单的资源检测/发现能力
- 会话与传输
- 使用 StdioTransport,便于在本地开发与调试中以标准输入输出的方式与 Claude 会话交互
- 安全性与可扩展性
- 对资源、工具的输入进行一定的校验和结构化返回,具备扩展性以适配多传输协议
- 提供多种资源类型和工具操作,便于构建更复杂的 MCP 场景
- MCP 接口实现
-
安装与运行步骤
- 依赖与构建
- 需要 Node.js 版本(建议 Node 18+/20+,实际请以项目要求为准)
- 安装依赖并构建服务器代码(通常包含 npm install 和 npm run build)
- 运行
- 构建完成后,用 Node 运行生成的 dist/mcp-server.js(也可通过 npm 脚本直接启动)
- 服务器启动后,会输出提示信息,表示 MCP 服务器已在运行
- 测试
- 使用 MCP 客户端(如 Claude Code)配置 MCP 服务器信息,进行模拟的资源读取、工具调用等请求,观察返回的 JSON-RPC 响应是否符合 MCP 规范
- 依赖与构建
-
服务器配置(MCP 客户端所需的最小信息) 该信息用于 Claude Code 等 MCP 客户端在接入 Yeehaw MCP 服务器时建立连接。配置示例(JSON,不包含代码块): { "mcpServers": { "yeehaw": { "command": "node", "args": ["/path/to/yeehaw/dist/mcp-server.js"] } // 说明: // - server name: yeehaw(对应 MCP 服务器在代码中的配置名称) // - command: node(启动服务器的执行命令) // - args: ["/path/to/yeehaw/dist/mcp-server.js"](服务器主入口脚本的路径,需替换为实际构建产物路径) } }
-
基本使用方法
- 第一步:准备环境
- 确保 Node.js 已安装并完成依赖安装与构建
- 第二步:启动 MCP 服务器
- 构建后执行 dist/mcp-server.js,确保服务器在可连接的端口(若使用 stdin/stdout 传输则采用 STDIO 模式)
- 第三步:在 Claude Code 配置中添加 MCP 服务器
- 使用上面的服务器配置信息,将 Yeehaw 作为一个可用的 MCP 服务端挂载到 Claude Code 中
- 第四步:通过 MCP 客户端向服务器发送请求
- 请求类型包括 ListResources、ReadResource、ListTools、CallTool,服务器返回标准的 JSON-RPC 响应
- 第五步:查看结果
- 根据返回的 contents、contents.text、以及潜在的 error 信息,确定资源、工具或日志等上下文是否正确地暴露给 LLM 客户端
- 第一步:准备环境
-
注意事项
- 本实现包含许多本地与远程操作的集成逻辑(如 Kubernetes、Terraform、Dock/日志读取、Wiki、Ranch Hands 等),请确保目标环境具备访问权限与所需依赖(如 kubectl、aws CLI、ssh 配置等)。
- 运行时请注意安全性,避免对生产环境造成不可控的修改。
-
参考与兼容性
- MCP 服务端实现遵循 Model Context Protocol 的核心思想,通过标准化的资源、工具、提示模板等暴露后端能力,便于 LLM 客户端调用与查询上下文信息。