Chinese-first DeepSeek-powered terminal coding agent for personal developer workflows with tool-use capabilities, semantic search, and MCP integration.
CarbonCode exposes 3 tools with mixed quality. The 'add' tool is trivial but well-formed. 'semantic_search' has an excellent, detailed description (250+ chars) explaining WHEN to use it vs alternatives, with well-typed parameters and clear constraints. 'mcp_tools' is a meta-tool with good structure but lacks output schema documentation. Parameter descriptions are present and specific. However, no tool declares output schemas, limiting LLM ability to plan downstream calls. Error handling guidance is absent. The server is a CLI agent framework, not a traditional MCP server, which affects composition patterns.
Add two integers.
Discover and invoke MCP tools without loading every tool schema. Use list/search, then describe an exact tool, then call it. Prefer this for GitHub, browser automation, memory, and other MCP-server capabilities.
FIRST CHOICE for descriptive queries. Use this BEFORE search_content (grep) when the user describes WHAT code does ('where do we handle X', 'which file owns Y', 'how does Z work', 'find the logic that …'). Returns ranked snippets ordered by semantic relevance — finds the right file even when your description shares no words with the code. Falls back to search_content / search_files only for: exact identifiers, regex patterns, or counting occurrences of a known token. If your first instinct is grep on a paraphrased question, you are wrong — try semantic_search first.
No output schemas documented for any tool. LLMs cannot infer what fields to expect or plan downstream calls. semantic_search and mcp_tools especially need documented return types.
mcp_tools lacks output schema entirely. The 'call' action returns tool results, but structure is undocumented. Agents cannot parse responses reliably.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. Agents have no recovery path on failure.
semantic_search description is excellent but 'mcp_tools' description conflates four distinct actions (list/search/describe/call) into one tool. Should be split or clearly documented as a discovery+invocation meta-tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
add tool description is generic ('Add two integers') and does not explain when to use it vs other arithmetic operations or when it would be called in a workflow.