杂工MCP-家庭故障排除助理
一个模型上下文协议(MCP)服务器,为VS Code GitHub Copilot提供杂工故障排除工具。获取常见家庭问题的即时建议,如管道、电气问题、车库门等。
🔧 特性
- MCP服务器:基于Go的MCP服务器实现模型上下文协议
- VS代码扩展:与GitHub Copilot无缝集成
- 故障排除工具:
suggest_fix家庭问题诊断工具 - 聊天参与者:使用
@handyman在Copilot Chat中获取会话帮助 - 交叉平台的:适用于macOS(ARM64和AMD64)、Windows和Linux的预构建二进制文件
📁 项目结构
my-handyman-mcp/
├── mcp-server/ # Go-based MCP server
│ ├── main.go # Server implementation
│ └── go.mod # Go module file
└── vscode-extension/ # VS Code extension
├── extension.js # Extension entry point
├── package.json # Extension manifest
└── bin/ # Pre-compiled MCP server binaries
├── handyman-mcp-darwin-arm64
├── handyman-mcp-darwin-amd64
├── handyman-mcp-windows-amd64.exe
└── handyman-mcp-linux-amd64🚀 快速开始
先决条件
- 带有GitHub Copilot扩展的VS代码
- 转到1.25+(从源代码构建)
安装
- 克隆存储库:
git clone https://github.com/yourusername/my-handyman-mcp.git
cd my-handyman-mcp- 安装VS代码扩展:
cd vscode-extension
npm install
# Copy to VS Code extensions folder or use F5 to debug- 构建MCP服务器(可选):
cd mcp-server
go build -o ../vscode-extension/bin/handyman-mcp main.go💬 用法
使用聊天参与者
在VS Code中,打开Copilot Chat并使用 @handyman 参与者:
@handyman My garage door won't close
@handyman The kitchen sink is draining slowly
@handyman Need help with a flickering light fixture运作原理
- 用户查询 → 您键入 `@handyman
` 在Copilot聊天
- VS代码扩展 → 启动MCP服务器并注册工具
- MCP服务器 → 通过以下方式处理请求
suggest_fix工具 - 克劳德/副驾驶 → 将MCP响应与其他知识结合起来
- 响应 → 您将获得全面的故障排除建议
🛠️ 可用工具
suggest_fix
为家庭问题提供故障排除建议。
输入:
{
"problem": "Description of the household issue"
}输出:
- 诊断步骤
- 民事诉讼
- 修复建议
- 安全警告
🔨 发展
构建MCP服务器
cd mcp-server
# Build for current platform
go build -o handyman-mcp main.go
# Cross-compile for different platforms
GOOS=darwin GOARCH=arm64 go build -o ../vscode-extension/bin/handyman-mcp-darwin-arm64 main.go
GOOS=darwin GOARCH=amd64 go build -o ../vscode-extension/bin/handyman-mcp-darwin-amd64 main.go
GOOS=windows GOARCH=amd64 go build -o ../vscode-extension/bin/handyman-mcp-windows-amd64.exe main.go
GOOS=linux GOARCH=amd64 go build -o ../vscode-extension/bin/handyman-mcp-linux-amd64 main.go测试扩展
- 在VS Code中打开项目
- 按
F5启动扩展开发主机 - 在新窗口中打开Copilot Chat
- 测试用
@handyman
MCP协议实现
服务器实现了这些MCP方法:
initialize-握手和服务器信息tools/list-列出可用工具tools/call-执行suggest_fix工具
通信通过STDIO上的JSON-RPC 2.0进行。
📋 交互示例
车库门问题:
User: @handyman garage door won't close
Response: Provides sensor alignment checks, track inspection, force settings...管道问题:
User: @handyman slow draining sink
Response: Suggests drain cleaning, P-trap inspection, vent checks...电气问题:
User: @handyman light switch not working
Response: Circuit breaker check, switch replacement steps, safety warnings...🏗️ 建筑
┌─────────────────┐
│ VS Code │
│ + Copilot │
└────────┬────────┘
│
▼
┌─────────────────┐
│ VS Code Ext │◄──── Registers @handyman participant
│ (extension.js) │◄──── Registers suggest_fix tool
└────────┬────────┘
│
│ STDIO (JSON-RPC)
▼
┌─────────────────┐
│ MCP Server │
│ (Go Binary) │◄──── Implements MCP protocol
│ │◄──── Processes tool calls
└─────────────────┘🤝 贡献
欢迎投稿!要添加新工具,请执行以下操作:
- 更新
handleListTools()在main.go具有新的工具定义 - 在中添加处理程序
handleCallTool() - 更新extension.js以注册新工具
- 重建二进制文件
- 使用Copilot Chat进行测试
📝 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🙏 致谢
- 内置于 模型上下文协议(MCP)
- 由GitHub Copilot和Claude提供技术支持
- VS代码语言模型API
📧 支持
对于问题或疑问:
- 在GitHub上打开一个问题
- 检查 MCP文件
- 查看输出面板中的VS代码扩展日志
______________________________________________________________________
注: 这是一个演示项目,展示了如何为VS Code GitHub Copilot集成构建MCP服务器。对于复杂或危险的家庭维修,请务必咨询专业人员。
