Skip to main content
Glama
resume-mcp

resume-mcp

by suryakapila

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:

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 &middot; get_section (work | education | skills | projects) &middot; search_by_skill Resource: resume://full (application/json)


Related MCP server: resume-mcp

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.

Available Tools

3 tools
get_sectionGet sectionA

Return one section of the resume: work, education, skills, or projects.

Inputs: section (required).

get_summaryGet summaryA

Return the candidate's name, label, and professional summary.

Inputs: no named parameters.

search_by_skillSearch by skillB

Find the work experiences and projects where a given skill or technology was used.

Inputs: skill (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool serves a distinct purpose: get_summary returns high-level overview, get_section retrieves a specific section, and search_by_skill finds contextual uses of a skill. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in lowercase snake_case: get_summary, get_section, search_by_skill. Even with different verbs, the pattern is uniform and predictable.

    Tool Count5/5

    With 3 tools, the set is well-scoped for a resume MCP server, covering summary, section retrieval, and skill-based search. It is neither too thin nor bloated.

    Completeness5/5

    The tool surface fully covers the read-only resume domain: overview, individual sections, and cross-referencing skills. No obvious gaps for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for managing career experience data using the JSON Resume schema with custom extensions. It enables AI agents to store, update, and retrieve detailed work history, projects, and achievements to facilitate tailored resume generation.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that provides a structured API for AI agents to query a person's resume, including profile, projects, writing, and gated access to experience and skills.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes a personalized AI agent that reads your resume and provides intelligent responses about your professional background through a standardized MCP server interface with RAG capabilities.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A resume MCP server that enables AI agents to search work history by keyword or meaning, retrieve detailed company info, and send scheduling emails, turning a static resume into interactive tools.
      3
      MIT