Resume Server
FreeNot checkedExposes a structured professional resume as a set of AI-queryable tools, enabling AI clients like Claude Desktop to query summary, experience, skills, projects,
About
Exposes a structured professional resume as a set of AI-queryable tools, enabling AI clients like Claude Desktop to query summary, experience, skills, projects, and tailor resumes to job descriptions.
README
AI-powered Resume MCP Server built with the Model Context Protocol (MCP), TypeScript, Express, and the official MCP SDK.
Expose resume information as structured AI tools over both stdio and HTTP transports for seamless integration with MCP-compatible AI clients.
🌐 Live Deployment
| Endpoint | URL |
|---|---|
| MCP Endpoint | https://resume-mcp-server-z04b.onrender.com/mcp |
| Health Check | https://resume-mcp-server-z04b.onrender.com/health |
| Deployment Platform | Render (Free Tier) |
💡 Why This Project?
Although a resume can easily be uploaded as a PDF, this project demonstrates how structured information can be exposed to AI applications using the Model Context Protocol.
Instead of treating the resume as an unstructured document, AI clients can retrieve specific information through dedicated tools — skills, projects, education, experience, keyword search, and resume tailoring — with structured, predictable responses.
The same architecture can be extended to enterprise systems like HR platforms, CRMs, hospital databases, ERP systems, and internal business applications.
This is exactly why MCP exists — to give AI agents structured, programmatic access to data sources instead of relying on raw document parsing.
✅ Project Highlights
| ✔ | Built using the official MCP SDK |
| ✔ | Supports both stdio and HTTP/Streamable transports |
| ✔ | Deployed on Render with a live public endpoint |
| ✔ | Integrated with Claude Desktop (stdio) |
| ✔ | Integrated with Cursor AI (HTTP) |
| ✔ | 8 fully functional AI Tools |
| ✔ | Full TypeScript implementation with Zod validation |
| ✔ | Automated test suite — 16/16 stdio + 6/6 HTTP tests passing |
🏗️ Architecture
Local (stdio Transport)
Claude Desktop
│
│ stdin / stdout (stdio)
│
Resume MCP Server (node dist/stdioMain.js)
│
│ reads
│
resume.json
Remote (HTTP Transport)
Cursor AI / Claude Desktop / Any MCP Client
│
│ POST /mcp (HTTP + Streamable)
│
Render.com
│
Resume MCP Server (node dist/httpMain.js)
│
│ reads
│
resume.json
🧪 Tested AI Clients
| Client | Transport | Status |
|---|---|---|
| Claude Desktop | stdio | ✅ Tested & Working |
| Cursor AI | HTTP | ✅ Tested & Working |
| Render Deployment | HTTP/Streamable | ✅ Tested & Working |
| MCP Inspector | stdio | ✅ Tested & Working |
| Claude Web | — | ⚠️ Currently doesn't support arbitrary custom MCP servers |
| ChatGPT | — | ⚠️ Currently doesn't support connecting to custom MCP servers |
🌍 Possible Business Use Cases
This architecture can be adapted far beyond a personal resume:
| Use Case | Description |
|---|---|
| Employee Database MCP | HR teams query employee skills, roles, and history via AI |
| Hospital Records MCP | AI retrieves patient records, appointments, or prescriptions |
| CRM Assistant | AI queries customer data, leads, and deal history |
| HR Recruitment Assistant | AI screens candidates and matches JDs to profiles |
| ERP Systems | AI fetches inventory, orders, and financial records |
| Knowledge Base | AI searches internal company documentation |
| Company Documentation | AI answers policy and process questions |
| GitHub Repository Assistant | AI queries codebase structure, contributors, and issues |
🚀 Installation
# Clone the repository
git clone https://github.com/Adarshcharjan/resume-mcp-server.git
cd resume-mcp-server
# Install dependencies
npm install
# Build TypeScript to JavaScript
npm run build
▶️ Running the Server
Option 1: stdio Transport (Local)
Designed for direct integration with AI clients running on the same machine (e.g., Claude Desktop). The client launches the server process and communicates via standard input/output.
npm run dev:stdio
Option 2: HTTP Transport (Local or Remote)
Runs as a standard web server. Use this for remote deployment or when the AI client connects over HTTP.
npm run dev:http
The server starts at http://localhost:3000 with:
- MCP endpoint:
POST http://localhost:3000/mcp - Health check:
GET http://localhost:3000/health
🔐 API Key Authentication
The HTTP server supports optional API-key authentication.
If RESUME_MCP_API_KEY is set in your environment variables, every request to /mcp must include the header:
x-api-key: your-secret-key
Otherwise the server runs in public mode (no authentication required).
Setting it up:
# Copy the example env file
cp .env.example .env
Edit .env:
PORT=3000
RESUME_MCP_API_KEY=your_custom_secret_key_here
When the API key is active, Claude Desktop config must include it:
{
"mcpServers": {
"resume": {
"type": "streamable-http",
"url": "https://your-server.onrender.com/mcp",
"headers": {
"x-api-key": "your_custom_secret_key_here"
}
}
}
}
🔌 Integrating with MCP-Compatible AI Clients
Claude Desktop
Claude Desktop supports MCP natively. You can connect using either transport mode.
stdio (Recommended for Local Use)
Open your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
Add the
mcpServersentry (create the file if it doesn't exist):
{
"mcpServers": {
"resume": {
"command": "node",
"args": ["/absolute/path/to/resume-mcp-server/dist/stdioMain.js"]
}
}
}
⚠️ Windows users: Use double backslashes in the path:
"D:\\Study\\Resume _MCP_server\\dist\\stdioMain.js"
Restart Claude Desktop completely (quit from system tray, then reopen).
Start a new chat. The hammer 🔨 tools icon near the chat input will show all 8 resume tools.
HTTP / Streamable (Remote Server)
{
"mcpServers": {
"resume": {
"type": "streamable-http",
"url": "https://resume-mcp-server-z04b.onrender.com/mcp"
}
}
}
Cursor AI
Open Cursor Settings → MCP (or
Ctrl+Shift+P→ "MCP: Add Server").Add a new server:
stdio:
{ "resume": { "command": "node", "args": ["/absolute/path/to/resume-mcp-server/dist/stdioMain.js"] } }HTTP (Recommended — uses the live Render deployment):
{ "resume": { "type": "streamable-http", "url": "https://resume-mcp-server-z04b.onrender.com/mcp" } }The resume tools will be available in Cursor's AI chat immediately.
📜 NPM Scripts
| Script | Command | Description |
|---|---|---|
npm run dev:stdio |
tsx src/stdioMain.ts |
Run locally with stdio transport (Claude Desktop) |
npm run dev:http |
tsx src/httpMain.ts |
Run locally with HTTP transport (development) |
npm run build |
tsc |
Compile TypeScript source to dist/ |
npm start |
node dist/httpMain.js |
Run compiled HTTP server (production/Render) |
🛡️ Security
- API Key Authentication: When
RESUME_MCP_API_KEYis set, the HTTP server validates every/mcprequest. Requests with a missing or incorrect key receive401 Unauthorized. - CORS: The HTTP server includes full CORS headers to allow browser-based MCP clients to connect.
- No External AI Calls: The
tailorResumetool uses purely rule-based keyword matching. No resume data is sent to any external APIs or LLMs. .envexcluded from Git: Secrets never reach GitHub — only.env.example(with empty values) is committed.
📄 License
MIT © Adarsh Ravindra Charjan
Installing Resume Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Adarshcharjan/resume-mcp-serverFAQ
Is Resume Server MCP free?
Yes, Resume Server MCP is free — one-click install via Unyly at no cost.
Does Resume Server need an API key?
No, Resume Server runs without API keys or environment variables.
Is Resume Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Resume Server in Claude Desktop, Claude Code or Cursor?
Open Resume Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Resume Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
