Independent Claude Code plugin for Kimi delegation, read-only analysis, background jobs, and private local usage reporting.
This server has critical structural issues. Tool names use a verbose namespace prefix (mcp__plugin_kimi_companion__) rather than action verbs, making them difficult for LLMs to parse intent. Descriptions are present but generic (10-50 chars), well below the 50-200 char baseline for LLM optimization. Input schemas are visible in the tool list but lack critical details: no enum constraints for preset/action/window/scope/group_by parameters, no min/max for context_bytes, no format specifications. Parameter descriptions are minimal. Output schemas are completely undocumented, LLMs cannot plan downstream calls. Error handling and recovery guidance are absent. The tool set shows poor composition: session management, status polling, result retrieval, and cleanup are separate tools when they could be unified into a single job lifecycle interface.
Ask Kimi a question about the codebase
Cancel a running Kimi job
Clean up Kimi background job state
Configure Kimi plugin settings
Explore the codebase with Kimi
List available Kimi models
Get a plan from Kimi for implementing changes
Retrieve results from completed Kimi jobs
Tool names do not start with action verbs. All 13 tools use 'mcp__plugin_kimi_companion__<action>' prefix, obscuring intent. LLMs cannot quickly parse 'ask' vs 'review' vs 'explore' when buried in namespace. Rename to verb_noun pattern: ask_kimi, review_code, explore_codebase, etc.
Descriptions are too short (10-50 chars) and lack context. 'Ask Kimi a question about the codebase' does not explain when to use this vs explore/plan, what happens to the question, or what format the response takes. Expand to 50-200 chars with WHEN/WHY/WHAT guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Request a code review from Kimi
Manage Kimi sessions
Set up and initialize the Kimi plugin
Check the status of Kimi background jobs
Query Kimi usage statistics and reporting
No enum constraints on multi-value parameters. 'preset' (review), 'action' (session), 'window'/'scope'/'group_by' (usage) accept free-form strings. LLMs will hallucinate invalid values. Add enums: preset=[correctness|security|performance|api|tests], action=[list|new|resume|fork], window=[today|24h|7d|30d|all].
Output schemas completely undocumented. LLMs cannot plan downstream calls or extract required fields. Document what each tool returns: ask/review/explore/plan return job_id + status; status returns job_id + phase + progress; result returns job_id + output + error; usage returns usage_records array with fields.
Poor tool composition. Job lifecycle (ask/review/explore/plan → status → result → cancel/cleanup) spans 6 separate tools. LLMs must orchestrate polling loops manually. Unify into ask_kimi_and_wait(question, timeout) that handles polling internally, or provide a single job_query(job_id, action) tool that handles status/result/cancel/cleanup.