resume-mcp
MCP server that exposes a resume as callable tools and resources, enabling AI agents to query experience, skills, projects, and contact information via natural language.
README
resume-mcp
My resume, as a single source of truth with three faces:
- a website for humans,
- a local (stdio) MCP server for AI agents on your machine,
- a hosted (HTTP) MCP server any remote client can connect to,
all reading one resume.json and one shared search function, so nothing drifts.
Live:
- Website: https://surya-resume-site.suryakapila.workers.dev
- Hosted MCP endpoint: https://surya-resume-site.suryakapila.workers.dev/mcp
The point is the shape, not the size: a typed boundary, validated arguments, predictable payloads. The same backend systems I build every day.
Layout
resume.json <- the single source of truth (JSON Resume schema)
shared/search.ts <- searchBySkill(resume, skill), imported by every artifact
server-local/ <- stdio MCP server (Claude Desktop, Claude Code)
site/ <- React Router v7 site + hosted /mcp endpoint, on Cloudflare Workers
Everything reads the one resume.json and the one shared/search.ts, so
the data and the tool logic can never drift between artifacts.
Tools: get_summary · get_section (work | education | skills | projects) · search_by_skill
Resource: resume://full (application/json)
1. Local MCP server (stdio)
Exposes the resume as callable tools instead of prose.
Build & run
npm install
npm run build # tsc -> dist/server-local/src/index.js
npm start # runs the stdio server
Connect to Claude Desktop
Add to claude_desktop_config.json, then fully quit and reopen Claude Desktop:
{
"mcpServers": {
"resume": {
"command": "node",
"args": ["/absolute/path/to/resume-mcp/dist/server-local/src/index.js"]
}
}
}
Then ask your own Claude, e.g. "use the resume server to search for Kafka".
2. Hosted MCP endpoint (HTTP)
Live at https://surya-resume-site.suryakapila.workers.dev/mcp (Streamable HTTP).
It exposes the same tools and resource as the local server, reads the same
resume.json + shared/search.ts, and needs no clone and no key. It runs as a
Durable Object (site/workers/mcp.ts) mounted into the site Worker.
Connect it from any MCP client:
- Claude (Desktop or web): Settings, then Connectors, then Add custom connector, and paste the URL.
- Claude Code:
claude mcp add --transport http resume https://surya-resume-site.suryakapila.workers.dev/mcp - Anything else: add an MCP server with the Streamable HTTP transport and the URL. Opening the URL in a browser shows a short explainer page, not the raw protocol.
3. The website
An editorial one-pager (the "Classical" design system) that renders from
resume.json and documents the MCP servers.
cd site
npm install
npm run dev # http://localhost:5173 (hot reload)
npm run build # production build
npm run deploy # build + wrangler deploy (needs `wrangler login` first)
The site's /resume.json route serves the repo-root resume.json verbatim,
no copy, so the download, the page and the MCP servers always agree.
Surya Prakash Rao Kapila, Hyderabad, India.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.