Skip to main content
Glama
matipojo

Personal Context MCP Server

by matipojo

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 category

  • update_personal_info: Update existing personal information

  • delete_personal_info: Delete specific personal information

  • batch_get_personal_info: Retrieve multiple categories at once

  • batch_save_personal_info: Save multiple items efficiently

Security & Authentication

  • setup_otp: Set up OTP authentication for encryption

  • verify_otp: Verify OTP token to access encrypted data

  • otp_status: Check current OTP configuration status

  • lock_otp: Immediately lock current OTP session and block access

  • disable_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:

  1. Setup OTP: Use setup_otp tool to generate QR code and backup codes

  2. Verify Access: Use verify_otp tool before accessing encrypted data

  3. Check Status: Use otp_status tool to see current authentication state

  4. Lock Session: Use lock_otp tool 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.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matipojo/personal-context-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server