GitHub MCP Server

GitHub MCP Server

一个带有工具的 MCP 服务器,用于与 Github 上的 Discussions 进行交互

jasona7

开发者工具
访问服务器

README

GitHub MCP 服务器

一个多功能且强大的模型上下文协议 (MCP) 服务器实现,旨在与 GitHub 存储库、问题、讨论等无缝交互。该服务器通过提供一个结构化的接口来查询、更新和分析 GitHub 数据,从而实现高效的管理、自动化和增强的协作。通过支持集成自定义工作流程、处理存储库元数据以及促进与问题和讨论的实时交互,MCP 服务器使开发人员和团队能够简化他们的 GitHub 体验。无论您是构建工具、自动化任务还是探索与 GitHub 生态系统交互的新方式,此服务器都为您的项目提供了强大的基础。

概述

此 MCP 服务器提供了 AI 助手和 GitHub API 之间的桥梁,允许 AI 模型执行以下操作:

  • 搜索存储库
  • 查看讨论
  • 分析存储库活动
  • 获取存储库统计信息

特性

  • 存储库管理:搜索、分析和与 GitHub 存储库交互
  • 讨论集成:分析 GitHub 讨论
  • 活动分析:获取有关存储库活动和贡献的见解
  • 搜索能力:高级搜索存储库、代码和讨论

安装

前提条件

  • Python 3.8+
  • 具有适当权限的 GitHub 个人访问令牌

设置

  1. 克隆存储库:

    git clone https://github.com/jasona7/mcp_github_discussions.git
    cd mcp_github_discussions
    
  2. 安装依赖项:

    pip install requests
    
  3. 在环境变量中设置您的 GitHub 令牌:

    export GITHUB_TOKEN=your_github_personal_access_token
    

用法

启动服务器

使用以下命令运行服务器:

python scripts/mcp/github/mcp_github_server.py

服务器将默认在 localhost:8004 上启动。

可用工具

服务器提供以下工具:

  • search_repositories:根据各种条件搜索存储库
  • get_repository_details:获取有关存储库的详细信息
  • get_repository_issues:从存储库中获取问题
  • get_repository_discussions:从存储库中获取讨论
  • get_top_repos_by_activity:按活动获取热门存储库

配置

可以使用环境变量配置服务器:

  • GITHUB_TOKEN:您的 GitHub 个人访问令牌
  • MCP_HOST:服务器绑定的主机(默认值:localhost)
  • MCP_PORT:服务器绑定的端口(默认值:8004)

使用客户端

python scripts/mcp/github/mcp_github_client.py
╭──────────────────────────────── GitHub Discussions Explorer ────────────────────────────────╮
│ MCP GitHub Discussions Explorer                                                             │
│ A terminal UI for interacting with GitHub Discussions                                       │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
Connecting to server...
Connected to server. 5 tools available.

Available Actions:
1. Browse Top Repositories
2. List Discussions (by repo)
3. Get Discussion Details
4. Check Server Status
5. Exit
6. Toggle Debug Mode
Enter the number of the action you want to perform [1/2/3/4/5/6] (1): 1

Browse Top Repositories:
1. Top Repos by Recent Activity
2. Top Repos by Star Count
3. Top Python Repos
4. Top JavaScript Repos
5. Top AI/LLM Repos
6. Back to Main Menu
Select repository category [1/2/3/4/5/6] (1): 3
Number of repositories to show (10): 3
Finding top Python repositories...
                             Top Repositories (3)                             
┏━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ # ┃ Repository                       ┃ Stars  ┃ Language ┃ Has Discussions ┃
┡━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ 1 │ public-apis/public-apis          │ 334406 │ Python   │ ✗               │
│ 2 │ donnemartin/system-design-primer │ 294897 │ Python   │ ✗               │
│ 3 │ vinta/awesome-python             │ 238668 │ Python   │ ✗               │
└───┴──────────────────────────────────┴────────┴──────────┴─────────────────┘
None of the repositories have discussions enabled.

Available Actions:
1. Browse Top Repositories
2. List Discussions (by repo)
3. Get Discussion Details
4. Check Server Status
5. Exit
6. Toggle Debug Mode
Enter the number of the action you want to perform [1/2/3/4/5/6] (1): 

故障排除

  • 连接被拒绝:确保服务器正在运行,并且端口未被防火墙阻止
  • 身份验证错误:验证您的 GitHub 令牌是否具有必要的权限
  • 速率限制:GitHub API 具有速率限制;服务器将处理这些限制,但在大量使用期间可能会减慢速度

许可证

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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript