sofianedjerbi/knowledge-tree-mcp
If you are the rightful owner of knowledge-tree-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Knowledge Tree MCP Server is a hierarchical knowledge management system designed for AI assistants, enabling the transformation of scattered project insights into an organized, searchable knowledge base.
π³ Knowledge MCP Server
Hierarchical knowledge management system for AI assistants
Transform scattered project insights into an organized, searchable knowledge base with intelligent relationships and priority-based organization.
β¨ Features
ποΈ Smart OrganizationAuto-categorized paths with custom overrides and project-specific categories |
π― Priority SystemFour-tier priority system: CRITICAL β REQUIRED β COMMON β EDGE-CASE |
π Relationship MappingSix relationship types with bidirectional validation and automatic linking |
π Advanced SearchFull-text search with regex, field-specific targeting, and multi-criteria filtering |
π Usage AnalyticsTrack access patterns, search trends, and tool usage with privacy-first design |
π Interactive DashboardReal-time web UI with graph visualization, tree explorer, and analytics |
π Quick Start
Using with Claude Desktop (Recommended)
# π― Simple installation
claude mcp add knowledge -- npx @sofianedjerbi/knowledge-tree-mcp
# π¨ With web interface on port 9000
claude mcp add knowledge -- npx @sofianedjerbi/knowledge-tree-mcp -- --port 9000 --docs ./docs
# π Custom port and docs location
claude mcp add knowledge -- npx @sofianedjerbi/knowledge-tree-mcp -- --port 9000 --docs /path/to/docs
Local Development
# π¦ Setup
git clone https://github.com/sofianedjerbi/knowledge-tree-mcp
cd knowledge-tree-mcp
npm install && npm run build
# π Run with web interface
npm start -- --port 9000
# π§ͺ Run tests
npm test
CLI Options:
--docs, -d <path>
β Documentation directory (default:./docs
)--port, -p <number>
β Web interface port (enables UI at http://localhost:PORT)--help, -h
β Show help
π οΈ Core Tools
π add_knowledge - Create entries with auto-generated paths
Create knowledge entries from Markdown with automatic categorization
add_knowledge({
content: string, // Markdown with frontmatter
path?: string // Optional: override auto-generated path
})
Auto-Path Generation Examples:
- "How to implement JWT authentication" β
security/authentication/jwt-implementation.json
- "Fix Redis connection timeout" β
database/redis/troubleshooting/connection-timeout.json
- "React hooks best practices" β
frontend/react/best-practices/hooks.json
Markdown Format:
---
title: Implement JWT refresh token rotation
priority: REQUIRED
tags: [jwt, authentication, security]
---
# Problem
JWT tokens expire but users need seamless authentication
# Context
Mobile apps and SPAs need to maintain auth state without frequent logins
# Solution
Implement refresh token rotation with secure storage...
# Examples
```typescript
// Token rotation implementation
const refreshToken = async () => {
// Implementation here
}
**Path Override Options (Ask your AI assistant):**
```bash
# Full custom path
"Add this JWT guide to security/auth/my-jwt-guide"
# Directory only (filename from title)
"Add this authentication knowledge to the security/auth/ directory"
π search_knowledge - Find entries with advanced filtering
Search with field-specific targeting and multi-criteria filtering
search_knowledge({
query?: string, // Search text (supports regex)
searchIn?: string[], // Fields to search
priority?: string[], // Filter by priorities
category?: string, // Filter by category
sortBy?: string, // Sort results
limit?: number, // Max results
regex?: boolean, // Enable regex mode
caseSensitive?: boolean // Case sensitivity
})
Search Fields:
title
,problem
,solution
,context
,code
,tags
,path
,all
Examples (Ask your AI assistant):
# Simple search
"Search for authentication patterns"
# Field-specific search
"Find entries with JWT in the title or tags"
# Multi-criteria filtering
"Show me all CRITICAL and REQUIRED security vulnerabilities"
# Regex search
"Search for React hooks usage in code (useState, useEffect, useMemo)"
# Find all entries
"Show me all knowledge entries"
π·οΈ manage_categories - Dynamic category management
Add, update, remove, and merge categories for better organization
manage_categories({
action: "add" | "update" | "remove" | "list" | "merge",
category?: string,
keywords?: string[],
subcategories?: string[],
scope?: "project" | "system" | "both",
description?: string
})
Examples (Ask your AI assistant):
# List all categories
"Show me all available categories"
# Add project-specific category
"Add a payment-gateway category for Stripe and PayPal integrations"
# Merge keywords without replacing
"Add Svelte and SvelteKit to the frontend category keywords"
π link_knowledge - Connect related entries
Create typed relationships between knowledge entries
link_knowledge({
from: string,
to: string,
relationship: string,
description?: string
})
Relationship Types:
- π€
related
β General connection (bidirectional) - β¬οΈ
supersedes
β This replaces the target - β¬οΈ
superseded_by
β This is replaced by target - β‘
conflicts_with
β Conflicting approaches (bidirectional) - π§
implements
β Implementation of a pattern - π
implemented_by
β Has implementations
πΊοΈ index_knowledge - Browse knowledge structure
Get comprehensive overview of your knowledge base
index_knowledge({
format?: "tree" | "list" | "summary" | "categories",
include_content?: boolean,
max_entries?: number
})
Formats:
- π³
tree
β Hierarchical folder structure - π
list
β Flat list with metadata - π
summary
β Statistics and overview - π
categories
β Grouped by category
π usage_analytics - Track usage patterns
Analyze how your knowledge base is being used
usage_analytics({
days?: number,
include?: string[]
})
Analytics Types:
- ποΈ
access
β Entry access patterns - π
searches
β Search query analysis - π οΈ
tools
β Tool usage statistics - π
interface
β Web UI interactions - π
patterns
β Usage trends over time
β More Tools - Additional capabilities
- update_knowledge β Modify existing entries
- delete_knowledge β Remove entries with cleanup
- validate_knowledge β Check consistency and fix issues
- export_knowledge β Generate documentation (MD/HTML/JSON)
- stats_knowledge β Get detailed statistics
- recent_knowledge β View recent changes
- setup_project β Configure project settings
- help β Get contextual guidance
π Web Dashboard
Access the interactive dashboard at http://localhost:9000
(when using --port 9000
)
Features:
- π Overview Dashboard β KPIs, activity metrics, tag cloud
- πΈοΈ Knowledge Graph β Interactive network visualization with physics simulation
- π² Knowledge Explorer β Hierarchical tree view with expand/collapse
- π Search Interface β Real-time search with filters
- π Analytics View β Usage patterns and trends
- π Recent Activity β Latest additions and modifications
Graph Visualization:
- Continuous Physics β Nodes auto-arrange to prevent overlaps
- Priority Colors β Visual distinction by importance
- Relationship Lines β See connections between entries
- Fullscreen Mode β Maximize for large knowledge bases
- Search & Filter β Find specific nodes with dimming highlight
ποΈ Project Configuration
The AI assistant can configure project-specific settings using setup_project
:
// Ask your AI assistant to run this:
"Initialize project configuration for our Next.js app with Stripe payments"
// The AI will execute:
setup_project({
action: "init",
name: "My Project",
pathPrefix: "my-project",
technologies: ["nodejs", "react", "postgres"],
categories: {
"payments": {
keywords: ["stripe", "billing", "subscription"],
subcategories: ["webhooks", "invoices"]
}
}
})
This creates .knowledge-tree.json
in your docs directory for:
- Custom categories and keywords
- Auto-tagging rules
- Path prefix for all entries
- Technology stack awareness
π Example Directory Structure
The system automatically organizes knowledge based on content. Here's a typical structure:
docs/
βββ .knowledge-tree.json # Project configuration (auto-created)
βββ logs/
β βββ usage.jsonl # Usage analytics (gitignored)
βββ frontend/ # Auto-detected from React/Vue/UI content
β βββ react/
β β βββ hooks/
β βββ performance/
βββ backend/ # Auto-detected from server/API content
β βββ api/
β βββ database/
β βββ security/
βββ testing/ # Auto-detected from test-related content
β βββ unit/
β βββ integration/
βββ architecture/ # Auto-detected from design/pattern content
βββ patterns/
βββ decisions/
Note: Directories are created automatically as you add knowledge. You don't need to create this structure manually!
π Privacy & Security
- Local First: All data stored locally in your project
- No Telemetry: Zero external data collection
- Git Friendly: JSON format for version control
- Private Analytics: Usage logs in
.gitignore
by default
π§ͺ Development
# Run tests
npm test
# Run with file watching
npm run dev
# Build TypeScript
npm run build
# Lint & format
npm run lint
npm run format
# Type checking
npm run typecheck
Architecture:
- TypeScript with strict mode
- Modular design with clear separation of concerns
- MCP SDK for Claude integration
- Fastify for web server
- Vis.js for graph visualization
- WebSockets for real-time updates
π€ Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
π License
MIT License - see file
π¨βπ» Author
Created by sofianedjerbi
π Star this project if it helps organize your AI assistant's knowledge!