Expose your personal, professional, educational, and social profile to any AI assistant via MCP.
mcp-me is an MCP server that exposes a personal, professional, educational, and social profile to any AI assistant via the Model Context Protocol (MCP). It is intended to let assistants access profile information across tools and environments, with support reflected in the provided TypeScript/CLI ecosystem references.
๐ ๏ธ Key Features
Exposes personal profile data via MCP
Covers professional, educational, and social profile information
Published under the io.github.paladini/mcp-me identifier
๐ Use Cases
Provide identity and background context to AI assistants
Your AI assistants don't know who you are. Every time you start a conversation with Claude, Copilot, Cursor, or Windsurf, it's a blank slate โ no context about your skills, your projects, your career, or what you care about.
mcp-me fixes that. It creates a structured personal profile that any AI assistant can read via the Model Context Protocol (MCP). Think of it as a digital identity layer for AI โ your bio, career, skills, interests, projects, and more, always available to every AI tool you use.
code
You: "Write me a cover letter for this job"
AI: (reads your me://career, me://skills, me://projects)
"Based on your 5 years at Acme Corp, your TypeScript expertise,
and your open-source work on mcp-me..."
Why mcp-me?
AI that knows you โ Your assistants remember your skills, career, projects, and personality across every conversation
Auto-generated โ Pull data from 329 registered generators (implemented across 44 generator source files) with one command
Privacy-first โ All data stays local in YAML files on your machine. Nothing is sent to any cloud.
Real-time plugins โ 13 live integrations (Spotify now playing, GitHub repos, Last.fm scrobbles) that AI queries on demand
Extensible โ Community-driven generators and plugins. Add a new data source in ~10 lines of code.
Works everywhere โ Claude Desktop, Cursor, Windsurf, Copilot, and any MCP-compatible AI assistant
Installation
Prerequisite:Node.js 20 or later. Verify with node -v.
One-Click Install
Add mcp-me to your AI assistant in one click โ no path configuration needed (profile defaults to ~/.mcp-me):
ย ย
Claude Desktop: Download the latest .mcpb release and double-click to install, or drag it into Claude Desktop โ Settings โ Extensions.
# 3. Generate! Reads sources from .mcp-me.yaml automatically
mcp-me generate
# 4. Start the MCP server
mcp-me serve
CLI flags also work:mcp-me generate --github octocat --devto myuser
All commands work with npx (zero install) or with mcp-me directly if installed globally. The generate command pulls your data from public APIs and auto-populates profile YAML files โ no API keys needed for most sources.
Profile directory structure
code
~/.mcp-me/ โ Default profile location
.mcp-me.yaml โ Configuration (generators + plugins)
identity.yaml โ Your data (name, bio, contact)
skills.yaml โ Your data (languages, tools)
projects.yaml โ Your data (portfolio)
career.yaml โ Your data (experience)
interests.yaml โ Your data (hobbies, topics)
personality.yaml โ Your data (traits, values)
goals.yaml โ Your data (short/long-term)
faq.yaml โ Your data (Q&A pairs)
Configure Your AI Assistant
One-Click (Cursor & VS Code)
Use the one-click install badges above. After installing, run mcp-me init to create your profile.
Cursor Plugin (Open Plugins)
mcp-me ships as a full Open Plugins plugin for Cursor. Install from cursor.directory or clone the repo โ the plugin auto-detects all components:
Tip: To enable it globally (all workspaces), open VS Code Settings (Ctrl+Shift+P โ "Preferences: Open User Settings (JSON)") and add the mcp key there instead.
Claude Desktop
Option A โ Desktop Extension (.mcpb, recommended):
AI agents read special Markdown files in your project to understand how they should behave. Pair them with mcp-me so that every AI session automatically consults your profile โ no more repeating your stack, career, or preferences in every conversation.
File
Works with
AGENTS.md (project root)
Windsurf (Cascade), OpenAI Codex, Cline, and others
The table below is a curated list of commonly used generators. The complete source of truth is src/generators/index.ts.
Category
Flag
Source
Data
Code
--github <user>
GitHub API
Repos, languages, stars, profile
Code
--gitlab <user>
GitLab API
Projects, topics, profile
Code
--bitbucket <user>
Bitbucket API
Repos, languages
Code
--huggingface <user>
Hugging Face API
Models, datasets, spaces
Code
--kaggle <user>
Kaggle API
Competitions, datasets, medals
Code
--codeberg <user>
Gitea API
Repos, languages
Writing
--devto <user>
DEV.to API
Articles, tags, reactions
Writing
--medium <user>
Medium RSS
Articles, categories, article text
Writing
--blogger-backup <xml>
Blogger XML export
Imported posts from a local backup, filtered by author if needed
Writing
--hashnode <user>
Hashnode GraphQL
Blog posts, tags
Writing
--substack <user>
Substack RSS
Newsletter posts, article text
Writing
--wordpress <site>
WordPress API
Blog posts, categories, tags
Writing
--openlibrary <user>
Open Library API
Books authored
Writing
--orcid <id>
ORCID API
Academic publications
Writing
--semanticscholar <id>
S2 API
Research papers, citations
Writing
--youtube <channel>
YouTube RSS
Videos, channel info
Community
--stackoverflow <id>
Stack Exchange API
Top tags, reputation, badges
Community
--hackernews <user>
HN Firebase API
Karma, submissions
Community
--mastodon <user@host>
Mastodon API
Posts, hashtags, bio
Community
--bluesky <handle>
AT Protocol API
Posts, followers
Community
--reddit <user>
Reddit JSON API
Karma, bio
Community
--producthunt <user>
ProductHunt GraphQL
Launched products, upvotes
Community
--threads <user>
Threads API
Bio, follower stats
Packages
--npm <user>
npm Registry
Published packages
Packages
--pypi <pkgs>
PyPI JSON API
Package metadata
Packages
--crates <user>
Crates.io API
Rust crates
Packages
--dockerhub <user>
Docker Hub API
Container images
Activity
--wakatime <user>
WakaTime API
Coding time, languages, editors
Blogger XML Backup
--blogger-backup imports written content from a Blogger XML export file on disk. It is designed for archived or multi-author blogs where you want to recover your posts even if the site is old, partially offline, or not easily queryable through a public API.
By default it imports all post entries from the file. If the backup contains multiple authors, append ::author1,author2,... after the file path to keep only posts whose author name or email matches one of those values.
Examples:
bash
# Import all posts from a Blogger export
mcp-me generate --blogger-backup ~/Downloads/blog-2026-03-24.xml
# Import only posts written by specific authors/emails
mcp-me generate --blogger-backup "~/Downloads/blog.xml::fernandopalad@gmail.com,fnpaladini@gmail.com,Fernando Paladini"
How to get the export file:
Open Blogger and choose your blog.
Go to Settings.
In Manage blog, click Back up content.
Download the XML file.
Pass that file path to --blogger-backup.
The generator imports matching posts into projects.yaml with category: article, preserves post labels as tags, and adds summary FAQ entries about the archive.
| Activity | --letterboxd <user> | Letterboxd RSS | Films watched, ratings |
| Activity | --goodreads <user> | Goodreads RSS + author page | Read books, shelves, reviews, published books |
| Activity | --chess <user> | Chess.com API | Rating, stats |
| Activity | --lichess <user> | Lichess API | Rating, games |
| Activity | --codewars <user> | Codewars API | Rank, honor, languages |
| Activity | --leetcode <user> | LeetCode GraphQL | Problems solved, contests |
| Activity | --lastfm <user> | Last.fm API | Listening history, top artists |
| Activity | --steam <id> | Steam API | Games, playtime |
| Activity | --twitch <user> | Twitch API | Stream info |
| Activity | --dribbble <user> | Dribbble | Design shots, portfolio |
| Activity | --unsplash <user> | Unsplash API | Photos, downloads, collections |
| Activity | --exercism <user> | Exercism API | Language tracks, exercises |
| Activity | --hackerrank <user> | HackerRank API | Badges, challenges solved |
| Activity | --anilist <user> | AniList GraphQL | Anime/manga stats, genres |
| Identity | --gravatar <email> | Gravatar API | Bio, linked accounts, photo |
| Identity | --keybase <user> | Keybase API | Verified identity proofs |
Community plugins are installed from npm (mcp-me-plugin-*) and auto-discovered. See the Plugin Creation Guide.
Generators vs Plugins
Generators
Plugins
Run when
mcp-me generate (once)
mcp-me serve (continuously)
Output
Static YAML files
Live MCP resources/tools
Auth
Almost never needed
Sometimes (OAuth)
Example
"Repos I had in March"
"Repos I have right now"
Extend
Add src/generators/*.ts
Add src/plugins/*/
CLI Reference
bash
# Auto-generate profile from multiple data sources
mcp-me generate [--directory] --github <user> [--devto <user>] [--stackoverflow <id>] ...
# Initialize with blank YAML templates (defaults to ~/.mcp-me)
mcp-me init [directory]
# Validate profile YAML files
mcp-me validate [directory]
# Start the MCP server (defaults to ~/.mcp-me)
mcp-me serve [directory]
# Scaffold a new generator or plugin (for contributors)
mcp-me create generator <name> [--category <category>]
mcp-me create plugin <name>
Profile location: Defaults to ~/.mcp-me. Override with MCP_ME_PROFILE_DIR or pass an explicit [directory] argument.
Development
bash
# Clone the repo
git clone https://github.com/paladini/mcp-me.git
cd mcp-me
# Install dependencies
npm install
# Run tests
npm test# Build
npm run build
# Run in dev mode
npm run dev
FAQ
What is MCP (Model Context Protocol)?
MCP is an open standard by Anthropic that connects AI assistants to external data sources. mcp-me uses MCP to let AI assistants read your personal profile data.
Do I need API keys?
Most generators use public APIs with no auth needed. Some (Strava, Spotify) require tokens โ see the .mcp-me.yaml comments for details.
Can I use this with Claude Desktop / VS Code / Cursor / Windsurf?
Yes! Any MCP-compatible AI assistant works. See the Configure Your AI Assistant section.
How do I make AI agents use my profile automatically?
Drop an AGENTS.md (for Windsurf, Cline, Codex) or .github/copilot-instructions.md (for GitHub Copilot) into your project. Templates are included โ see the Agent Instructions Guide.
How do I add a new data source?
Run mcp-me create generator myservice to scaffold a new generator, or see the Generator Creation Guide.
Is my data stored anywhere?
No. All data stays local in your YAML files. The MCP server reads from disk โ nothing is sent to any cloud.
How many generators are there?
Currently 329 registered generators, implemented across 44 generator source files plus 15 batch files.
Contributing
We welcome contributions! Whether it's a new plugin, a bug fix, or documentation improvements โ see CONTRIBUTING.md for guidelines.
Maintainers: see Publishing Guide for release and distribution instructions.