MCP server for hierarchical project knowledge management
Knowledge Tree MCP has 14 tools with comprehensive schemas and mostly good descriptions. However, multiple issues reduce the score: (1) Tool naming lacks consistent verb prefixes, 'setup_project', 'index_knowledge', 'stats_knowledge', 'recent_knowledge', 'usage_analytics', and 'manage_categories' deviate from standard verb_noun patterns like 'get_', 'list_', 'create_', 'update_', 'delete_'. This makes tool selection harder for LLMs. (2) Several tools bundle multiple responsibilities (e.g., 'setup_project' with 'init', 'update', 'show' actions; 'manage_categories' with 'list', 'add', 'remove', 'update'). (3) While descriptions are present for all tools and most parameters, many are terse (e.g., 'Find knowledge entries with advanced filtering and scoring' for search_knowledge, 57 chars, below the 100-char baseline for clarity). (4) Output schemas are NOT documented in the provided source, only input schemas are visible. (5) Error handling guidance is absent from all tool descriptions; none explain what happens on failure or how to recover. (6) Security considerations are not evident, no mention of permission checks, validation, or audit trails. The server does have strong input validation via comprehensive enum constraints and detailed parameter descriptions, which is a significant strength.
Create a new knowledge entry from Markdown content with auto-generated path
Remove a knowledge entry with optional reference cleanup
Export knowledge entries to various formats (Markdown, HTML, JSON)
Get comprehensive help on using the Knowledge MCP system
Get a comprehensive index/map of all knowledge entries for LLM memory overview
Create or update relationships between knowledge entries
Manage custom categories for organizing knowledge entries
Inconsistent tool naming: 'index_knowledge', 'stats_knowledge', 'recent_knowledge', 'usage_analytics', 'setup_project', 'manage_categories' do not follow standard verb_noun conventions (get_, list_, create_, update_, delete_, search_). LLMs rely on naming to parse intent before reading descriptions; non-standard names increase confusion and tool selection errors.
Multiple tools bundle unrelated actions under a single name with an 'action' enum parameter. 'setup_project' combines init/update/show; 'manage_categories' combines list/add/remove/update. This violates single-responsibility principle and makes tool composition harder for agents.
Output schemas are not documented. Only input schemas are visible in the provided source. Tools do not describe what fields, structure, or data type they return. This forces LLMs to guess what data to expect and how to chain subsequent tool calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get recently modified or added knowledge entries
Find knowledge entries with advanced filtering and scoring
Initialize or update project configuration for better path generation and categorization
Get comprehensive statistics about the knowledge base
Modify an existing knowledge entry with validation
Get usage analytics and access patterns for the knowledge base
Check knowledge entries for structural validity and fix issues
No error handling guidance in tool descriptions. None of the tools explain what happens on failure, which errors are retryable, or how the LLM should recover (e.g., 'If path is not found, try search_knowledge() first'). This leaves agents unable to self-correct on failures.
Destructive tools (delete_knowledge, update_knowledge with breaking changes) lack confirmation or dry-run support. delete_knowledge has no 'confirm_before_execute' or 'dry_run' parameter to let agents preview consequences before committing.
Tool descriptions are terse and lack LLM-optimization. Many fall below the 100-char baseline (e.g., 'Find knowledge entries with advanced filtering and scoring' = 57 chars for search_knowledge; 'Get recently modified or added knowledge entries' = 50 chars for recent_knowledge). Short descriptions omit WHEN to use the tool and prerequisite context.
No security documentation or permission gates visible. Tools like delete_knowledge, update_knowledge, and setup_project (which modify project config) show no evidence of permission checks, scope declarations, or audit trails. No tool description mentions what permissions are required.
Tool 'help' description (60 chars) is below the 100-char baseline and lacks specificity. Does it return markdown? Plain text? A list? Structured data? The description does not clarify format or when to call it relative to other discovery tools.