Skip to main content
Glama
Adarshcharjan

Resume MCP Server

Resume MCP Server

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.

TypeScript Node.js MCP SDK Express Render


๐ŸŒ 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)


Related MCP server: mundigital

๐Ÿ’ก 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.

  1. 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

  2. Add the mcpServers entry (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"

  1. Restart Claude Desktop completely (quit from system tray, then reopen).

  2. 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

  1. Open Cursor Settings โ†’ MCP (or Ctrl+Shift+P โ†’ "MCP: Add Server").

  2. 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"
      }
    }
  3. 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_KEY is set, the HTTP server validates every /mcp request. Requests with a missing or incorrect key receive 401 Unauthorized.

  • CORS: The HTTP server includes full CORS headers to allow browser-based MCP clients to connect.

  • No External AI Calls: The tailorResume tool uses purely rule-based keyword matching. No resume data is sent to any external APIs or LLMs.

  • .env excluded from Git: Secrets never reach GitHub โ€” only .env.example (with empty values) is committed.


๐Ÿ“„ License

MIT ยฉ Adarsh Ravindra Charjan

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Adarshcharjan/resume-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server