Github Enterprice Mcp

Github Enterprice Mcp

🚀 GitHub 企业版 MCP 服务器

本项目是一个 GitHub 企业版 MCP(Message-Centered Protocol)服务器,可与 Claude DesktopPerplexity AI 等工具进行交互,为用户提供便捷的代码搜索、问题跟踪等功能。

✨ 主要特性

  • 代码搜索:支持依据编程语言、仓库路径和文件扩展等条件开展高级代码搜索。
  • 问题跟踪:能够查询问题和拉取请求的状态、标签以及作者信息。
  • 用户信息:可搜索用户的类型(个人或组织)、关注者数量和地理位置。
  • GitHub API 集成:借助 GitHub 的 REST API 执行各类操作,如仓库访问和代码搜索。

📦 安装指南

原文档未提供安装步骤,此章节跳过。

💻 使用示例

基础用法

# 以下是使用该服务器部分功能的示例代码
# 假设已经有了一个有效的服务器实例 server

# 搜索代码
server.searchCode("example query")

# 获取仓库文件列表
server.getFilesInRepo("owner", "repo")

# 获取文件内容
server.getFileContent("owner", "repo", "file_path")

高级用法

# 更复杂的搜索示例,结合多种搜索条件
# 搜索 JavaScript 语言,在指定仓库和路径下的代码
search_query = "language:javascript repo:owner/repo path:app/src"
server.searchCode(search_query)

# 创建一个带有标签的新问题
new_issue_title = "New issue title"
new_issue_content = "This is the content of the new issue."
labels = ["bug", "enhancement"]
server.createIssue(new_issue_title, new_issue_content, "owner", "repo", labels)

📚 详细文档

支持的操作

代码相关操作

  1. searchCode(query: string) - 根据给定的查询搜索代码。
  2. getFilesInRepo(owner: string, repo: string, path?: string) - 获取指定仓库或路径下的文件列表。
  3. getFileContent(owner: string, repo: string, file_path: string) - 返回指定文件的内容。
  4. searchCodeByLanguage(language: string) - 按编程语言搜索代码。
  5. searchCodeByPath(path: string) - 根据路径搜索代码。
  6. searchCodeByExtension(extension: string) - 根据文件扩展名搜索代码。

问题与拉取请求相关操作

  1. searchIssues(query: string) - 搜索问题和拉取请求。
  2. getIssueDetails(owner: string, repo: string, issue_number: number) - 获取指定问题的详细信息。
  3. createIssue(title: string, content: string, owner: string, repo: string, labels?: Array) - 创建新的问题或拉取请求。
  4. updateIssueStatus(issue_id: string, state: string) - 更新问题或拉取请求的状态(打开或关闭)。

用户信息相关操作

  1. searchUsers(query: string) - 搜索用户或组织。
  2. getUserDetails(username: string) - 获取指定用户的详细信息,包括仓库、关注者和参与的项目。
  3. followUser(followee: string) - 关注指定用户。

仓库与团队管理

  1. getRepositoryDetails(owner: string, repo: string) - 获取指定仓库的详细信息,包括成员列表和权限。
  2. createRepository(name: string, description?: string) - 创建新的仓库。
  3. addRepositoryMember(repo_id: string, username: string, role: string) - 向指定仓库添加新成员。

代码审查与协作

  1. requestReview(pull_request_id: string, reviewer: string) - 请求对指定拉取请求进行代码审查。
  2. leaveComment(file_path: string, content: string, pull_request_id: string) - 在指定文件上留下评论。
  3. approvePullRequest(pull_request_id: string) - 批准指定的拉取请求。

搜索语法

代码搜索

  • 使用 language: 过滤编程语言,例如:language:javascript
  • 使用 repo:owner/name 指定仓库,例如:repo:octocat/hello-world
  • 使用 path: 指定路径,例如:path:app/src
  • 使用 extension: 过滤文件扩展名,例如:extension:js

问题搜索

  • 使用 is:issueis:pr 区分问题或拉取请求类型。
  • 使用 is:openis:closed 指定状态。
  • 使用 label: 根据标签筛选,例如:label:bug
  • 使用 author: 根据作者搜索。

用户搜索

  • 使用 type:usertype:org 区分用户或组织类型。
  • 使用 followers:> 按关注者数量过滤,例如:followers:>100

🔧 技术细节

原文档未提供技术实现细节,此章节跳过。

📄 许可证

原文档未提供许可证信息,此章节跳过。

  • 0 关注
  • 0 收藏,16 浏览
  • system 提出于 2025-09-27 10:18

相似服务问题

相关AI产品