DEV Community

Yong Yu
Yong Yu

Posted on Originally published at yongbo-yu.vercel.app

resume-mcp: grounding agents in public resume.json over MCP

I built a small stdio MCP server that fetches public machine-readable pages, caches them, and returns tool answers with source URLs — so an agent can ground itself instead of inventing a bio.

Repo: github.com/YongBoYu1/resume-mcp

The problem

MCP clients are good at calling tools. They are weak at citing. If your only “memory” is model weights, you get confident nonsense about people, projects, and dates.

A boring fix: put evidence on the open web as JSON / prerendered pages, then expose a tiny MCP surface that must return the URLs it used.

What it does

resume-mcp is a local stdio server. On demand it fetches and caches:

  • https://yongbo-yu.vercel.app/resume.json
  • optionally https://yongbo-yu.vercel.app/llms.txt

Tools (small on purpose):

  • who_is_yongbo_yu — short identity blurb + canonical links
  • list_projects — projects from resume.json (with evidence links when available)
  • get_resume_summary — work / education / skills
  • search_evidence — keyword search over the cached public text

Every response includes a sources list. No private repos. No scraping authenticated profiles. No secrets.

Cursor mcp.json

{
  "mcpServers": {
    "resume-mcp": {
      "command": "python3",
      "args": ["-m", "resume_mcp"],
      "cwd": "/absolute/path/to/resume-mcp"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Install with pip install -e . from the repo, then point cwd (or the venv interpreter) at that checkout.

Example prompts

  • "Summarize the public resume this MCP is wired to, with sources."
  • "List projects from resume.json and show the source URLs."
  • "Search the cached evidence for FastAPI / booking / latency."

Why this shape

This is a few-hour experiment on the MCP wave: stdio + fetch/cache + citable tool output. The dataset happens to be my public reputation site, but the pattern is general — any resume.json / llms.txt style corpus could be swapped in.

If you try it, star the repo or open an issue with the tool response you expected.

— YongBo Yu (Toronto) · yongbo-yu.vercel.app · github.com/YongBoYu1

Top comments (0)