Hierarchical knowledge management system for AI assistants
Transform scattered project insights into an organized, searchable knowledge base with intelligent relationships and priority-based organization.
|
Auto-categorized paths with custom overrides and project-specific categories |
Four-tier priority system: CRITICAL โ REQUIRED โ COMMON โ EDGE-CASE |
Six relationship types with bidirectional validation and automatic linking |
|
Full-text search with regex, field-specific targeting, and multi-criteria filtering |
Track access patterns, search trends, and tool usage with privacy-first design |
Real-time web UI with graph visualization, tree explorer, and analytics |
# ๐ฏ 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# ๐ฆ 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 testCLI Options:
--docs, -d <path>โ Documentation directory (default:./docs)--port, -p <number>โ Web interface port (enables UI at http://localhost:PORT)--help, -hโ Show help
๐ 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
Access the interactive dashboard at http://localhost:9000 (when using --port 9000)
- ๐ 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
- 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
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
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!
- 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
.gitignoreby default
# 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- 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
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
MIT License - see LICENSE file
Created by sofianedjerbi
๐ Star this project if it helps organize your AI assistant's knowledge!