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.
- Give me a concise hiring-manager summary of this candidate’s backend experience and what she’s optimized for.
- Does she have strong hands-on experience with Go, Kubernetes, and PostgreSQL? Pull specific bullets or projects that back that up.
- What did she ship around BYOIP, IP control planes, or edge-scale APIs? Explain the scope in plain language.
- How does she describe owning services end to end—on-call, incidents, postmortems, and safe rollouts?
- 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
{ 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.