Agent Harness for running, constraining, and evaluating AI coding agents
Xenon is a Python agent harness, not an MCP server. Tool definitions exist but lack critical quality markers: descriptions are in Chinese and extremely brief (avg 8-12 chars), parameter descriptions are minimal or absent, no output schemas documented, and no error handling guidance. The codebase shows tool registration in tool_executor.py and tool_families/, but schemas are incomplete. Tool names lack clear verb-noun structure (e.g., 'code_index' vs 'search_code_symbols'). No evidence of LLM-optimized descriptions or parameter constraints. This is a coding agent framework, not a production-grade MCP tool server.
AST 代码分析
代码索引搜索
生成 diff 预览(不实际修改文件)
执行 Git 操作。支持: status, diff, log, add, commit, branch
Fetch repository files, README, issues and pull requests via GitHub API
调用 MCP 服务器工具
代码重构操作
Descriptions are in Chinese and critically short (avg 8-12 chars). '代码索引搜索' and '执行 Git 操作' provide no context for LLM tool selection. Baseline: 194 chars avg for A+ tools.
Parameter descriptions are missing or trivial. 'search_pattern' in code_index has description 'Search pattern for code symbols' but no format/constraint guidance. No regex patterns, length limits, or examples of valid input.
No output schemas documented. Tools return unstructured responses with no field definitions. LLMs cannot plan downstream calls or extract required data (e.g., does code_index return file paths, line numbers, symbol types?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Tool names lack clear verb-noun structure. 'code_index' is ambiguous (index as noun or verb?). 'ast_analyze' is vague. Better: 'search_code_symbols', 'analyze_ast_tree', 'preview_diff'. Baseline: 90% of A+ tools start with action verb.
No error handling guidance. Tools like 'refactor' and 'git' perform destructive operations but provide no recovery hints, retryability classification, or confirmation steps. Pattern: confirmation-request missing.