Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Personal Context MCP Serversave my doctor's phone number under contacts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildBasic 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.mdFile 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 messagesSecurity Features
OTP Authentication
For sensitive data, enable OTP authentication:
Setup OTP: Use
setup_otptool to generate QR code and backup codesVerify Access: Use
verify_otptool before accessing encrypted dataCheck Status: Use
otp_statustool to see current authentication stateLock 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 devLicense
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.