portfolio_mcp

Your AI agent can read my resume for you.

This site exposes a remote Model Context Protocol (MCP) server. Recruiters and hiring managers can add one URL to Cursor, Windsurf, or Claude Desktop and pull structured answers—experience, skills, projects, resume text, or a search across everything—without opening this site or a PDF.

Try asking

After you connect this MCP, paste any of these into your assistant’s chat.

  1. Give me a concise hiring-manager summary of this candidate’s backend experience and what she’s optimized for.
  2. Does she have strong hands-on experience with Go, Kubernetes, and PostgreSQL? Pull specific bullets or projects that back that up.
  3. What did she ship around BYOIP, IP control planes, or edge-scale APIs? Explain the scope in plain language.
  4. How does she describe owning services end to end—on-call, incidents, postmortems, and safe rollouts?
  5. What contact options and resume links are available if we want to move forward?

What it is

MCP is a standard way for AI assistants to call tools (small APIs) hosted on a server. My portfolio MCP runs next to this static site on Vercel. It replies over Streamable HTTP: your client connects to the URL below and can list tools ( get_about, get_experience, search_content, etc.).

  • Public: no login; content matches what is already public on the site.
  • Read-only: tools only return profile data—they never mutate anything.
  • Composable: use get_profile() for the full blob, or smaller tools for excerpts.

Live endpoint

https://sphoortimetri.com/api/mcp

Locally, after npx vercel dev, use http://localhost:3000/api/mcp.

Tools exposed

get_profile
Everything in one JSON response.
get_about
Summary copy + spec sheet fields.
get_experience
Timeline (Cloudflare, Applied Systems, Delta).
get_skills
Stack categories and tags.
get_projects
Selected work entries.
get_writing
Public writing / blog links.
get_contact
Email, LinkedIn, location, resume URL.
get_resume_pdf_url
Direct link to the PDF.
search_content
{ query, limit? } — substring search across profile + plain-text résumé (uploads/resume.txt), with snippets.

Cursor

Cursor reads MCP servers from ~/.cursor/mcp.json. Create or edit that file so it includes this server under a name you prefer (below it is sphoorti-portfolio).

{
  "mcpServers": {
    "sphoorti-portfolio": {
      "url": "https://sphoortimetri.com/api/mcp"
    }
  }
}

Reload Cursor → Settings → MCP. You should see sphoorti-portfolio connected with nine tools. In chat you can ask, for example: “Use the portfolio MCP and summarize backend experience,” or “Call search_content for BYOIP.”

Documentation: Cursor · Model Context Protocol.

Windsurf (Cascade)

Cascade loads MCP definitions from Codeium/Windsurf’s config path. Edit ~/.codeium/windsurf/mcp_config.json (create the file if missing) and merge this block under mcpServers:

{
  "mcpServers": {
    "sphoorti-portfolio": {
      "url": "https://sphoortimetri.com/api/mcp"
    }
  }
}

Restart Windsurf or reload Cascade. The MCP tools should appear alongside other servers.

Documentation: Windsurf · MCP.

Claude Desktop

Config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Prefer this pattern: Claude Desktop reliably reaches remote Streamable HTTP by bridging with mcp-remote (npx downloads it on first use):

{
  "mcpServers": {
    "sphoorti-portfolio": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://sphoortimetri.com/api/mcp"]
    }
  }
}

If your Claude Desktop build already speaks remote MCP URLs natively, you can register the endpoint directly instead of the bridge:

{
  "mcpServers": {
    "sphoorti-portfolio": {
      "url": "https://sphoortimetri.com/api/mcp"
    }
  }
}

Quit and reopen Claude Desktop. The MCP tools indicator (hammer) should list the portfolio tools.

Start here: MCP · User quickstart.

Verify without an editor

Run the official inspector:

npx --yes @modelcontextprotocol/inspector https://sphoortimetri.com/api/mcp

Or send a bare tools list:

curl -sN -X POST https://sphoortimetri.com/api/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Source & raw docs

Implementation lives in the same repo as this site (api/mcp.js, api/_content.js). The markdown companion with the exact same snippets is committed as data/mcp-clients.md.

← Back to homepage