mcp-me
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.
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 342+ sources (GitHub, Medium, Strava, Goodreads, and hundreds more) 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.
Recommended — install globally:
npm install -g mcp-meThis makes the mcp-me command available everywhere on your system. No need to clone any repository — npm downloads the package for you.
mcp-me --help
mcp-me init ~/my-profile
mcp-me generate ~/my-profile
mcp-me serve ~/my-profileAlternative — run without installing (via npx):
npx mcp-me --helpnpx downloads the package temporarily and runs it. Useful for trying mcp-me once, but slower on repeated use since it re-downloads each time.
Quick Start
# 1. Initialize your profile (creates YAML templates + .mcp-me.yaml config)
mcp-me init ~/my-profile
# 2. Edit the config file — uncomment your sources
code ~/my-profile/.mcp-me.yamlYour .mcp-me.yaml config file:
generators:
github: your-username
devto: your-username
bluesky: handle.bsky.social
zodiac: aquarius
plugins:
github:
enabled: true
username: your-username# 3. Generate! Reads sources from .mcp-me.yaml automatically
mcp-me generate ~/my-profile
# 4. Start the MCP server
mcp-me serve ~/my-profileCLI flags also work:
mcp-me generate ~/my-profile --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
my-profile/
.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
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"me": {
"command": "npx",
"args": ["mcp-me", "serve", "/absolute/path/to/my-profile"]
}
}
}Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"me": {
"command": "npx",
"args": ["mcp-me", "serve", "/absolute/path/to/my-profile"]
}
}
}VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your project root (or in your User Settings for global access):
{
"servers": {
"me": {
"command": "npx",
"args": ["mcp-me", "serve", "/absolute/path/to/my-profile"]
}
}
}Tip: To enable it globally (all workspaces), open VS Code Settings (
Ctrl+Shift+P→ "Preferences: Open User Settings (JSON)") and add themcpkey there instead.
Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"me": {
"command": "npx",
"args": ["mcp-me", "serve", "/absolute/path/to/my-profile"]
}
}
}Profile Schema
Your profile is a collection of YAML files:
File | Description |
| Name, bio, location, languages, contact info |
| Work experience, education, certifications |
| Technical and soft skills with proficiency levels |
| Hobbies, music, books, movies, food preferences |
| Values, traits, MBTI, strengths |
| Short, medium, and long-term goals |
| Personal and open-source projects |
| Custom Q&A pairs about yourself |
See Schema Reference for full documentation.
MCP Interface
Resources
Static profile data exposed as MCP resources:
me://identity— Personal identity and contactme://career— Professional historyme://skills— Skills and proficienciesme://interests— Hobbies and preferencesme://personality— Personality traits and valuesme://goals— Personal and professional goalsme://projects— Portfolio and projectsme://faq— Frequently asked questions
Tools
ask_about_me— Free-form question about the usersearch_profile— Keyword search across all profile data
Prompts
introduce_me— Generate a 2-paragraph introductionsummarize_career— Summarize career trajectorytechnical_profile— Describe technical skills and stackcollaboration_fit— Evaluate fit for a project
Generators (42 data sources)
Generators run during mcp-me generate to auto-populate your profile from public APIs. No API keys needed for most sources.
Category | Flag | Source | Data |
Code |
| GitHub API | Repos, languages, stars, profile |
Code |
| GitLab API | Projects, topics, profile |
Code |
| Bitbucket API | Repos, languages |
Code |
| Hugging Face API | Models, datasets, spaces |
Code |
| Kaggle API | Competitions, datasets, medals |
Code |
| Gitea API | Repos, languages |
Writing |
| DEV.to API | Articles, tags, reactions |
Writing |
| Medium RSS | Articles, categories |
Writing |
| Hashnode GraphQL | Blog posts, tags |
Writing |
| Substack RSS | Newsletter posts |
Writing |
| WordPress API | Blog posts, categories, tags |
Writing |
| Open Library API | Books authored |
Writing |
| ORCID API | Academic publications |
Writing |
| S2 API | Research papers, citations |
Writing |
| YouTube RSS | Videos, channel info |
Community |
| Stack Exchange API | Top tags, reputation, badges |
Community |
| HN Firebase API | Karma, submissions |
Community |
| Mastodon API | Posts, hashtags, bio |
Community |
| AT Protocol API | Posts, followers |
Community |
| Reddit JSON API | Karma, bio |
Community |
| ProductHunt GraphQL | Launched products, upvotes |
Community |
| Threads API | Bio, follower stats |
Packages |
| npm Registry | Published packages |
Packages |
| PyPI JSON API | Package metadata |
Packages |
| Crates.io API | Rust crates |
Packages |
| Docker Hub API | Container images |
Activity |
| WakaTime API | Coding time, languages, editors |
Activity |
| Letterboxd RSS | Films watched, ratings |
Activity |
| Goodreads RSS | Books, reading list |
Activity |
| Chess.com API | Rating, stats |
Activity |
| Lichess API | Rating, games |
Activity |
| Codewars API | Rank, honor, languages |
Activity |
| LeetCode GraphQL | Problems solved, contests |
Activity |
| Last.fm API | Listening history, top artists |
Activity |
| Steam API | Games, playtime |
Activity |
| Twitch API | Stream info |
Activity |
| Dribbble | Design shots, portfolio |
Activity |
| Unsplash API | Photos, downloads, collections |
Activity |
| Exercism API | Language tracks, exercises |
Activity |
| HackerRank API | Badges, challenges solved |
Activity |
| AniList GraphQL | Anime/manga stats, genres |
Identity |
| Gravatar API | Bio, linked accounts, photo |
Identity |
| Keybase API | Verified identity proofs |
Want to add a new data source? See the Generator Creation Guide.
Plugins (13 live integrations)
Plugins run during mcp-me serve and provide real-time data to AI assistants on every query.
Plugin | Description | Auth |
GitHub | Live repos, activity, languages | Optional token |
Spotify | Now playing, top artists, playlists | OAuth required |
Professional history from export | Local JSON file | |
WakaTime | Live coding stats, languages | Optional API key |
DEV.to | Live articles, reactions | Optional API key |
Bluesky | Live posts, profile, followers | None |
Hacker News | Live stories, karma | None |
Live karma, posts | None | |
GitLab | Live projects, activity, MRs | Optional token |
Mastodon | Live toots, profile, engagement | None |
YouTube | Live videos, channel stats | Optional API key |
Last.fm | Now playing, top artists, scrobbles | Optional API key |
Steam | Currently playing, game library | Optional API key |
Enable plugins in .mcp-me.yaml:
plugins:
github:
enabled: true
username: "your-username"
spotify:
enabled: true
client_id_env: "SPOTIFY_CLIENT_ID"
client_secret_env: "SPOTIFY_CLIENT_SECRET"
refresh_token_env: "SPOTIFY_REFRESH_TOKEN"Community plugins are installed from npm (mcp-me-plugin-*) and auto-discovered. See the Plugin Creation Guide.
Generators vs Plugins
Generators | Plugins | |
Run when |
|
|
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 | Add |
CLI Reference
# Auto-generate profile from multiple data sources
mcp-me generate <dir> --github <user> [--devto <user>] [--stackoverflow <id>] ...
# Initialize with blank YAML templates
mcp-me init <directory>
# Validate profile YAML files
mcp-me validate <directory>
# Start the MCP server
mcp-me serve <directory>
# Scaffold a new generator or plugin (for contributors)
mcp-me create generator <name> [--category <category>]
mcp-me create plugin <name>Development
# 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 devFAQ
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 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? 342+ generators across 24 categories — from GitHub and Medium to Zodiac signs and D&D alignment.
Contributing
We welcome contributions! Whether it's a new plugin, a bug fix, or documentation improvements — see CONTRIBUTING.md for guidelines.