Token导航 LogoToken导航

MCP Server · 开发工具

GitHub Debate System

一个结合Agent to Agent (A2A)和Model Context Protocol (MCP)的AI辩论系统,用于分析GitHub Pull Request并评估合并的合理性。

stdio官方级别未说明来源级核验工具 3
Python多代理协作开发工具

快速开始

作者 / 组织
kazukk12
提供方
kazukk12

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

GitHub Debate System 属于开发工具类 MCP Server,公开资料标注 3 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

开发工具

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

GitHub辩论系统(A2A×MCP)

这是一个结合了Agent to Agent(A2A)和Model Context Protocol(MCP)的、以GitHub PR为主题的AI辩论系统。

概要

这个项目两个AI代理(代码评估AI与文档一致性AI)将分析实际的GitHub拉取请求,并就是否合并展开辩论。由评判AI最终判定胜负。

特点

  • MCP(模型上下文协议) 与GitHub API的协作
  • A2A(代理对代理) 基于此的多个代理的协同操作
  • 基于真实GitHub PR数据的有理有据的讨论
  • 三轮制辩论(开场陈词→反驳→终局陈词)
  • 基于JSON Schema的评判打分

架构

┌─────────────────────────────────────┐
│  Python CLI (debate_github.py)      │
│  - ReviewerBot (コード評価)         │
│  - DocGuard (ドキュメント整合性)     │
│  - ArbiterJudge (審判)              │
└──────────────┬──────────────────────┘
               │ stdio
┌──────────────▼──────────────────────┐
│  GitHub MCP Server (Node.js)        │
│  - get_pull_request                 │
│  - get_pull_request_files           │
│  - get_file_content                 │
└──────────────┬──────────────────────┘
               │ GitHub API
┌──────────────▼──────────────────────┐
│         GitHub.com                   │
└─────────────────────────────────────┘

设置

1. 安装依赖包

Node.js 包
npm install
Python包
pip install -r requirements.txt

2. 设置环境变量

.env.example 进行复制 .env 制作:

cp .env.example .env

.env 编辑文件,进行以下设置:

# OpenAI API Key
OPENAI_API_KEY=sk-...

# GitHub Personal Access Token
# 必要な権限: repo (read-only)
GITHUB_TOKEN=ghp_...

# Optional: GPT Model
GPT_MODEL=gpt-4o-mini
获取GitHub Token的方法
  1. 访问 https://github.com/settings/tokens
  2. 点击“生成新令牌(经典)”
  3. 权限: repo 仅选择(只读)
  4. 复制代币 .env 粘贴到

使用方法

基本使用方法

python3 debate_github.py --repo openai/openai-python --pr 1724

选项

python3 debate_github.py \
  --repo OWNER/REPO \
  --pr PR_NUMBER \
  --rounds 3 \
  --model gpt-4o-mini \
  --log-dir ./logs
  • --repo仓库(owner/name 格式)
  • --pr拉取请求编号
  • --rounds辩论轮数(默认:3)
  • --model所使用的GPT模型(默认:gpt-4o-mini)
  • --log-dir日志保存目录(默认:./logs)

辩论的流程

第一轮:开场陈述(初步主张)

  • 评论者机器人从代码质量、测试和技术合理性的角度主张合并
  • DocGuard(可译为“文档卫士”或根据具体语境调整为更贴切的名称)鉴于文档一致性问题以及破坏性变更通知不足,主张暂不合并

第二轮:反驳

  • 各代理对对方主张进行反驳

第三轮:Final(最终主张)

  • 各代理机构应强化自身立场并阐明结论

裁判的判定

  • 评估逻辑性、依据的恰当性、反驳的准确性、清晰度以及实务上的合理性
  • 以JSON格式输出评分和获胜者

项目结构

github-debate-system/
├── README.md                 # このファイル
├── requirements.txt          # Python 依存パッケージ
├── package.json              # Node.js 依存パッケージ
├── .env.example             # 環境変数テンプレート
├── .gitignore               # Git 除外設定
├── mcp-server.js            # GitHub MCP Server
├── debate_github.py         # メイン CLI スクリプト
├── mcp/
│   ├── __init__.py
│   └── client.py           # Python MCP Client
├── agents/
│   ├── __init__.py
│   ├── reviewer.py         # ReviewerBot
│   ├── docguard.py         # DocGuard
│   └── judge.py            # ArbiterJudge
├── prompts/
│   ├── reviewer_system.txt # ReviewerBot のシステムプロンプト
│   ├── docguard_system.txt # DocGuard のシステムプロンプト
│   └── judge_system.txt    # Judge のシステムプロンプト
└── logs/                    # ディベートログ保存先

关于MCP(模型上下文协议)

MCP是用于使LLM应用程序能够与外部数据源和工具安全协作的标准协议。

该项目中MCP的角色

  1. GitHub MCP 服务器(Node.js)

- 提供对GitHub API的访问 - 通过stdio与Python客户端通信 - 提供工具: - github.get_pull_request获取PR信息和diff - github.get_pull_request_files获取变更文件列表 - github.get_file_content获取文件内容

  1. Python MCP 客户端

- 与MCP服务器的接口 - 通过JSON-RPC 2.0协议进行通信

MCP的优势

  • 标准化可通过统一的API访问不同的数据源
  • 安全在服务器端管理认证信息
  • 可再利用性一旦实现,即可在其他项目中使用
  • 可扩展性可轻松添加新工具

关于A2A(代理对代理)

A2A是一种方法,即多个AI代理相互通信、协同解决问题。

该项目中A2A的实施

  1. 评论机器人 和 DocGuard(可译为“文档卫士”或根据具体语境调整为更贴切的名称) 独立思考
  2. 在每一轮中参照对方的主张进行反驳
  3. 仲裁裁判员 评价双方的论点

A2A的优点

  • 多角度分析从不同视角的评价
  • 讨论的深入通过反驳使论点明确化
  • 品质提升通过相互核对提高精度

故障排除

GitHub Token 错误

Error: GITHUB_TOKEN environment variable is not set

→ .env 请在文件中设置GitHub Token

OpenAI API错误

Error code: 429 - You exceeded your current quota

请确认OpenAI API的使用量限制

MCP服务器启动错误

Server error: ...

请确认Node.js的版本(建议使用v18以上)

许可证

麻省理工学院(MIT)

参考资料

-

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

AI辩论Python本地部署GitHubPR分析代码评审文档整合多代理协作

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
GitHub Debate System

MCP World · 本页

3stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

GitHub Debate System 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

GitHub Debate System 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

GitHub Debate System 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

GitHub Debate System 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

GitHub Debate System 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP