GitHub MCP Server in Go

GitHub MCP Server in Go

site icon
2025.04.02 3
GoGitHub集成代码管理开发自动化开发效率交流协作
GitHub MCP Server in Go 是一个基于Go语言实现的GitHub模型上下文协议(MCP)服务器。它允许AI助手通过GitHub API执行各种操作,如创建仓库、管理分支、操作文件等。该服务器支持多种认证方式,并提供了丰富的工具集,适用于开发协作和代码管理场景。
View on GitHub

Overview

基本能力

产品定位

GitHub MCP Server in Go 是一个用于与GitHub API交互的服务器,旨在通过MCP协议提供对GitHub功能的程序化访问。

核心功能

  • 支持通过GitHub API进行仓库管理(创建、搜索、分支操作等)
  • 支持文件内容操作(读取、创建、更新文件)
  • 支持问题管理(创建、查询、更新问题和评论)
  • 支持代码搜索和用户搜索
  • 提供多种认证方式(环境变量和HTTP头认证)
  • 支持与不同Web框架集成

适用场景

  • 自动化GitHub仓库管理
  • 代码库批量操作
  • 问题跟踪系统集成
  • 开发流程自动化
  • AI辅助开发工具

工具列表

  • search_repositories: 搜索GitHub仓库
  • create_repository: 创建新仓库
  • fork_repository: 复刻仓库
  • create_branch: 创建分支
  • get_file_contents: 获取文件内容
  • create_or_update_file: 创建或更新文件
  • push_files: 批量推送文件
  • create_issue: 创建问题
  • get_issue: 获取问题详情
  • list_issues: 列出问题
  • update_issue: 更新问题
  • add_issue_comment: 添加问题评论
  • list_commits: 列出提交
  • search_code: 搜索代码
  • search_issues: 搜索问题和拉取请求
  • search_users: 搜索用户

常见问题解答

  1. 认证失败:确保设置了正确的GitHub个人访问令牌
  2. 权限不足:检查令牌是否具有所需权限
  3. API限制:注意GitHub API的速率限制

使用教程

使用依赖

  • Go 1.21或更高版本
  • GitHub个人访问令牌

安装教程

go get github.com/metoro-io/github-mcp-server-go

认证设置

环境变量认证:

export GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token

HTTP头认证:

Authorization: Bearer your_github_token

Authorization: your_github_token

运行服务器

go run main.go

调试方式

  1. 构建项目:
go build -o github-mcp-server
  1. 运行测试:
go test ./...
  1. 检查日志输出以排查问题

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。