A pair programming agent that provides tools for documentation search, Git operations, GitHub integration, code analysis, and memory management using local AI models and GitHub API
Server has 16 tools with basic definitions but significant quality gaps. All tools have names and descriptions, but most descriptions are under 20 characters or lack actionable detail. Parameter schemas are present but minimal, many lack enums, ranges, or validation hints. No output schemas documented. Error handling is generic. Tools follow verb_noun naming convention but descriptions are underdeveloped. Memory tools are well-scoped, but GitHub tools lack comprehensive descriptions and schemas. No tool annotations (destructiveHint, readOnlyHint, idempotentHint). This is a typical community server: functional but falls short of production-grade tool engineering.
Add a memory to the database with context type and metadata.
Add a memory specifically about the repository state.
Analyze code content and provide AI-powered insights
Get the recent commit history.
Get formatted diff information.
Get open issues from the repository.
Retrieve memories from the database with optional context type filter.
Three git tools (get_issues, get_repo_info, get_diffs) declare empty input schemas ({}), making it impossible for clients to validate calls.
Descriptions are generic and under 20 characters for many tools (e.g. 'Get formatted repository information'). Descriptions lack WHEN to use, WHAT it returns, and dependencies.
No output schemas documented anywhere. LLMs cannot infer what fields tools return, breaking tool chaining and forcing discovery detours.
No enum constraints on state parameters (e.g. get_repository_issues.state accepts 'open' or 'closed' but is a free string). No validation hints or ranges for numeric params.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Get information about a GitHub Project (Project V2)
Get pull requests from a GitHub repository
Get detailed information about a GitHub repository
Get formatted repository information.
Retrieve repository-specific memories.
Get issues from a GitHub repository
Search for documentation using local AI model.
Search for code in GitHub
Generate a summary of a GitHub issue using AI
No tool annotations (destructiveHint, readOnlyHint, idempotentHint). LLMs cannot determine which tools are safe to retry or cause side effects. Memory write tools (add_memory, add_repo_memory) should be marked destructive.
Error handling is generic. Errors return raw strings (e.g. 'No git repository found') without recovery guidance. Does not follow pattern:recovery-guide.
GitHub tools embed API credentials via os.getenv('GITHUB_TOKEN'). No validation that token is present or that API calls are logged/audited. Violates pattern:secret-injection and pattern:audit-trail.
search_docs calls Ollama without timeout, fallback, or rate limiting. Hung requests block the agent. No per-request error recovery guidance.
Memory tools accept arbitrary 'metadata' objects and 'git_context' dicts without schema validation. LLMs may pass malformed inputs.
No pagination support on list tools (get_commit_history defaults to limit=5 but no offset/page params). Large result sets will blow context windows.