MCP Server for analyzing codebases and generating interactive knowledge graph visualizations of code architecture, dependencies, and relationships
Server has 5 tools with basic schemas and descriptions, but significant quality gaps. Tool names lack consistent verb-noun structure (analyze_github_repo, get_repo_info are acceptable; generate_knowledge_graph and clone_or_update_repo are weak). Descriptions are present but generic (10-100 chars, below the 50-200 char LLM-optimized baseline). Parameter descriptions are minimal or absent. No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint/destructiveHint). Critical security issue: clone_or_update_repo accepts arbitrary repo_url and target_dir without validation, risking command injection and path traversal. No pagination support despite tools returning potentially large datasets.
Analyze a codebase and extract structural information including files, classes, functions, imports, and dependencies
Analyze a GitHub repository structure and metadata
Clone a GitHub repository or update an existing local clone
Generate an interactive knowledge graph visualization from codebase analysis data
Get basic information about a GitHub repository
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:tool requirement.
clone_or_update_repo accepts arbitrary repo_url and target_dir without validation. Vulnerable to command injection (git clone with malicious URLs) and path traversal (../../etc/passwd). No input sanitization visible.
Parameter descriptions are minimal or missing. 'repo_url' and 'path' lack format/constraint guidance. LLMs cannot validate inputs before calling. Violates pattern:tool-description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. clone_or_update_repo and generate_knowledge_graph have side effects but are unmarked.
Tool names lack consistent verb-noun structure. 'generate_knowledge_graph' is vague (generate what? a file? a visualization?). 'clone_or_update_repo' combines two actions, should split into clone_repo and update_repo.