whoami-mcp
Exposes a person's structured professional profile as MCP tools, enabling Claude and other MCP clients to answer questions about that person based on real data.
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:
- Library —
npm i whoami-mcp, build your own integration on the tools. - Local (stdio) —
npx whoami-mcpfor Claude Desktop. - Deployable (HTTP) — a stateless Streamable-HTTP server you can host (Docker-ready).
Install
One click — pick your client:
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
- Install
- Tools
- Chat (optional)
- Your profile
- Local (stdio) — Claude Desktop
- Deploy (Streamable HTTP)
- Build on the library
- Layout
- License
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 |
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", "whoami-stdio"],
"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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.