github TypeScript analyzed 34f85ac

paladini/mcp-me

github

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

maintainer
paladini
licence
MIT
first seen
2026-06-05
last seen
2026-08-12
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 2 tools
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
skills & danger signals github-tarball
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

danger signals1

code evidence vv0.6.0 · github-tarball
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