Personal MCP
Connect your Personal Hub to Claude, ChatGPT, or any AI service that supports the Model Context Protocol (MCP). Share selected personal data so your AI can give you truly personalized answers, while keeping everything encrypted with a key only you hold.
Description
Personal Hub is a personal data integration layer where users collect, organize, and control their digital life in one encrypted space. Personal MCP lets users share selected data from their hub with AI services through a secure, encrypted connection.
Each connection uses a separate encryption key generated in the user's browser. Your shared data is always encrypted with this key. Users control exactly which data fields each service can see, and can disconnect at any time to delete all shared data instantly.
Authentication
Personal MCP supports two connection methods:
Easiest: Connect through the directory
Available for Claude. Find Personal MCP in Claude's connector directory and click Connect. You will be redirected to Personal Hub to choose what to share. OAuth 2.0 handles the authentication automatically.
With this method, your share key is stored encrypted on our server with a key-encryption-key. The share key is only decrypted during active requests from your AI service.
Most secure: Manual connection URL
Available for all MCP services. Generate a connection URL in your Personal Hub. The URL contains your share key. Our servers never store this key. It exists only in the URL and in your browser.
This is the strongest encryption option. The trade-off is that you need to copy and paste the URL into your AI service settings manually.
Both methods encrypt your shared data with a key unique to each connection. Both allow field-level control over what is shared. Both can be revoked instantly.
Features
Profile data sharing
Share selected fields from your personal profile: name, location, languages, interests, preferences, and more. Exclude any field you want to keep private.
Purchase data sharing
Optionally share purchase history with controls for what details to include (merchant names, amounts, categories, or categories only).
Chat history search
Upload conversation exports from ChatGPT, Claude, or other services. Your AI can search these conversations for relevant context from past discussions.
AI-suggested updates
Your AI can offer to save new information to your hub during conversation. Suggestions are queued for your review. Nothing is saved until you approve.
Delta loading
After the first read, your AI only needs to check what changed. The get_recent_changes tool returns only updated data, saving tokens and time.
Per-service encryption
Each AI connection gets its own encryption key. Revoking one connection has no effect on others. Different services can see different data.
Field-level control
Choose not just which dimensions to share, but which specific fields within each dimension. Share your name and location with Claude, but not your birthday. Share interests with ChatGPT, but not purchases.
How your data flows
This diagram shows each stage your data passes through, from its original source to your AI service and back. The encryption status is shown at each stage.
Origin
Your data lives in email, bank, or platform services.
Readable by the original serviceYou export or import in your browser
Your browser
Data arrives as plaintext in your browser.
Readable by you onlyEncrypted with your vault key (derived from your password)
Personal Vault
Stored encrypted in your vault.
Encrypted. We cannot read it. No one can without your password.You select data to share. Browser decrypts, then re-encrypts with a new share key.
Personal MCP
Selected data, encrypted with a separate key per connection.
Encrypted. We cannot read it. The share key exists only in your connection URL.AI service sends request with the share key. Data decrypted in server memory (~50ms), served, key discarded.
AI service
Your AI processes the data during conversation.
Readable by the AI service during the session. Subject to its own privacy policy.AI suggests updates (encrypted with share key)
Suggestion queue
Suggestions waiting for your approval in Personal Hub.
Encrypted. We cannot read it.You approve in your browser. Re-encrypted with vault key, saved to your vault.
Back to your vault
Approved data is encrypted with your vault key and stored securely.
Setup
- Sign in to Personal Hub at personalhub.io
- Go to the Share page
- Click “Connect” on the AI service you want to use
- Select which data to share (nothing is shared by default)
- Copy your connection URL
- Add the URL as a custom connector in your AI service
For Claude
Go to claude.ai/customize, click Connectors, click the + button, select “Add custom connector,” enter a name like “Personal MCP,” paste the URL, and click Add.
For ChatGPT
Go to Settings, click Connectors, then Advanced, enable Developer Mode, click “Add connector,” paste the URL, and click Save. Requires ChatGPT Plus or higher.
For other MCP services
Add the URL as a remote MCP server or custom connector in your service's settings.
Authentication
Personal MCP uses URL-based authentication. Each connection URL contains a unique encrypted token that identifies the user and carries the decryption key. No separate login or OAuth flow is required.
The token is generated in the user's browser and the server stores only a SHA-256 hash for revocation purposes. The full token (and therefore the decryption key) is never stored on our servers.
Users can revoke access at any time from the Share page in Personal Hub. Revoking deletes all shared data and invalidates the connection URL.
For the complete encryption specification, see our privacy policy. The encryption code is open source at github.com/mariusokland/personal-encryption.
Tools
Personal MCP provides 7 tools: 5 for reading your data and 2 for saving new information back to your hub.
Read tools
get_profile_summary
Returns a compact overview of all shared data. Call this first to understand what context is available. Includes your name, location, which dimensions are shared, and whether anything changed since the last read.
get_dimension
Returns the full data for a specific shared dimension. Available dimensions vary per user. Common dimensions: basics, interests, preferences, purchases.
get_recent_changes
Returns only data that changed since a given timestamp. Use for efficient context updates without re-reading everything.
search_context
Searches across all shared data for information matching a query. Use when you need specific information without loading all dimensions.
get_chat_context
Searches uploaded conversation history from other AI services for relevant excerpts.
Suggest tools
suggest_profile_update
Suggests an update to your profile. For example, if you mention a new interest or preference during conversation, the AI can offer to save it. The suggestion is queued for you to review in Personal Hub. Nothing is saved until you approve it.
suggest_note
Saves a conversation summary or important note to your hub. After a substantive conversation, the AI can offer to save key takeaways, decisions, or plans. You review and approve before anything is saved.
All read tools are read-only. Suggest tools queue data for your approval. No tool can modify your vault directly.
Resources
Personal MCP provides your profile summary as an MCP resource. Unlike tools (which the AI calls on demand), resources are loaded automatically when the connection starts. This means your AI already knows your name, location, and interests before you type your first message.
personal-mcp://profile/summary
Your shared profile data, loaded once and cached. Includes a flag indicating whether anything changed since the last read, so the AI can efficiently check for updates.
Prompts
Personal MCP includes suggested interactions that may appear in your AI's interface:
Get to know me
The AI reads your profile and tells you what it knows about you, naturally and conversationally.
Update my profile
Review your shared data with the AI and update anything that is outdated or missing.
Save conversation summary
At the end of a conversation, generate a summary and offer to save it to your hub.
What's new
Check what changed in your hub since the last conversation.
Suggestions
When your AI learns something about you during conversation, it can offer to save it to your hub. For example:
“You mentioned you recently switched to a vegetarian diet. Want me to save that to your Personal Profile?”
If you agree, the AI creates a suggestion. The suggestion is encrypted and queued in your hub. Nothing enters your vault until you review and approve it.
You can:
- Approve the suggestion (saves to your vault, encrypted)
- Edit before saving (modify the suggestion, then save)
- Dismiss (deletes the suggestion, nothing is saved)
Suggestions expire after 30 days if not acted upon.
This creates a feedback loop: the more you use your AI, the richer your profile becomes, and the better every connected AI serves you.
Examples
Example 1
Get to know the user
User prompt:
“What do you know about me from Personal Hub?”
What happens:
- Claude calls get_profile_summary
- Receives the user's name, location, languages, shared dimensions, and a summary of available data
- Responds with a personalized greeting using the user's actual profile data
Example tool response:
{
"user": "Marius",
"location": "Oslo, Norway",
"languages": ["Norwegian", "English"],
"shared_dimensions": {
"basics": { "filled_fields": 4, "total_fields": 7 },
"interests": { "count": 12 },
"preferences": { "filled_fields": 2, "total_fields": 4 }
},
"data_version": "2026-03-19T14:32:00Z"
}Example 2
Use interests for recommendations
User prompt:
“Based on my interests, what podcasts might I enjoy?”
What happens:
- Claude calls get_dimension("interests")
- Receives the user's full interest list
- Generates podcast recommendations tailored to the user's actual interests, not generic suggestions
Example tool response:
["Technology", "Data Privacy", "Music Production", "Sailing", "Nordic Mythology", "Philosophy", "Entrepreneurship", "AI Ethics", "Cooking", "Board Games", "Hiking", "Architecture"]
Example 3
Reference past conversations
User prompt:
“What did I discuss with ChatGPT about learning Norwegian?”
What happens:
- Claude calls get_chat_context("learning Norwegian")
- Receives relevant excerpts from the user's uploaded ChatGPT conversation history
- Summarizes the past discussion and can build on it
Example tool response:
{
"query": "learning Norwegian",
"matches": [
{
"source": "chatgpt",
"content": "user: What are the best apps for learning Norwegian?\nassistant: For Norwegian specifically, I'd recommend...",
"metadata": {
"conversationTitle": "Language Learning",
"date": "2025-08-15"
}
}
]
}Example 4
Efficient context updates
User prompt:
“I updated my preferences yesterday. What's new?”
What happens:
- Claude calls get_recent_changes with the timestamp from a previous conversation
- Receives only the changed data (e.g., updated preferences)
- Responds with awareness of the specific changes without re-reading all data
Example tool response:
{
"changes_since": "2026-03-18T10:00:00Z",
"updated_dimensions": [
{
"dimension": "preferences",
"data": { "communicationStyle": "Direct and concise" },
"updated_at": "2026-03-19T09:15:00Z"
}
],
"data_version": "2026-03-19T14:32:00Z"
}Example 5
Search across all shared data
User prompt:
“Do you know anything about my dietary preferences?”
What happens:
- Claude calls search_context("dietary preferences")
- Searches across all shared dimensions for relevant matches
- Returns any matching data from preferences, health, or other dimensions that mention dietary information
Example tool response:
{
"query": "dietary preferences",
"results": [
{
"dimension": "preferences",
"data": {
"dietaryPreferences": "Pescatarian, avoids dairy"
}
}
]
}Example 6
AI learns a preference
User prompt:
“I prefer concise explanations with practical examples. I don't like long theoretical introductions.”
What happens:
- The AI responds to the conversation normally
- The AI offers: "Want me to save your communication preferences to your Personal Profile?"
- If the user agrees, the AI calls suggest_profile_update
- The suggestion appears in Personal Hub for review
- The user approves, and the preference is saved to their encrypted vault
- Every connected AI service now knows this preference
Example 7
Save a conversation summary
User prompt:
“Let's save the key points from our discussion today.”
What happens:
- The AI calls suggest_note with a title and summary
- The note appears in Personal Hub for review
- The user can edit the summary before saving
- Once approved, the note is encrypted and stored
- Future conversations can reference this note via search_context
Privacy
Personal Hub is built on a principle of data sovereignty.
- All vault data is encrypted client-side before storage
- Shared data for AI connections is encrypted with a separate key per connection
- The decryption key is never stored on our servers
- Users choose exactly which fields to share
- Users can revoke access and delete all shared data instantly
- Suggestions from AI services are encrypted and require user approval before entering the vault
- We do not collect conversation data from AI services
- We do not use shared data for any purpose other than serving it to the authorized AI service
Full privacy policy: personalhub.io/privacy
Support
For questions about Personal MCP or data sharing: mcp@personalhub.io
For general product support: hello@personalhub.io
Documentation: personalhub.io/docs/mcp
Website: personalhub.io