Supports file synchronization of the markdown-based knowledge base across devices through Dropbox cloud storage
Enables version control for the knowledge base, providing change history tracking, backup capabilities, and collaboration features for markdown notes
Supports file synchronization of the markdown-based knowledge base across devices through Google Drive cloud storage
Supports file synchronization of the markdown-based knowledge base across devices through iCloud Drive cloud storage
Provides full compatibility with Obsidian for viewing and editing markdown notes, allowing seamless integration between AI-managed knowledge base and Obsidian's visualization and mobile access features
Supports decentralized file synchronization of the markdown-based knowledge base across devices without relying on cloud services
Knowledge Base MCP Server
A Model Context Protocol (MCP) server for managing a personal markdown-based knowledge base. Enable AI assistants like Claude to read, search, and update your notes naturally.
Overview
This MCP server provides AI-native access to a personal knowledge base stored as markdown files with YAML frontmatter. It allows you to:
Create and organize notes across multiple categories
Search through your knowledge base using natural language
Update and maintain notes with AI assistance
Keep all data in human-readable, portable markdown format
Access your notes from Claude Desktop, Claude Code, or any MCP-compatible client
NEW: Browse and edit notes via the included web UI
Features
Core Capabilities
7 MCP Tools for complete knowledge base management
add_note- Create new notessearch_notes- Search by content, tags, or categoryget_note- Retrieve full note contentupdate_note- Modify existing notes (replace or append)list_notes- List notes with optional filtersdelete_note- Remove notes (with backup)list_categories- View all categories and counts
Smart Search with relevance scoring
Search across titles, content, tags, and metadata
Case-insensitive matching
Filter by category or tags
Ranked results by relevance
Flexible Organization
Default categories: people, recipes, meetings, procedures, tasks
Configurable category system
Tag-based organization
Rich metadata support
Data Safety
Automatic backups before updates
Atomic file writes
Human-readable markdown format
No vendor lock-in
Web UI (Phase 2)
Clean, dark-themed interface
Category navigation and search
Note creation and editing
Authentication with JWT tokens
Works on desktop and mobile browsers
Installation
Prerequisites
Python 3.11 or higher
uvpackage manager (recommended) orpip
Install with uv (Recommended)
Install with pip
Running the Server
This project provides two ways to run the knowledge base:
Option 1: MCP Server (for Claude Desktop/Code)
The MCP server runs via stdio and is designed to be used with Claude Desktop or Claude Code.
Start the MCP server:
The MCP server will:
Listen on stdin/stdout for MCP protocol messages
Wait for commands from an MCP client (like Claude Desktop)
Not show a web interface or HTTP endpoint
Note: The MCP server is typically not run standalone. Instead, configure it in Claude Desktop (see Configuration section below) and let Claude Desktop manage the server lifecycle.
Option 2: HTTP API Server (for Web/API Access)
The HTTP API server provides a web interface and REST API.
Quick Start (No Authentication):
By default, authentication is disabled for easy local development. Just run:
The API server will start on http://localhost:8000 with:
Web UI:
http://localhost:8000(if web files exist)API Docs:
http://localhost:8000/docs(Swagger UI)Alternative Docs:
http://localhost:8000/redoc(ReDoc)Health Check:
http://localhost:8000/health
Using the API (No Auth):
Optional: Enable Authentication
To enable authentication (recommended for production), create a .env.local file:
Generate a secure JWT secret:
Using the API with Authentication:
When REQUIRE_AUTH=true, you need to authenticate:
Create an account:
Login to get a token:
Use the token for authenticated requests:
Configuration
Environment Variables
Create a .env file in the project root (optional):
Claude Desktop Setup
Add the server to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Alternative (using pip/venv):
After configuration, restart Claude Desktop.
Web UI Access
The knowledge base includes a web interface for browsing and editing notes from any browser.
Starting the Web Server
First Time Setup
Open your browser to
http://localhost:8000Click "Create Account" to sign up
Enter your email and password (minimum 8 characters)
Login with your credentials
Start creating and organizing notes!
Features
Category Navigation: Browse notes by category with note counts
Full-Text Search: Search across all notes and tags in real-time
Note Editor: Clean markdown editor with auto-save warnings
Create/Edit/Delete: Full CRUD operations on notes
Tag Management: Organize notes with comma-separated tags
Responsive Design: Works on desktop and mobile browsers
Mobile Access
To access from your phone on the same network:
For remote access, consider using Tailscale or deploying to a cloud service.
Usage
MCP Tool Usage
Example Interactions
Adding Notes
Searching
Retrieving Notes
Updating Notes
Quick Reference
Knowledge Base Structure
Your knowledge base is stored as markdown files in a simple folder structure:
Markdown Format
Each note is a markdown file with YAML frontmatter:
Metadata Fields
Required:
tags: List of tags for categorizationdate: Creation date (YYYY-MM-DD)category: Category folder name
Optional (category-specific):
People:
company,role,email,phoneRecipes:
prep_time,cook_time,servingsMeetings:
attendees,meeting_date,locationTasks:
priority,due_date,status
You can add any custom metadata fields as needed.
Development
Running Tests
Project Structure
Adding Custom Categories
Edit your .env file or environment configuration:
The server will automatically create folders for new categories.
Troubleshooting
Common Issues
Server not appearing in Claude Desktop:
Verify the path in
claude_desktop_config.jsonis absoluteCheck that the command path is correct (
uvor python path)Restart Claude Desktop completely
Check Claude Desktop logs for errors
Notes not being created:
Verify
KNOWLEDGE_BASE_PATHexists and is writableCheck file permissions
Ensure category is valid (use
list_categoriestool)
Search not finding notes:
Verify notes have proper YAML frontmatter
Check that tags are formatted as lists
Try searching with simpler queries
Use
list_notesto see what notes exist
Permission errors:
Ensure the knowledge base directory has write permissions
On macOS, you may need to grant Claude Desktop disk access in System Preferences
Viewing Logs
Claude Desktop logs can help diagnose issues:
macOS:
~/Library/Logs/Claude/Windows:
%APPDATA%\Claude\logs\Linux:
~/.config/Claude/logs/
Use Cases
Conference CRM
Track people you meet at conferences with contact info, notes, and follow-up tasks.
Recipe Collection
Store recipes with tags, cook times, and personal notes about modifications.
Meeting Notes
Keep meeting agendas, discussion points, and action items organized by topic.
Procedure Documentation
Maintain step-by-step procedures and checklists for recurring tasks.
Task Management
Track projects, deadlines, and task lists with priorities and status.
Integration with Other Tools
Obsidian
The markdown format is fully compatible with Obsidian. You can:
Open the knowledge base in Obsidian
Edit notes in either Obsidian or via Claude
Use Obsidian mobile for on-the-go access
Sync via Obsidian Sync or iCloud
Git Version Control
Consider adding git version control to your knowledge base:
This provides:
Version history of all changes
Ability to revert changes
Backup to remote repository
Collaboration capabilities
File Sync
Use any file sync service:
iCloud Drive
Dropbox
Google Drive
Syncthing
Roadmap
Phase 2 Features (Planned)
HTTP API for web and mobile access
Web UI for browsing and editing
AI pendant integration via webhooks
Automatic summarization and insights
Calendar integration
Email integration
Future Considerations
Multi-user support
Real-time collaboration
Advanced search with embeddings
Automatic tagging suggestions
Template system for note types
Contributing
Contributions are 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 LICENSE file for details
Support
Report issues: [GitHub Issues]
Documentation: MCP Documentation
Community: [MCP Discord]
Acknowledgments
Built with:
Made with Claude Code