A CLI agent that combines shell command execution with GitHub repository management via MCP tools
Server has 9 tools with basic descriptions and parameter schemas, but significant gaps limit production readiness. All tools have descriptions (10-50 chars baseline), but most are terse and lack context for LLM selection. Parameter schemas are present with type and description fields, meeting minimum JSON Schema requirements. However, no output schemas are documented, error handling is absent, and security concerns around shell command execution are unaddressed. GitHub tools lack pagination support despite returning lists. No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. run_command is particularly dangerous, accepts arbitrary shell input with no validation, sanitization, or confirmation pattern.
Create a new branch in a GitHub repository.
Create a fork of a GitHub repository.
Create an issue in a GitHub repository.
Create a pull request in a GitHub repository.
Get a file's contents from a GitHub repository.
Get information about a GitHub repository including default branch, stars, and description.
List all issues in a GitHub repository.
run_command accepts arbitrary shell input with no validation, sanitization, or injection protection. No confirmation pattern for destructive operations. Poses critical security risk.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Breaks tool composition and chaining.
List tools (list_pull_requests, list_issues) return unbounded results with no pagination support. Large result sets will exhaust context window.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification. LLMs cannot distinguish safe reads from destructive writes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
List all pull requests in a GitHub repository.
Runs a command in the shell and returns the output.
Descriptions are terse (35-50 chars) and lack context for LLM selection. No guidance on when to use each tool vs alternatives. Missing dependency hints and prerequisites.