The MCP Index Notes server is a comprehensive knowledge management system for indexing, retrieving, and analyzing notes with advanced AI capabilities.
Core Features:
Note Management: Create, update, search (key-based and full-text), delete, list, backup, and restore notes with metadata and tagging support
Image Management: Store, retrieve, delete, and export images via base64 or file paths with associated metadata
Knowledge Graph Operations: Build and query concept graphs by creating/updating nodes, finding paths and neighbors, importing relationships from notes, and analyzing graph statistics
Advanced AI Analysis: Auto-tagging, duplicate detection, sentiment analysis, entity extraction, clustering, recommendations, keyword extraction, and content insights
Streaming Operations: Efficiently handle large datasets with streaming search, similarity analysis, tag processing, and progressive data export
Configuration Management: Retrieve, update, validate, export, import, and reset server settings across database, search, analysis, and logging sections
Direct Data Access: Access notes, graph nodes, and image metadata directly via resources without tool calls
Intelligent Prompts: Pre-built templates for complex workflows like summarizing, finding connections, generating tags, answering questions, and analyzing trends
Technical Performance: Built with SQLite FTS5 for fast search, WAL mode for concurrent access, intelligent caching, and streaming APIs for efficient processing.
Integration Ready: Compatible with popular AI clients like GitHub Copilot Chat, Claude Desktop, Cursor, and Continue.dev for enhanced LLM interactions with structured data.
Provides integration with GitHub Copilot Chat in VS Code, allowing users to index, search, and manage notes through conversational commands using the MCP server's full-text search and graph capabilities.
Uses Pino for structured, verbose logging with configurable log levels and pretty-printing options for development and debugging.
Uses SQLite with FTS5 for fast local storage and full-text search capabilities across note content, keys, tags, and metadata, with WAL mode for performance and concurrency.
Implemented in TypeScript providing type safety and modern JavaScript features for the MCP server implementation.
MCP Index Notes
A comprehensive MCP server for indexing, retrieving, and managing notes with advanced AI capabilities. Built with TypeScript, featuring SQLite (FTS5) storage, knowledge graphs, image management, and intelligent analysis tools.
Quick Tip: Copy-Paste Text and Images
You can simply copy and paste text or images into your favorite chat client (like Copilot or Anthropic) and say something like:
Add all this to my notes
The LLM will index the information as it decides, using its own context and capabilities. This makes it easy to capture and organize information without manual formatting or tool calls.
🚀 Enhanced Features
Core Functionality
- Fast Local Storage: SQLite with FTS5 full-text search
- Flexible Data Management: Upsert by ID/key, query by text/key/tags
- Backup & Restore: JSON export/import with versioning
- Structured Logging: Comprehensive logging via Pino
Advanced MCP Capabilities
- 📋 Resources: Direct data access without tool calls (7 endpoints)
- 🤖 Prompts: Intelligent templates for complex workflows (7 prompts)
- 🧠 Analysis Tools: Advanced NLP and machine learning features (8 tools)
- ⚡ Streaming: Efficient processing for large datasets (4 streaming tools)
- ⚙️ Configuration: Comprehensive server configuration management (6 tools)
- 🔗 Knowledge Graphs: Build and query relationships between concepts
- 🖼️ Image Storage: Store and manage images with metadata
🛠️ Tools Overview
Basic Operations (7 tools)
index-upsert
: Create/update notesindex-query
: Search by key or full-textindex-delete
: Delete by ID or keyindex-backup
: Export to JSONindex-restore
: Import from JSONindex-list-keys
: List keys with countsindex-health
: System health check
Knowledge Graph (5 tools)
graph-node-upsert
: Create/update graph nodesgraph-neighbors
: Get connected nodesgraph-path
: Find paths between conceptsgraph-import-from-notes
: Build graph from existing notesgraph-stats
: Graph analytics
Image Management (4 tools)
image-upsert
: Store images (base64 or file)image-get
: Retrieve with optional base64 dataimage-delete
: Remove by ID or keyimage-export
: Export to files
Advanced Analysis (8 tools)
analysis-auto-tag
: AI-powered tag suggestionsanalysis-find-duplicates
: Detect similar contentanalysis-sentiment
: Emotional tone analysisanalysis-extract-entities
: Extract structured dataanalysis-cluster-notes
: Automatic groupinganalysis-recommend-related
: Intelligent recommendationsanalysis-keyword-extraction
: Key term extractionanalysis-content-insights
: Comprehensive analysis
Streaming Operations (4 tools)
streaming-search
: Efficient large-scale searchstreaming-similarity
: Batch similarity analysisstreaming-tag-analysis
: Bulk tag processingstreaming-export
: Progressive data export
Configuration Management (6 tools)
config-get
: Retrieve configuration settingsconfig-update
: Update settings with dot notationconfig-validate
: Schema validationconfig-export
: Backup configurationconfig-import
: Restore from backupconfig-reset
: Reset to defaults
📋 Resources (Direct Data Access)
Access data without tool calls - automatically refreshed:
notes://keys
- All available note keys with countsnotes://key/{key}
- Notes under specific keynotes://search/{query}
- Full-text search resultsnotes://stats
- System statistics and healthgraph://nodes
- Knowledge graph nodesgraph://stats
- Graph analyticsimages://key/{key}
- Image metadata for key
🤖 Intelligent Prompts
Pre-built templates for complex knowledge management:
Available Prompts
- summarize-notes - Generate comprehensive summaries
- Parameters:
key
,search
,max_notes
- Parameters:
- find-connections - Discover concept relationships
- Parameters:
concept1
(required),concept2
(required),depth
- Parameters:
- generate-tags - AI-powered tag suggestions
- Parameters:
content
(required),max_tags
- Parameters:
- knowledge-qa - Answer questions from your knowledge base
- Parameters:
question
(required),context_limit
- Parameters:
- analyze-trends - Pattern and trend analysis
- Parameters:
time_period
,focus_tags
- Parameters:
- suggest-related - Content-based recommendations
- Parameters:
reference_note_id
,reference_content
,max_suggestions
- Parameters:
- export-summary - Organized knowledge base exports
- Parameters:
format
,include_metadata
,group_by
- Parameters:
Prompt Benefits
- Dynamic Content: Generated from your actual data
- Contextual Intelligence: Uses your knowledge base context
- Parameterized Flexibility: Customizable for different use cases
- Quality Consistency: Ensures structured, high-quality interactions
⚙️ Configuration System
Comprehensive configuration management with 8 sections:
Configuration Sections
- database: Connection and storage settings
- search: Search behavior and pagination
- analysis: NLP and analysis features
- streaming: Streaming operation settings
- server: Server metadata and behavior
- resources: Resource endpoint configuration
- prompts: Prompt template settings
- logging: Logger configuration and levels
Configuration Features
- Dot Notation Updates:
logging.level
,search.resultsPerPage
- Schema Validation: Comprehensive input validation
- Export/Import: Backup and restore configurations
- Section Management: Work with specific configuration sections
- Default Reset: Restore sections to default values
- Real-time Updates: Dynamic configuration changes
Demo Scripts
The project includes comprehensive demonstration scripts to showcase all capabilities:
Core Demos
Each demo showcases specific functionality and provides usage examples.
🚀 Quick Start
- Install Dependencies
- Build the Project
- Run Development Server
- Test Core Functionality
Environment Variables
DB_PATH
: SQLite database path (default:./data/notes.db
)LOG_LEVEL
: Logging level (trace|debug|info|warn|error
)LOG_PRETTY
: Human-readable logs (true|false
)
🔗 Integrations
GitHub Copilot Chat (VS Code)
Add to VS Code Settings (JSON):
Claude Desktop
Add to Claude Desktop's settings.json
:
Cursor
Create or edit ~/.cursor/mcp.json
:
Continue.dev
Add to ~/.continue/config.json
:
💡 Usage Examples
Basic Operations
Advanced Analysis
Configuration Management
Streaming Operations
Knowledge Graph
📊 System Architecture
Enhanced MCP Server Structure
- Core Engine: TypeScript with MCP SDK v1.1.0
- Storage: SQLite with FTS5 full-text search
- Analysis: Advanced NLP and machine learning
- Streaming: Efficient batch processing
- Configuration: Comprehensive management system
- Graph: Knowledge relationship mapping
- Images: Metadata and binary storage
Performance Features
- WAL Mode: Concurrent access support
- FTS5 Search: High-performance full-text indexing
- Streaming APIs: Memory-efficient large dataset processing
- Graph Algorithms: Efficient path finding and clustering
- Caching: Intelligent configuration and analysis caching
🎯 What Makes This Special
Comprehensive MCP Implementation
- ✅ All MCP Features: Tools, Resources, Prompts fully implemented
- 🧠 Intelligence: Advanced NLP analysis and recommendations
- ⚡ Performance: Streaming operations for large datasets
- 🔧 Flexibility: Comprehensive configuration management
- 📊 Analytics: Knowledge graph and content insights
- 🔗 Integration: Ready-to-use with popular AI clients
Real-World Applications
- Personal Knowledge Management: Organize and search personal notes
- Team Documentation: Collaborative knowledge sharing
- Research Projects: Academic and technical research organization
- Content Analysis: Advanced text analysis and insights
- AI Workflows: Enhanced LLM interactions with structured data
- Data Mining: Pattern discovery and relationship mapping
📁 Data Formats
JSON Backup Format
🔮 Enhancement Summary
This MCP server has been systematically enhanced from a basic note indexing tool to a comprehensive knowledge management system:
Phase 1: Resources System ✅
- 7 resource endpoints for direct data access
- Automatic refresh and caching
- No tool calls required for data retrieval
Phase 2: Intelligent Prompts ✅
- 7 dynamic prompt templates
- Context-aware generation based on actual data
- Parameterized flexibility for different use cases
Phase 3: Advanced Analysis Tools ✅
- 8 NLP and machine learning analysis functions
- Auto-tagging, sentiment analysis, duplicate detection
- Clustering, recommendations, and content insights
Phase 4: Streaming Capabilities ✅
- 4 streaming tools for efficient large-scale operations
- Progress tracking and memory optimization
- Batch processing with configurable parameters
Phase 5: Configuration Management ✅
- 6 configuration tools with full CRUD operations
- 8 configuration sections with validation
- Export/import, reset, and real-time updates
Total Enhancement
- 35+ Tools: From 7 basic tools to 35+ advanced capabilities
- Modern MCP: Full implementation of Resources, Prompts, Tools
- Production Ready: Comprehensive error handling and validation
- Extensible: Modular architecture for future enhancements
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables indexing and retrieving notes with full-text search using SQLite, plus building knowledge graphs to find relationships between concepts. Supports natural language note management, tagging, and semantic connections.
Related MCP Servers
- -securityFlicense-qualityFacilitates note storage and summarization through custom URIs, allowing users to manage, summarize, and update notes with varying detail levels in a collaborative environment.Last updated -
- -securityFlicense-qualityEnables interaction with Curri's API by managing text notes, offering tools for note creation, and generating summaries using structured prompts.Last updated -
- AsecurityAlicenseAqualityEnables interaction with Apple Notes via natural language, supporting note creation, search, and retrieval with iCloud integration for seamless note management.Last updated -311MIT License
- -securityFlicense-qualityEnables storage and retrieval of knowledge in a graph database format, allowing users to create, update, search, and delete entities and relationships in a Neo4j-powered knowledge graph through natural language.Last updated -3