npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

whoami-mcp

v1.0.1

Published

Run your professional profile as live MCP tools — let any AI answer questions about you from real data. Library + local stdio server + deployable Streamable-HTTP server, in one package.

Readme

whoami-mcp

A Model Context Protocol server that exposes a person's structured professional profile — experience, projects, skills, education, certifications — as MCP tools. Point Claude (or any MCP client) at it and it can answer questions about that person from real data instead of guesswork.

One package, three ways to use it:

  • Librarynpm i whoami-mcp, build your own integration on the tools.
  • Local (stdio)npx whoami-mcp for Claude Desktop.
  • Deployable (HTTP) — a stateless Streamable-HTTP server you can host (Docker-ready).

Install

One click — pick your client:

Add to Cursor Add to VS Code

Or follow a per-client guide:

| Client | Guide | |---|---| | Cursor | installation/install-cursor.md | | Claude Desktop | installation/install-claude-desktop.md | | Claude Code | installation/install-claude-code.md | | VS Code (Copilot) | installation/install-vscode.md | | Windsurf | installation/install-windsurf.md | | Remote / HTTP deploy | installation/install-http.md |

After install, point the server at your profile.

Contents

Tools

| Tool | Returns | |---|---| | get_profile | Name, role, company, location, bio, availability, preferred stack, links | | get_experience | Work history: companies, roles, dates, descriptions, achievements | | get_projects | Projects: tech stack, problem solved, your specific role, links | | get_skills | Skills by category with proficiency levels | | get_education | Education history + professional certifications |

Chat (optional)

Set a chat provider and the server gains an extra ask tool — it answers free-form questions in the person's voice, grounded in the profile, instead of just returning raw data. Off by default (the data tools work without it).

It speaks the OpenAI-compatible /chat/completions API, so any provider works — set a base URL + model (+ key if needed):

| Provider | CHAT_BASE_URL | CHAT_MODEL | |---|---|---| | OpenAI | https://api.openai.com/v1 | gpt-4o-mini | | Google | https://generativelanguage.googleapis.com/v1beta/openai | gemini-2.0-flash | | Ollama (local, no key) | http://localhost:11434/v1 | llama3.2 | | Groq | https://api.groq.com/openai/v1 | llama-3.3-70b-versatile |

CHAT_BASE_URL=https://api.openai.com/v1 CHAT_API_KEY=sk-... CHAT_MODEL=gpt-4o-mini \
  PROFILE_PATH=data/profile.json npm run start:http

Env: CHAT_BASE_URL, CHAT_MODEL (both required to enable), CHAT_API_KEY (optional), CHAT_TEMPERATURE (default 0.4). See .env.example.

Your profile

Every server reads one profile JSON with six top-level keys: basic, experience, projects, skills, education, certifications. See data/profile.example.json for the exact shape.

cp data/profile.example.json data/profile.json   # then edit

Point a server at it however suits your deploy (precedence top to bottom):

  • PROFILE_URL — fetch the JSON over HTTP (a GitHub gist, your hosted profile API, any endpoint)
  • PROFILE_PATH — read this file
  • ./profile.json — default file in the working directory

Local (stdio) — Claude Desktop

{
  "mcpServers": {
    "whoami": {
      "command": "npx",
      "args": ["-y", "whoami-mcp"],
      "env": { "PROFILE_PATH": "/abs/path/to/your/profile.json" }
    }
  }
}

From a clone instead: npm install && npm run build, then point command/args at node /abs/path/to/dist/stdio.js.

Other clients: Cursor · Claude Code · VS Code · Windsurf.

Deploy (Streamable HTTP)

A long-running, stateless HTTP server — host it anywhere that runs a container.

docker compose up --build      # serves MCP at http://localhost:8080/mcp

Without Docker:

npm install && npm run build
PROFILE_PATH=data/profile.json npm run start:http

Connect an MCP client to the endpoint:

{ "mcpServers": { "whoami": { "url": "http://localhost:8080/mcp" } } }

Health check: GET /health{"status":"ok"}.

Full deploy + remote-client guide: installation/install-http.md.

Build on the library

npm i whoami-mcp
import { registerTools, type NormalizedProfile } from "whoami-mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

const server = new McpServer({ name: "whoami", version: "1.0.0" });
registerTools(server, profile);   // profile: NormalizedProfile

whoami-mcp/http also exports createHttpHandler(profile, opts) for Next.js / fetch runtimes.

Layout

src/
  index.ts        library entry — TOOLS, registerTools, types
  http.ts         createHttpHandler (fetch/Next factory)  → exported as whoami-mcp/http
  tools.ts        the five tool definitions
  types.ts        NormalizedProfile + tool types
  register.ts     registerTools(server, profile)
  loadProfile.ts  read PROFILE_PATH / ./profile.json
  stdio.ts        bin: whoami-stdio
  http-server.ts  bin: whoami-http (deployable, SDK StreamableHTTP)
npm install
npm run build

License

MIT — see LICENSE.