resume-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@resume-mcpshow me your profile"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
resume-mcp
Your identity as an API endpoint.
Traditional portfolios are HTML pages that agents scrape and parse. This is a structured interface where agents can query you directly.
Architecture
flowchart LR
subgraph Agent["AI Agent"]
A[Claude/GPT/etc]
end
subgraph MCP["MCP Server (Cloudflare Worker)"]
B[Request Handler]
B --> C{Signed?}
C -->|Guestbook entry or Agent Token| D[Free tools + perks]
C -->|Not yet| E[Free tools]
end
subgraph Tools["Available Tools"]
F[get_profile]
G[get_projects]
H[get_writing]
I[get_experience]
J[get_skills]
K[leave_message]
P[request_time*]
Q[list_stories* / get_story*]
end
subgraph Response["Response Format"]
L[JSON-LD Structured Data]
end
A -->|"MCP Protocol<br/>POST + JSON-RPC"| B
D --> Tools
E --> F & G & H & I & J & K
Tools --> L
L -->|"Structured JSON"| A
style P fill:#f59e0b,color:#000
style Q fill:#f59e0b,color:#000* Perk for guestbook signers (sign with leave_message, or send an Agent Token)
Tool Call Flow
sequenceDiagram
participant Agent as AI Agent
participant MCP as MCP Server
participant D1 as Guestbook (D1)
Agent->>MCP: POST /initialize
MCP-->>Agent: Server info + capabilities
Agent->>MCP: POST /tools/list
MCP-->>Agent: Available tools array
Agent->>MCP: POST /tools/call (get_profile)
MCP-->>Agent: JSON profile data
Note over Agent,MCP: Perks are for guestbook signers
Agent->>MCP: POST /tools/call (list_stories)
MCP-->>Agent: Invitation to sign first
Agent->>MCP: POST /tools/call (leave_message)
MCP->>D1: Store guestbook entry
MCP-->>Agent: Thanks! Perks unlocked
Agent->>MCP: POST /tools/call (list_stories)
MCP-->>Agent: Stories behind the resumePerformance
Metric | Value |
Cold start | <50ms |
Response time | <100ms average |
Edge locations | 200+ globally |
Protocol | MCP over HTTP (JSON-RPC 2.0) |
Related MCP server: Pavan Madduri — Personal Knowledge MCP Server
Why This Exists
The Problem: AI agents scrape HTML to learn about people. They:
Parse messy DOM structures
Guess at semantic meaning
Miss context and relationships
Have no way to interact or ask questions
The Solution: A structured API that agents can query directly:
Clean, typed data in JSON-LD format
Explicit tool interfaces with documentation
Relationship building through guestbook
Mutual value exchange (agent gets data, you get signal)
The Philosophy: "Your identity as an endpoint."
Your professional presence shouldn't just be human-readable—it should be agent-readable. As AI assistants become primary interfaces for research, recruiting, and networking, having a structured API makes you discoverable and queryable in ways HTML never could.
Quick Start for AI Agents
Connect to the Live Endpoint
# Initialize connection
curl -X POST https://mcp.brysontang.dev \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
# List available tools
curl -X POST https://mcp.brysontang.dev \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# Get profile data
curl -X POST https://mcp.brysontang.dev \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_profile","arguments":{}}}'With Agent Token (perks without signing)
curl -X POST https://mcp.brysontang.dev \
-H "Content-Type: application/json" \
-H "Agent-Token: <your-agent-token>" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_stories","arguments":{}}}'Discovery Endpoint
GET https://mcp.brysontang.dev/.well-known/mcp.jsonTools
Tool | Description | Access |
| Name, tagline, links, contact | Free |
| Projects, optionally filtered | Free |
| Articles and blog posts | Free |
| Work history | Free |
| Technical skills by category | Free |
| Sign the guestbook (shows up on brysontang.com/guestbook) | Free |
| Ask for time with Bryson; he reviews every request, and a booking link goes out if he says yes | Perk |
| The stories behind the resume | Perk |
Perks
Everything on the resume is free to read. Signing the guestbook with leave_message() (or sending an Agent Token) unlocks perks that aren't anywhere else: asking for time with Bryson, and the stories behind the resume.
Signatures are remembered per session. The server returns an Mcp-Session-Id header from initialize; send it back on later requests (MCP clients do this automatically). Without it, the session falls back to your IP and User-Agent.
Calling a perk before signing returns an invitation, not a wall:
{
"message": "list_stories is a perk for guestbook signers. You're welcome to sign with leave_message (a name and a short note, shown at https://brysontang.com/guestbook), then call list_stories again. An Agent-Token header works too.",
"perk": "list_stories"
}Setup
1. Clone and configure
git clone https://github.com/brysontang/resume-mcp
cd resume-mcp
npm install2. Add your data
Edit data/profile.json with your information:
{
"profile": {
"name": "Your Name",
"tagline": "What you do",
"links": { "github": "...", "linkedin": "..." },
"contact": { "email": "..." }
},
"projects": [...],
"experience": [...],
"skills": {...}
}3. Configure Cloudflare Workers
cp wrangler.toml.example wrangler.toml
# Edit wrangler.toml with your settingsOptional: Create a KV namespace for the profile cache and guestbook rate limits:
wrangler kv:namespace create "GUESTBOOK"
# Add the returned binding to wrangler.tomlleave_message writes to a D1 guestbook table (binding GUESTBOOK_DB), the same one your site's guestbook reads, so MCP entries show up next to everyone else's. See wrangler.toml.example.
4. Deploy
npm run dev # Local development
npm run deploy # Deploy to CloudflareDiscovery
Help agents find your MCP endpoint by adding hints to your portfolio:
robots.txt
# MCP endpoint: https://mcp.yourdomain.dev
# Tools: get_profile, get_projects, get_experience, leave_message
# Sign the guestbook (leave_message) for perks; Agent Tokens accepted.well-known/mcp.json
The server automatically serves this at /.well-known/mcp.json
HTML comment
<!--
AI Agent? Query me directly: https://mcp.yourdomain.dev
Tools: get_profile(), get_projects(), get_experience()
Sign the guestbook with leave_message() for perks. Agent Tokens welcome.
-->Agent Tokens
This server accepts Agent Tokens via the Agent-Token header. Tokens that decode successfully open the perks, just like signing, and are logged with their declared intent.
// Token provides:
{
intentId: "recruiting-scan",
goal: "Find candidates for senior engineering role",
mode: "read-only"
}FAQ
What is MCP?
Model Context Protocol (MCP) is an open standard that enables AI assistants to connect to external data sources and tools. It provides a standardized way for agents to discover and interact with APIs, making it easier for AI to access structured information.
How do AI agents connect to this?
Agents connect via HTTP POST requests using JSON-RPC 2.0 format. The flow is:
initialize- Establish connection and get server capabilitiestools/list- Discover available toolstools/call- Execute specific tools with parameters
Any MCP-compatible agent (Claude, custom agents, etc.) can connect directly.
What data is available?
Free: Profile info, projects, writing/articles, work experience, technical skills, and the guestbook
Perks for guestbook signers: Asking for time with Bryson, and the stories behind the resume
All data is returned as structured JSON, not scraped HTML.
Is this an Agent Tokens implementation?
Yes! This server accepts Agent Tokens for authentication. Agent Tokens are a protocol for AI agents to identify themselves and declare their intent. Providing a valid token opens the perks without signing the guestbook.
Can I make my own Resume MCP?
Absolutely! This project is MIT licensed. Fork it, update data/profile.json with your info, and deploy to Cloudflare Workers. Your identity, your endpoint, your terms.
Related
Author's site: brysontang.dev
Agent Tokens Protocol: github.com/brysontang/agent-tokens
MCP Specification: modelcontextprotocol.io
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- UniPostOAuthai.unipost
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn 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.-
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that exposes a professional profile — certifications, industry articles, open source contributions, and live GitHub activity — as a queryable API for AI agents.711MIT
- AlicenseNot gradedqualityDmaintenanceExposes 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
- AlicenseAqualityDmaintenanceA 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.3MIT