Your AI assistants don't know who you are. mcp-me fixes that: a local MCP server that gives any AI a full picture of who you are
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 2 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
ask_about_me
-
search_profile
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 34f85ac · analyzer v33 · 1w ago
skills & prompt files 6
- agent-rules paladini-mcp-me-34f85ac/.github/copilot-instructions.md
- agent-rules paladini-mcp-me-34f85ac/AGENTS.md
- skill paladini-mcp-me-34f85ac/skills/mcp-me/SKILL.md
- skill paladini-mcp-me-34f85ac/skills/setup-profile/SKILL.md
- agent-rules paladini-mcp-me-34f85ac/templates/.github/copilot-instructions.md
- agent-rules paladini-mcp-me-34f85ac/templates/AGENTS.md
danger signals1
- suspicious endpoint t.me paladini-mcp-me-34f85ac/src/generators/batch-social.ts :98
category: "social", platform: "telegram", profileUrl: "https://t.me/{input}",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 132
filesystem 19
- fs (weak) paladini-mcp-me-34f85ac/scripts/pack-mcpb.mjs :7
import { cp, mkdir, rm, readFile, writeFile } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/scripts/validate-open-plugin.mjs :7
import { existsSync, readdirSync, readFileSync } from "node:fs"; - fs paladini-mcp-me-34f85ac/src/cli.ts :2
import { mkdir, access, writeFile } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/generator.ts :1
import { access, mkdir, writeFile } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/generators/blogger-backup.ts :22
import { readFile } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/generators/linkedin.ts :17
import { readFile } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/init-profile.ts :1
import { access, cp, mkdir, readdir } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/loader.ts :1
import { readFile } from "node:fs/promises"; - fs paladini-mcp-me-34f85ac/src/plugins/linkedin/index.ts :1
import { readFile } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/generator.test.ts :2
import { readFile, rm, mkdir } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/generators/generator-harness.test.ts :10
import { readdirSync } from "node:fs"; - fs (weak) paladini-mcp-me-34f85ac/tests/generators/writing-generators.test.ts :1
import { mkdir, rm, writeFile } from "node:fs/promises";
show 7 more
- fs (weak) paladini-mcp-me-34f85ac/tests/init-profile.test.ts :2
import { access, mkdir, readFile, rm, writeFile } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/loader.test.ts :2
import { mkdir, writeFile, rm } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/open-plugin-structure.test.ts :1
import { existsSync, readdirSync, readFileSync } from "node:fs"; - fs (weak) paladini-mcp-me-34f85ac/tests/plugins/linkedin.test.ts :2
import { writeFile, mkdir, rm } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/plugins/plugin-harness.test.ts :10
import { readdirSync } from "node:fs"; - fs (weak) paladini-mcp-me-34f85ac/tests/server.test.ts :2
import { mkdir, writeFile, rm } from "node:fs/promises"; - fs (weak) paladini-mcp-me-34f85ac/tests/site-assets.test.ts :1
import { existsSync, readFileSync } from "node:fs";
shell / exec 1
- shell (weak) paladini-mcp-me-34f85ac/scripts/pack-mcpb.mjs :10
import { execSync } from "node:child_process";
network 57
- net paladini-mcp-me-34f85ac/src/cli.ts :263
const resp = await fetch(\`https://api.example.com/users/\${username}\`, { - net paladini-mcp-me-34f85ac/src/generators/anilist.ts :73
const resp = await fetch("https://graphql.anilist.co", { - net paladini-mcp-me-34f85ac/src/generators/batch-fitness.ts :28
const resp = await fetch(`https://www.strava.com/api/v3/athletes/${athleteId}/stats`, { - net paladini-mcp-me-34f85ac/src/generators/bitbucket.ts :37
const resp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/bluesky.ts :38
const resp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/chess.ts :44
const profileResp = await fetch(`https://api.chess.com/pub/player/${username}`, { - net paladini-mcp-me-34f85ac/src/generators/codeberg.ts :55
const userResp = await fetch(`https://codeberg.org/api/v1/users/${username}`, { - net paladini-mcp-me-34f85ac/src/generators/codewars.ts :39
const resp = await fetch(`https://www.codewars.com/api/v1/users/${username}`, { - net paladini-mcp-me-34f85ac/src/generators/cratesio.ts :42
const resp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/devto.ts :27
const response = await fetch(`https://dev.to/api${path}`, { - net paladini-mcp-me-34f85ac/src/generators/dockerhub.ts :36
const resp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/dribbble.ts :34
const resp = await fetch(`https://dribbble.com/${username}`, {
show 28 more
- net paladini-mcp-me-34f85ac/src/generators/exercism.ts :45
const profileResp = await fetch(`https://exercism.org/api/v2/profiles/${handle}`, { - net paladini-mcp-me-34f85ac/src/generators/factory.ts :93
const resp = await fetch(url, { - net paladini-mcp-me-34f85ac/src/generators/github.ts :56
const response = await fetch(`https://api.github.com${path}`, { headers }); - net paladini-mcp-me-34f85ac/src/generators/gitlab.ts :57
const usersResp = await fetch(`${baseUrl}/api/v4/users?username=${username}`, { - net paladini-mcp-me-34f85ac/src/generators/goodreads.ts :71
const resp = await fetch(`https://www.goodreads.com/author/show/${authorId}`, { - net paladini-mcp-me-34f85ac/src/generators/gravatar.ts :62
const response = await fetch(`https://api.gravatar.com/v3/profiles/${hash}`, { headers }); - net paladini-mcp-me-34f85ac/src/generators/hackernews.ts :34
const response = await fetch(`https://hacker-news.firebaseio.com/v0/user/${username}.json`, { - net paladini-mcp-me-34f85ac/src/generators/hackerrank.ts :48
const profileResp = await fetch(`https://www.hackerrank.com/rest/hackers/${username}`, { - net paladini-mcp-me-34f85ac/src/generators/hashnode.ts :47
const resp = await fetch("https://gql.hashnode.com", { - net paladini-mcp-me-34f85ac/src/generators/huggingface.ts :46
const modelsResp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/kaggle.ts :44
const resp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/keybase.ts :55
const response = await fetch( - net paladini-mcp-me-34f85ac/src/generators/lastfm.ts :52
const userResp = await fetch(`${base}&method=user.getinfo&user=${username}`, { - net paladini-mcp-me-34f85ac/src/generators/leetcode.ts :37
const resp = await fetch("https://leetcode.com/graphql", { - net paladini-mcp-me-34f85ac/src/generators/letterboxd.ts :61
const response = await fetch(`https://letterboxd.com/${username}/rss/`, { - net paladini-mcp-me-34f85ac/src/generators/lichess.ts :36
const resp = await fetch(`https://lichess.org/api/user/${username}`, { - net paladini-mcp-me-34f85ac/src/generators/mastodon.ts :58
const lookupResponse = await fetch( - net paladini-mcp-me-34f85ac/src/generators/medium.ts :144
const firstRes = await fetch(`https://medium.com/@${username}?format=json`, { - net paladini-mcp-me-34f85ac/src/generators/npm.ts :51
const response = await fetch( - net paladini-mcp-me-34f85ac/src/generators/openlibrary.ts :48
const searchResp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/orcid.ts :41
const personResp = await fetch(`https://pub.orcid.org/v3.0/${orcidId}/person`, { - net paladini-mcp-me-34f85ac/src/generators/producthunt.ts :54
const resp = await fetch("https://api.producthunt.com/v2/api/graphql", { - net paladini-mcp-me-34f85ac/src/generators/reddit.ts :44
const response = await fetch(`https://www.reddit.com/user/${username}/about.json`, { - net paladini-mcp-me-34f85ac/src/generators/semanticscholar.ts :46
const authorResp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/stackoverflow.ts :34
const response = await fetch(`https://api.stackexchange.com/2.3${path}&site=stackoverflow`, { - net paladini-mcp-me-34f85ac/src/generators/steam.ts :45
const playerResp = await fetch( - net paladini-mcp-me-34f85ac/src/generators/substack.ts :32
const resp = await fetch(`https://${publication}.substack.com/feed`, { - net paladini-mcp-me-34f85ac/src/generators/threads.ts :37
const resp = await fetch(
17 more not shown — this panel samples each group; the count above is the real total.
secrets 10
- secrets paladini-mcp-me-34f85ac/src/generator.ts :101
if (options.github && !process.env.GITHUB_TOKEN) { - secrets paladini-mcp-me-34f85ac/src/generators/batch-fitness.ts :18
const token = process.env.STRAVA_TOKEN; - secrets paladini-mcp-me-34f85ac/src/generators/github.ts :95
const token = process.env.GITHUB_TOKEN; - secrets paladini-mcp-me-34f85ac/src/generators/gravatar.ts :57
const apiKey = process.env.GRAVATAR_API_KEY; - secrets paladini-mcp-me-34f85ac/src/generators/lastfm.ts :46
const apiKey = process.env.LASTFM_API_KEY; - secrets paladini-mcp-me-34f85ac/src/generators/steam.ts :41
const apiKey = process.env.STEAM_API_KEY; - secrets paladini-mcp-me-34f85ac/src/generators/twitch.ts :46
const clientSecret = process.env.TWITCH_CLIENT_SECRET; - secrets paladini-mcp-me-34f85ac/src/generators/youtube.ts :33
const apiKey = process.env.YOUTUBE_API_KEY; - secrets (weak) paladini-mcp-me-34f85ac/tests/generator.test.ts :252
const originalToken = process.env.GITHUB_TOKEN; - secrets (weak) paladini-mcp-me-34f85ac/tests/plugins/spotify.test.ts :97
process.env.TEST_SPOTIFY_CLIENT_SECRET = "test-client-secret";
tool registrations 2
- ask_about_me paladini-mcp-me-34f85ac/src/server.ts :82
- search_profile paladini-mcp-me-34f85ac/src/server.ts :119
install hooks 1
- prepublishOnly paladini-mcp-me-34f85ac/package.json :28
npm run build
declared dependencies 14
- @modelcontextprotocol/sdk@^1.12.1
- commander@^13.1.0
- yaml@^2.7.1
- zod@^3.24.4
- @eslint/js@^9.39.4
- @types/node@^22.15.3
- eslint@^9.27.0
- eslint-config-prettier@^10.1.1
- harness-score@^1.3.2
- prettier@^3.5.3
- tsup@^8.4.0
- typescript@^5.8.3
show 2 more
- typescript-eslint@^8.57.1
- vitest@^3.1.3