家庭故障排除助手

一个基于Model Context Protocol (MCP)的服务器,为VS Code GitHub Copilot提供家庭故障排除工具,涵盖管道、电气问题、车库门等常见家庭问题。

  • by mchellappa
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 mchellappa/my-handyman-mcp

使用说明

杂工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+(从源代码构建)

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/my-handyman-mcp.git
    cd my-handyman-mcp
    
  2. 安装VS代码扩展:

    cd vscode-extension
    npm install
    # Copy to VS Code extensions folder or use F5 to debug
    
  3. 构建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

运作原理

  1. 用户查询 → 您键入 @handyman <problem> 在Copilot聊天
  2. VS代码扩展 → 启动MCP服务器并注册工具
  3. MCP服务器 → 通过以下方式处理请求 suggest_fix 工具
  4. 克劳德/副驾驶 → 将MCP响应与其他知识结合起来
  5. 响应 → 您将获得全面的故障排除建议

🛠️ 可用工具

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

测试扩展

  1. 在VS Code中打开项目
  2. 按 F5 启动扩展开发主机
  3. 在新窗口中打开Copilot Chat
  4. 测试用 @handyman <your problem>

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
└─────────────────┘

🤝 贡献

欢迎投稿!要添加新工具,请执行以下操作:

  1. 更新 handleListTools() 在 main.go 具有新的工具定义
  2. 在中添加处理程序 handleCallTool()
  3. 更新extension.js以注册新工具
  4. 重建二进制文件
  5. 使用Copilot Chat进行测试

📝 许可证

MIT许可证-有关详细信息,请参阅许可证文件

🙏 致谢

📧 支持

对于问题或疑问:

  • 在GitHub上打开一个问题
  • 检查 MCP文件
  • 查看输出面板中的VS代码扩展日志

注: 这是一个演示项目,展示了如何为VS Code GitHub Copilot集成构建MCP服务器。对于复杂或危险的家庭维修,请务必咨询专业人员。