Personal Context MCP Server
Enables managing personal information with dynamic topic-based organization (tasks, meetings, contacts, etc.), supporting optional OTP authentication and AES-256 encryption for sensitive data with automatic backups.
README
Personal MCP Server
A Model Context Protocol (MCP) server for managing personal information with dynamic topic-based organization, OTP authentication, and encryption support.
Features
- Topic-Based Organization: Files organized by category (tasks, meetings, contact, personal, etc.)
- Dynamic Categories: No predefined restrictions - create any category that fits your needs
- Rich Metadata: Support for subcategories, tags, and timestamps
- Batch Operations: Efficient bulk operations for saving and retrieving data
- Encryption Support: Optional AES-256 encryption for sensitive data
- OTP Authentication: Time-based OTP for secure access to encrypted data
- Backup System: Automatic backups before data modifications
Quick Start
Installation
npm install
npm run build
Basic Usage - Save to .personal-context-data in user home directory
{
"mcpServers": {
"personal-info": {
"command": "node",
"args": [
"<path/to/personal-mcp>/dist/index.js"
]
}
}
}
Environment Variables
# Data storage
PERSONAL_INFO_DATA_DIR=./data
PERSONAL_INFO_MAX_FILE_SIZE=1048576 # 1MB
PERSONAL_INFO_BACKUP_ENABLED=true
PERSONAL_INFO_BACKUP_DIR=./backups
# Security (optional)
PERSONAL_INFO_ENCRYPTION_ENABLED=false
PERSONAL_INFO_ENCRYPTION_KEY=""
Configuration Example
{
"mcpServers": {
"shared-memory-info": {
"command": "node",
"args": [
"<path/to/personal-mcp>/dist/index.js"
]
"env": {
"PERSONAL_INFO_DATA_DIR": "<path/to/shared/folder>/shared-mcp-memory",
}
}
}
}
Available Tools
Core Information Management
list_available_personal_info: List all available information by categoryupdate_personal_info: Update existing personal informationdelete_personal_info: Delete specific personal informationbatch_get_personal_info: Retrieve multiple categories at oncebatch_save_personal_info: Save multiple items efficiently
Security & Authentication
setup_otp: Set up OTP authentication for encryptionverify_otp: Verify OTP token to access encrypted dataotp_status: Check current OTP configuration statuslock_otp: Immediately lock current OTP session and block accessdisable_otp: Disable OTP and encryption
Topic-Based Organization
File Structure example (auto generated)
Information is organized by topic/category in a simple directory structure for example:
data/
├── tasks/
│ ├── project-alpha-planning.md
│ └── meeting-preparation.md
├── contact/
│ ├── phone-personal-mobile.md
│ └── email-work.md
├── meetings/
│ ├── team-standup-2024-01-15.md
│ └── client-review-2024-01-16.md
├── personal/
│ ├── hobbies.md
│ └── preferences.md
└── health/
└── allergies.md
File Format
Each file uses YAML frontmatter with markdown content:
---
category: contact
subcategory: personal-mobile
created: 2024-01-15T10:30:00Z
updated: 2024-01-15T10:30:00Z
tags: [contact, mobile, primary]
---
# Phone - Personal Mobile
+1 (555) 123-4567
## Notes
- Primary contact number
- Available 9 AM - 10 PM PST
- Supports text messages
Security Features
OTP Authentication
For sensitive data, enable OTP authentication:
- Setup OTP: Use
setup_otptool to generate QR code and backup codes - Verify Access: Use
verify_otptool before accessing encrypted data - Check Status: Use
otp_statustool to see current authentication state - Lock Session: Use
lock_otptool to immediately terminate access when stepping away
Encryption
- AES-256 encryption for file contents
- Stable encryption keys (not time-based)
- OTP used for access control, not key derivation
Development
Building and Testing
# Install dependencies
npm install
# Build TypeScript and watch for changes
npm run dev
License
MIT License - see LICENSE file for details.
Vibe Coding Disclaimer ⚠️
The code is written by AI, so it may not be the best code. Use it at your own risk.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.