Shortlist MCP Server

Shortlist MCP Server

Enables users to search for jobs, prefill applications using AI, and automate submissions across major platforms like Lever and Ashby directly from Claude or Cursor. It provides a full suite of tools for managing job queues, profile data, and resumes within a chat interface.

Category
Visit Server

README

MIT License Discord

Shortlist MCP Server

Apply to hundreds of jobs from Claude in minutes.

Shortlist connects to Claude Code, Claude Desktop, or Cursor and lets you search for jobs, fill out applications with AI, and submit them automatically — without leaving your terminal.

<!-- TODO: Add demo GIF showing full workflow: search → queue → prefill → apply --> <!-- Record with: search "senior frontend engineer remote" → add 3 URLs → prefill → approve → start applying → show progress -->

How it works

1. Connect

Add the MCP server and log in — takes 30 seconds.

claude mcp add shortlist --transport http https://shortlist.jobs/mcp

Restart Claude Code, then type /mcp and select shortlist. A browser window opens — sign in with your Shortlist account and you're connected.

<details> <summary>Claude Desktop setup (macOS)</summary>

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "shortlist": {
      "transport": "http",
      "url": "https://shortlist.jobs/mcp"
    }
  }
}

Restart Claude Desktop. You'll be prompted to authenticate on first use.

</details>

<details> <summary>Claude Desktop setup (Windows)</summary>

Add this to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "shortlist": {
      "transport": "http",
      "url": "https://shortlist.jobs/mcp"
    }
  }
}

Restart Claude Desktop. You'll be prompted to authenticate on first use.

</details>

2. Search and queue jobs

Find jobs by role, location, or company. Or paste URLs directly from any supported job board.

You: Find me remote senior frontend engineer jobs
You: Add these to my queue:
     https://jobs.ashbyhq.com/stripe/senior-frontend
     https://jobs.lever.co/figma/senior-fe-engineer
     https://boards.greenhouse.io/vercel/jobs/frontend-eng

3. Apply

Shortlist scrapes each application form, fills in answers from your profile, and submits. You review before anything goes out.

You: Prefill and approve all jobs, then start applying

The bot handles the rest — form fields, dropdowns, file uploads, the works. All AI-generated text is humanized and reads identical to human writing — no "passionate team player" filler that gets your application filtered out.

Example session

Here's what a real workflow looks like in Claude Code:

You: Search for senior software engineer jobs in San Francisco, posted this week

Claude: Found 47 jobs. Showing 20:

  1. Senior Software Engineer at Stripe
     Location: San Francisco, CA
     Posted: 2 days ago
     URL: https://jobs.lever.co/stripe/abc123

  2. Senior Backend Engineer at Figma
     Location: San Francisco, CA (Hybrid)
     Posted: 1 day ago
     URL: https://boards.greenhouse.io/figma/jobs/def456

  3. Staff Software Engineer at Vercel
     ...

You: Add the Stripe and Figma jobs to my queue

Claude: Added 2 job(s) to queue:
  + Senior Software Engineer at Stripe (lever)
  + Senior Backend Engineer at Figma (greenhouse)

You: Prefill both applications

Claude: Application Form Scraped Successfully

  Job: Senior Software Engineer at Stripe
  Form Fields (12):
  - First Name (text, required)
  - Last Name (text, required)
  - Email (email, required)
  - Resume (file, required)
  - LinkedIn URL (url, optional)
  - Why are you interested in Stripe? (textarea, required)
  ...

  I've filled all 12 fields using your profile. Here's what I wrote for
  "Why are you interested in Stripe?":

  "I've spent the last four years building payment infrastructure at scale.
   At my current role I reduced checkout latency by 40% across 12M monthly
   transactions. Stripe's API design is something I've admired as a user —
   I'd like to work on the other side of it."

  Ready to submit?

You: Looks good. Approve both and start applying.

Claude: Approved 2 job(s). Bot started!
  Use get_application_progress to check status.

You: How's it going?

Claude: Application Progress
  Done: 2 (2 success, 0 failed) | Remaining: 0
  Status: Batch complete
  Last: Senior Backend Engineer at Figma — success

Two applications, start to finish, without opening a browser.

Supported platforms

Works with 6 major applicant tracking systems, covering thousands of companies from startups to Fortune 500:

Platform Domain Notable companies
Ashby ashbyhq.com Notion, Figma, Ramp
Lever lever.co Netflix, Stripe, Shopify
SmartRecruiters smartrecruiters.com Visa, McDonald's, Skechers
Workable workable.com Miro, Samsara, Deel
Greenhouse coming soon Airbnb, DoorDash, HubSpot
Workday coming soon Amazon, Salesforce, Adobe

+8 more coming soon

More platforms coming. Request one on Discord or open an issue.

Works with

Client Status
Claude Code Fully supported
Claude Desktop Fully supported
Cursor Supported (MCP compatible)
Any MCP client Should work — let us know

Privacy and security

  • Source code is public. This repo contains the full MCP tool definitions and HTTP client so you can see what each tool does before you use it.
  • Your credentials stay local. OAuth tokens are stored in your Claude config on your machine. We never see them.
  • No chat data is stored. Your conversations with Claude are between you and Anthropic. Shortlist only receives the specific API calls you trigger (search queries, profile updates, job submissions).
  • Applications run on Shortlist's servers. The bot needs a browser to fill out forms and submit them — that runs on our infrastructure, not your machine. Your profile data is used to fill applications and is stored in your Shortlist account.
  • Delete anytime. You can delete your account and all associated data from the Shortlist dashboard.

Pricing

Free for as long as we can support it. Join the Discord for updates.

<details> <summary>FAQ</summary>

Do I need a paid Claude plan?

No. The MCP server works with any Claude plan, including free. However, free Claude accounts have message limits that may interrupt longer sessions.

Which job boards are supported?

Shortlist works with jobs posted on Ashby, Lever, SmartRecruiters, Workable, Greenhouse, and Workday. These cover thousands of companies. Indeed, LinkedIn, and other boards are not yet supported — request them on Discord.

Can it apply without my approval?

No. Every job goes through your queue. You can review prefilled answers, edit them, and explicitly approve before anything is submitted. The bot only submits jobs you've approved.

Is my resume shared with anyone besides the companies I apply to?

No. Your resume is stored in your Shortlist account and only sent to companies as part of job applications you've approved.

What happens if the bot fails on a job?

Failed applications are logged with the reason (e.g., "required field not found", "CAPTCHA detected"). Nothing is submitted partially — it either completes the full application or reports the error. Failed jobs are automatically reviewed by another agent within 24–48 hours, which will diagnose the issue and attempt to resubmit. You can also view failures with get_applied_jobs and retry manually.

Can I use this with my own MCP client?

Yes. Any client that supports the MCP HTTP transport should work. The server is a standard MCP endpoint at https://shortlist.jobs/mcp.

</details>

<details> <summary>Full tool reference (33 tools)</summary>

Search

Tool Description
search_jobs Search for jobs by title, location, and filters

Queue Management

Tool Description
add_to_queue Add jobs by URL (auto-detects title, company, ATS)
get_queue View your application queue
remove_from_queue Remove a job from the queue
clear_queue Clear all jobs from the queue
approve_job Approve a job for submission (with optional form answers)
approve_all Approve all pending jobs

Application Forms

Tool Description
get_job_details Get full job details, form fields, and answers
prefill_job Scrape application form and prepare answers

Bot Control

Tool Description
start_applying Start the bot to submit approved applications
stop_applying Stop the bot

Profile

Tool Description
get_profile View your full profile
update_personal_details Update name, email, phone, address
add_skills / remove_skills Manage skills
add_languages / remove_languages Manage languages
add_work_experience Add work experience or project
update_work_experience Update existing work experience
delete_work_experience Delete work experience
add_education Add degree, certification, or clearance
update_education Update existing education entry
delete_education Delete education entry
update_application_questions Update salary, sponsorship, work auth, etc.

Resumes

Tool Description
list_resumes List uploaded resumes (max 5)
upload_resume Upload a resume (PDF, DOC, DOCX)
set_default_resume Set a resume as default
delete_resume Delete a resume

Progress & History

Tool Description
get_applied_jobs View application history with filters
get_applied_jobs_count Get total application count
get_application_summary Detailed summary with match analysis
get_application_progress Check current batch progress

</details>

<details> <summary>Architecture</summary>

┌──────────────┐     MCP Protocol      ┌──────────────────┐
│  Claude Code │ ◄──────────────────── │  Shortlist MCP   │
│  (or any     │                       │  Server          │
│   MCP client)│                       │  (this repo)     │
└──────────────┘                       └────────┬─────────┘
                                                │ HTTPS
                                       ┌────────▼─────────┐
                                       │  Shortlist API   │
                                       │  (hosted)        │
                                       │                  │
                                       │  - Job search    │
                                       │  - Form scraping │
                                       │  - Bot automation│
                                       │  - Profile mgmt  │
                                       └──────────────────┘

This repo contains the MCP interface layer — tool definitions and the HTTP client that talks to Shortlist's API. The form scraping, browser automation, and AI form filling all run on Shortlist's infrastructure.

</details>

Support

  • Discord — Fastest way to get help, request features, and report bugs
  • GitHub Issues — Bug reports and feature requests
  • X / Twitter — Updates and announcements

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured