All work
202026Personal · Open-source

Portfolio Model Context Protocol Server

Turning a CV into an API: a Model Context Protocol server so Claude, Cursor, and ChatGPT can query real portfolio data.

Before

AI assistants had no clean way to query my CV, projects, and case studies as structured data — they could only scrape a rendered page and guess.

After

A stdio MCP server exposes typed tools (get_projects, get_case_study, search_writing) so any compatible client can ground its answers in real portfolio data. It's documented at /mcp with copy-paste config and also underpins the on-site Ask AI chatbot.

Challenge

AI assistants (Claude, ChatGPT, Cursor) had no clean way to query my CV, projects, and case studies as structured data.

Approach

stdio MCP server exposing typed tools (get_projects, get_case_study, search_writing) so any compatible client can ground answers in real portfolio data.

How it was built

  1. 1

    Tool surface design

    Phase 1

    Decided what a client actually needs to answer questions about me and shaped that into a small set of typed tools rather than one fuzzy 'search' endpoint.

  2. 2

    Shared data source

    Phase 2

    Backed the tools with the same structured portfolio data the site uses, so the MCP answers and the website can't drift apart.

  3. 3

    stdio server + docs

    Phase 3

    Implemented the server over stdio and documented it at /mcp with copy-paste config, so a recruiter can wire it into Claude or Cursor in a couple of minutes.

Key architecture decisions

Typed tools over a single search endpoint

Why · Specific tools (get_projects, get_case_study) give the client a clear contract and better answers than one catch-all search that returns a blob.

One shared data source with the site

Why · If the MCP server and the website read different data, they'll contradict each other. A single source keeps every surface consistent.

stdio + copy-paste config

Why · The whole point is frictionless adoption. stdio works with the common MCP clients, and copy-paste config removes the setup barrier.

Impact

  • Recruiters can run a Claude/Cursor session against my real corpus
  • Underpins the on-site Ask AI chatbot
  • Documented at /mcp with copy-paste config
5
tools
Claude · Cursor
clients
100%
ground

What I'd tell someone building this

  • 01 · Exposing your own data over MCP is a concrete, memorable way to demonstrate the protocol — not just talk about it.
  • 02 · Typed tools beat a generic search endpoint for both answer quality and client ergonomics.
  • 03 · Sharing one data source across the site and the MCP server prevents contradictory answers.
  • 04 · Frictionless setup (copy-paste config) is what turns a demo into something people actually try.

Tech stack

MCPTypeScriptNode stdioZod

Ask anything about Portfolio Model Context Protocol Server

AI scoped to this project · GPT-OSS 120B