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
find-connections - Discover concept relationships
Parameters:
concept1
(required),concept2
(required),depth
generate-tags - AI-powered tag suggestions
Parameters:
content
(required),max_tags
knowledge-qa - Answer questions from your knowledge base
Parameters:
question
(required),context_limit
analyze-trends - Pattern and trend analysis
Parameters:
time_period
,focus_tags
suggest-related - Content-based recommendations
Parameters:
reference_note_id
,reference_content
,max_suggestions
export-summary - Organized knowledge base exports
Parameters:
format
,include_metadata
,group_by
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 -4