适用于家庭助理的GitHub MCP服务器插件
](https://github.com/pedrobsm/github-mcp-server-haos-addon/releases)  
一个运行 GitHub模型上下文协议(MCP)服务器,实现与VSCode的无缝集成,以便直接从您的Home Assistant操作系统安装进行远程开发、可视化和人工智能辅助的GitHub工作流。
🚀 特性
- 完整的GitHub MCP服务器 -通过MCP协议访问所有GitHub API
- HTTP REST API -将MCP stdio转换为HTTP以进行远程访问
- VSCode集成 -非常适合通过SSH进行远程开发
- Vibecoding支持 -使用GitHub Copilot进行人工智能辅助开发
- 安全配置 -通过Home Assistant UI管理GitHub令牌
- 可配置工具集 -仅启用您需要的GitHub功能
- 多架构 -支持amd64、aarch64和armv7
- 健康监测 -内置健康检查和日志记录
📋 先决条件
- 家庭助理操作系统或监督安装
- SSH访问您的家庭助理实例
- GitHub个人访问令牌(在此处创建一个)
- 带SSH远程扩展的VSCode(用于远程开发)
🔧 安装
1.添加存储库
将此存储库添加到您的Home Assistant附加存储库:
- 导航到 主管 → 附加应用商店 → ⋮ (三点菜单)
- 选择 仓库
- 添加存储库URL:
https://github.com/pedrobsm/github-mcp-server-haos-addon2.安装附加组件
- 找到 GitHub MCP服务器 在附加商店中
- 点击 安装
- 等待安装完成
3.配置附加组件
去 配置 选项卡并设置:
github_token: ghp_your_token_here
toolsets: repos,issues,pull_requests,projects
port: 8080
log_level: info配置选项:
| 选项 | 描述 | 默认值 | 必填 |
|---|---|---|---|
github_token | GitHub个人访问令牌 | - | ✅ 是的 |
toolsets | 以逗号分隔的已启用工具集列表 | repos,issues,pull_requests,projects | 没有 |
port | HTTP API端口 | 8080 | 没有 |
log_level | 日志记录级别(调试/信息/警告/错误) | info | 没有 |
可用工具集:
repos-存储库管理issues-问题跟踪pull_requests-拉取请求操作projects-GitHub项目search-代码和存储库搜索code-代码导航
4.启动附加组件
- 去 信息 标签
- 启用 启动时启动 (可选)
- 点击 开始
- 检查 日志 成功启动的选项卡
🔌 VSCode设置
方法1:SSH端口转发(推荐)
在Home Assistant操作系统上通过SSH进行远程开发时:
步骤1:创建SSH隧道
# From your local machine
ssh -L 8080:localhost:8080 root@homeassistant.local这会将端口8080从Home Assistant转发到您的本地计算机。
步骤2:配置VSCode MCP客户端
创建或编辑 .vscode/settings.json 在您的工作空间中:
{
"mcp": {
"servers": {
"github": {
"type": "http",
"url": "http://localhost:8080/mcp",
"description": "GitHub MCP Server via Home Assistant"
}
}
}
}步骤3:测试连接
- 打开命令选项板(
Ctrl+Shift+P或Cmd+Shift+P) - 搜索“MCP:测试连接”
- 选择“github”服务器
- 您应该看到一条成功消息
方法2:直接访问
如果通过SSH直接在Home Assistant操作系统上开发:
{
"mcp": {
"servers": {
"github": {
"type": "http",
"url": "http://localhost:8080/mcp",
"description": "GitHub MCP Server"
}
}
}
}📚 使用示例
使用GitHub Copilot进行Vibecoding
配置后,VSCode中的GitHub Copilot可以通过MCP访问您的GitHub数据:
- 列出您的存储库:“显示我的所有GitHub存储库”
- 检查问题:“我在项目X中有哪些悬而未决的问题?”
- 拉取请求状态:“显示等待审核的最新PR”
- 创建问题:“为此错误创建一个bug问题”
API终点
该插件公开了以下HTTP端点:
GET /health-健康检查GET /-API信息POST /mcp/execute-执行MCP命令POST /mcp/initialize-初始化MCP会话GET /docs-交互式API文档(Swagger UI)GET /redoc-API替代文件(ReDoc)
API调用示例
curl -X POST http://localhost:8080/mcp/execute \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"params": {},
"id": 1
}'🔒 安全注意事项
GitHub代币
- 永不承诺 您的令牌到版本控制
- 使用 细粒度令牌 所需范围最小
- 旋转令牌 定期
- 撤销代币 如果妥协
所需令牌权限
为了实现完整功能,您的令牌需要:
- 存储库访问:读/写存储库
- 问题:读/写问题
- 拉取请求:读/写拉取请求
- 项目:读/写项目(如果使用项目工具集)
网络安全
- 该插件仅在本地公开端口8080
- 使用SSH隧道进行远程访问
- 切勿将端口直接暴露于互联网
- 家庭助理身份验证是 不 已应用(使用SSH进行安全保护)
🐛 故障排除
加载项无法启动
检查日志以了解:
- GitHub令牌格式无效
- 缺少令牌配置
- Docker连接问题
# View logs
ha addons logs github-mcp-server“Docker不可访问”错误
该插件需要访问Docker。确保:
- 家庭助理主管正在运行
- Docker守护进程可访问
- 加载项具有必要的权限
VSCode无法连接
- 验证加载项是否正在运行:检查 信息 选项卡显示“正在运行”
- 测试健康终点:
curl http://localhost:8080/health- 检查SSH隧道是否处于活动状态:
netstat -an | grep 8080令牌验证失败
确保您的令牌:
- 开始于
ghp_或github_pat_ - 尚未过期
- 具有所需权限
- 粘贴正确(无多余空格)
📊 监控
健康检查
curl http://localhost:8080/health答复:
{
"status": "healthy",
"docker_accessible": true,
"version": "1.0.0"
}日志
从家庭助理查看实时日志:
- 用户界面:主管→ GitHub MCP服务器→ Logs
- 命令行界面:
ha addons logs github-mcp-server -f
🤝 贡献
欢迎投稿!拜托:
- 克隆该仓库
- 创建要素分支
- 进行更改
- 提交拉取请求
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
- 问题:
- 讨论:
- 家庭助理社区: 社区论坛
______________________________________________________________________
由...制作❤️ Home Assistant和GitHub社区
