Enterprise knowledge base management system with MCP server integration for knowledge management, file operations, Git version control, and search capabilities
CarrotContext has 9 tools with basic schemas and descriptions, but significant quality gaps limit production readiness. All tools have descriptions (positive), but most are under 100 chars and lack actionable context for LLM selection. Parameter descriptions are minimal or missing context about constraints, formats, and dependencies. No output schemas documented. Error handling returns plain strings without recovery guidance. Tool names follow verb_noun convention (good), but descriptions don't explain WHEN to use each tool or what distinguishes similar operations (e.g., get_knowledge_detail vs read_file_content). No tool annotations (readOnlyHint, destructiveHint) despite clear read/write semantics. Permission checks exist server-side (good security), but error messages are generic Chinese strings that don't guide LLM recovery.
提交更改
创建新知识库
获取文件差异
获取Git提交历史
获取知识库详情
列出所有知识库
读取文件内容
No output schemas documented. Tools return plain strings; LLMs cannot parse structured results or chain downstream calls. E.g., list_knowledge_base returns '- id: name (desc)' text instead of JSON array with id/name/description fields.
Descriptions lack actionable context. Most are 20-50 chars (e.g., '读取文件内容' = 'Read file content'). No explanation of WHEN to use, prerequisites, or how this tool differs from similar ones. LLMs cannot reliably select the right tool.
Parameter descriptions are minimal or missing context. E.g., 'mode' in search_knowledge has description 'Search mode: all, metadata, or content' but no explanation of when to use each. 'file_path' lacks format guidance (absolute? relative? with/without leading slash?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
搜索知识库
更新文件内容
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked with Risk: READ_ONLY or WRITE in metadata, but MCP tool definitions lack these hints. LLMs cannot infer safety/idempotency from names alone.
Error messages are generic Chinese strings without recovery guidance. E.g., '权限不足' (permission denied) doesn't tell LLM what to do next. No categorization of errors as retryable, user-fixable, or fatal.