Dependency-free MCP (stdio) server that bridges GitHub through the locally installed and authenticated `gh` CLI.
Four read-only tools with basic schemas and Chinese descriptions. All tools have input schemas with proper JSON Schema structure (type, properties, required, additionalProperties). Descriptions are present but brief (20-80 chars), lacking LLM-optimized guidance on WHEN to use each tool or dependencies between them. Parameters are minimally described; 'repo' and 'ref' lack format/constraint details. No output schemas documented. Error handling exists in code (ToolError class) but not surfaced in tool definitions. No tool annotations (readOnlyHint, idempotentHint). Naming follows verb_noun pattern (github_status, github_repo_view, github_file_tree, github_file_read) but descriptions are terse and assume Chinese-speaking users.
只读。读取仓库中单个文件的内容;path 指向目录时返回目录列表。
只读。列出仓库文件树(可用 path 限定子目录,默认使用默认分支),用于快速了解代码结构。
只读。查看仓库概况:描述、可见性、默认分支、主语言、star/fork 数、最近推送时间等。
只读。检查 GitHub 连接状态:gh CLI 版本、登录账号、当前目录识别到的仓库。排障或首次使用前调用。
Descriptions are under 100 characters and lack LLM-optimized guidance. 'github_status' (20 chars in English) does not explain WHEN to call it or what it returns.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., github_repo_view returns repo metadata but schema is not declared, LLM must guess what fields exist.
Parameter descriptions are minimal or missing. 'repo' parameter lacks format guidance (should state 'owner/name format'); 'ref' lacks explanation of what branch/tag/commit SHA means; 'limit' lacks min/max bounds in description (code enforces 1-2000 but description does not state this).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared in the tool definition. Agents cannot infer safety properties without explicit hints.
Descriptions are in Chinese only. English-speaking LLMs may misinterpret or ignore Chinese descriptions. Descriptions should be in the language the LLM was trained on (typically English for most models).