GitHub CLI MCP server for managing repositories, issues, pull requests, and gists
This server has significant definition quality gaps. All 14 tools have descriptions (positive), but they are in Chinese and many are generic (10-30 chars). Input schemas are present for most tools but lack depth: parameters have type and description, but no enums for constrained fields like 'state' (should be enum: open|closed|draft), no min/max for numeric params, no format specs. Output schemas are completely undocumented, LLMs cannot predict what fields to expect from responses. Error handling is minimal (basic try-catch returning error strings). No tool annotations (readOnlyHint/destructiveHint). Tool names follow verb_noun pattern (good), but descriptions are too terse and in Chinese, limiting LLM comprehension. The server wraps GitHub CLI, so it's functional, but the MCP interface lacks the rigor needed for reliable agent composition.
创建新Gist
列出你的Gist
创建新issue
列出仓库中的issue
查看特定issue详情
批准特定PR
对特定PR添加评论
Descriptions are in Chinese and too short (10-30 chars). LLMs trained on English struggle with non-English text, and descriptions under 20 chars lack context for tool selection. Baseline: 194 chars average for A+ tools.
No output schemas documented. LLMs cannot predict response structure, forcing them to parse unstructured text. This breaks downstream tool chaining and wastes tokens on parsing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
创建新PR
查看特定PR的代码差异
列出仓库中的PR
查看特定PR详情
创建新仓库
列出你拥有或参与的GitHub仓库
查看仓库详细信息
Constrained parameters lack enums. 'state' in issue_list and pr_list accepts 'open|closed|draft' but is defined as free-form string. LLMs hallucinate invalid values like 'pending' or 'resolved'.
No tool annotations (readOnlyHint/destructiveHint). Agents cannot distinguish safe reads from destructive writes. create_repo, issue_create, pr_create, pr_approve should be marked destructive.
Error handling returns raw strings ('错误: ...') without recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.