Skip to main content
PrismCV
JobsExtensionPricing
LoginCheck Your Resume
Check Your Resume

Model Context Protocol

Your entire job search, one conversation away.

PrismCV's MCP server connects to Claude Desktop, Cursor, or any MCP-compatible client. Search jobs, tailor resumes, run ATS checks, and manage applications through natural conversation.

22

Tools

5

Modules

4

Workflows

YOU

Find remote senior product manager jobs paying over $150K

CLAUDE

Found 12 matches. Top result: Senior PM at Stripe (92% ATS match). Want me to tailor your resume for this role?

YOU

Yes, tailor it and run an ATS check

CLAUDE

Done. Tailored resume scores 88/100. Strong match across all categories. Ready to create the application?

Get started in 2 minutes.

Three steps. No SDK to install. No API to learn.

01

Get Your Token

Sign up for PrismCV Pro (or start a 14-day free trial). Go to Settings and copy your API token.

02

Add the Config

Add PrismCV to your MCP client configuration. Paste your token and save the file.

03

Start Talking

Open your AI assistant and ask it to search for jobs. PrismCV handles everything behind the scenes.

claude_desktop_config.json

{
  "mcpServers": {
    "prismcv": {
      "command": "npx",
      "args": ["-y", "@prismcv/mcp-server"],
      "env": {
        "PRISMCV_API_TOKEN": "pcv_your_token_here"
      }
    }
  }
}

MCP access is included with Pro. Tokens are available in Settings after signup.

npm package publishing soon. Contact support@prismcv.com for early access.

Authentication & Scopes

API tokens give your AI agent secure access to your PrismCV data. Create a token in Settings, then add it to your MCP config.

Getting your token

1

Sign up for PrismCV Pro (or start the 14-day free trial)

2

Go to Settings → Integrations → API Tokens

3

Click "Create Token" and select the MCP preset

4

Copy the token — it’s shown once and can’t be retrieved later

Environment variable

export PRISMCV_API_TOKEN=pcv_your_token_here

SHA-256 hashed

Tokens are hashed at rest — we never store the raw token

Revocable

Revoke any token instantly from Settings

90-day expiry

Tokens expire automatically for security

Token scopes

The MCP preset includes all scopes below. You can also create tokens with custom scopes for fine-grained access.

jobs:read

Search and view jobs

search_jobs, get_job, list_saved_searches

jobs:write

Import, save, and manage jobs

import_job_url, save_job, save_search, delete_saved_search

resumes:read

List and view resumes

list_resumes, get_resume

resumes:write

Create, edit, and tailor

create_resume, edit_resume, tailor_resume

applications:read

View applications

list_applications

applications:write

Create and update

create_application, update_application

profile-bank:read

View profile bank

get_profile_bank

profile-bank:write

Manage profile entries

add_to_profile_bank, edit_profile_bank_entry, remove_profile_bank_entry, seed_profile_bank

ai:use

AI-powered features

tailor_resume, ats_check

dashboard:read

Dashboard stats

pipeline_summary

Built-in workflows.

Pre-built prompt workflows that compose multiple tools into end-to-end actions.

Job Search

Find and rank opportunities matching your profile, skills, and preferences.

"Find remote AI product manager jobs paying over $150K"

search_jobs, get_job, save_job

Apply

Tailor your resume, check ATS compatibility, and create a tracked application.

"Tailor my resume for this Stripe role and apply"

tailor_resume, ats_check, create_application

Pipeline Review

Weekly check-in with action items, follow-ups, and stale application cleanup.

"Review my pipeline and suggest next steps"

pipeline_summary, list_applications, update_application

Evaluate Fit

Deep analysis of a job against your full profile before deciding to apply.

"Should I apply to this Datadog PM role?"

get_job, get_profile_bank, ats_check

Code Examples

Call PrismCV tools from any MCP client or directly via REST API.

Find remote product manager roles paying $150K+

MCP Client
curl

TypeScript

// Via MCP tool call
await client.callTool('search_jobs', {
  query: 'product manager',
  location_type: 'remote',
  salary_min: 150000,
  sort_by: 'match_score',
  limit: 10,
});

34 tools, organized.

Everything your AI agent needs to manage a complete job search workflow.

list_resumes

List all resume versions with IDs, names, base flag, and ATS scores

No parameters required

get_resume

Fetch full resume content including all sections and layout settings

Parameters

resume_id
required

string (UUID)

ID of the resume

create_resume

Create a new resume from scratch — blank or fully populated with all sections

Parameters

name
required

string

Resume name

is_base

boolean

Set as the base resume

contact

object

Contact info (name, email, phone, location, linkedin, portfolio, github)

summary

string

Professional summary text

experience

array

Work experience entries with title, company, dateRange, highlights

projects

array

Project entries with name, description, url, technologies

skills

object

Skills by category: technical, product, leadership, soft

education

array

Education entries with degree, school, year, details

certifications

array

Certifications list

edit_resume

Partial updates to any resume section. Only provided sections are changed — omitted sections are preserved.

Parameters

resume_id
required

string (UUID)

ID of the resume to edit

name

string

New resume name

contact

object

Contact info block (replaces entire block)

summary

string

Professional summary text

experience

array

Experience entries (replaces entire array)

projects

array

Project entries (replaces entire array)

skills

object

Skills object (replaces entire block)

education

array

Education entries (replaces entire array)

section_labels

object

Override section header labels (e.g. { projects: "Shipped Products", experience: "Work History" })

custom_sections

array

Custom sections (e.g. Leadership, Volunteer). Each entry has id, label, content_type (text/bullets/entries), and content.

tailor_resume

AI-powered resume rewrite optimized for a specific job. Uses profile bank for richer content. Consumes 1 AI credit.

Parameters

base_resume_id
required

string (UUID)

ID of the base resume to tailor from

job_id

string (UUID)

Target job ID (from search_jobs or import_job_url)

job_description

string

Raw job description text (alternative to job_id)

job_title

string

Job title (used with job_description)

company_name

string

Company name (used with job_description)

tone

enum

default: balanced

Resume tone

technical
leadership
balanced
use_profile_bank

boolean

default: true

Pull from profile bank for richer tailoring

ats_check

Score resume against a job description (0-100) with keyword analysis, category breakdowns, and a decision recommendation.

Parameters

resume_id
required

string (UUID)

ID of the resume to check

job_description
required

string

Job description to score against (min 20 chars)

ats_suggestions

AI-powered improvement suggestions with before/after examples. Use after ats_check to get specific fixes for low-scoring areas.

Parameters

resume_id
required

string (UUID)

ID of the resume to analyze

job_description

string

Job description to target suggestions toward

max_suggestions

number

default: 10

Number of suggestions (1-20)

linkedin_import

Import professional data from a LinkedIn profile URL. Extracts experience, education, skills, and populates the profile bank.

Parameters

linkedin_url
required

string (URL)

LinkedIn profile URL (e.g. https://linkedin.com/in/username)

search_jobs

Search global job catalog with 15+ filters. Returns summary cards ranked by relevance.

Parameters

query

string

Full-text search across title, description, skills

location_type

string

Comma-separated: remote, hybrid, onsite

employment_type

string

Comma-separated: full_time, contract, part_time, internship

experience_level

string

Comma-separated: entry, mid, senior, lead, executive

salary_min

number

Minimum annual salary (USD)

salary_max

number

Maximum annual salary (USD)

posted_within_days

number

Only jobs posted within N days

company

string

Company name filter (partial match)

skills

string

Comma-separated skills (OR logic)

country

string

Country code (e.g. US, GB)

sort_by

enum

Sort order

relevance
posted_at
salary
match_score
limit

number

default: 20

Results per page (max 100)

get_job

Full job details including description, requirements, extracted skills, and application URL

Parameters

job_id
required

string (UUID)

Job ID from search results

import_job_url

Import and parse a job posting from any URL (Greenhouse, Lever, Indeed, LinkedIn, etc.)

Parameters

url
required

string (URL)

URL of the job posting to import

save_job

Save a catalog job to your tracked list. Required before tailoring or applying.

Parameters

catalog_job_id
required

string (UUID)

Job ID from search_jobs results

save_search

Save a search query with filters and optional email alerts (daily or weekly)

Parameters

name
required

string

Display name for the saved search

query

string

Search query to save

filters

object

Filter criteria (locationTypes, salaryMin, etc.)

is_alert_enabled

boolean

default: false

Enable email alerts

alert_frequency

enum

default: daily

Alert frequency

daily
weekly
list_saved_searches

List all saved searches with their alert settings and filter criteria

No parameters required

delete_saved_search

Remove a saved search and its alerts

Parameters

search_id
required

string (UUID)

ID of the saved search to delete

update_job

Update details on a tracked job listing (salary, location, description, etc.)

Parameters

job_id
required

string (UUID)

ID of the job listing to update

title

string

Job title

company_name

string

Company name

salary_min

number

Minimum annual salary (USD)

salary_max

number

Maximum annual salary (USD)

location

string

Job location

location_type

enum

Location type

remote
hybrid
onsite
employment_type

enum

Employment type

full_time
contract
part_time
source_url

string (URL)

Job posting URL

list_job_notes

List all notes on a tracked job listing

Parameters

job_id
required

string (UUID)

ID of the job listing

create_job_note

Add a note to a tracked job listing. Use for research, interview feedback, recruiter interactions.

Parameters

job_id
required

string (UUID)

ID of the job listing

content
required

string

Note text

list_applications

List tracked applications with optional status filter

Parameters

status

enum

Filter by status

draft
ready
applied
phone_screen
interview
offer
rejected
withdrawn
limit

number

default: 50

Number of results (max 100)

create_application

Start tracking a new application. Supports catalog jobs (via job_id) or external jobs (via title + company). Auto-detects duplicates.

Parameters

job_id

string (UUID)

Catalog job ID (from search_jobs). Omit for external jobs.

title

string

Job title (for external jobs not in catalog)

company_name

string

Company name (for external jobs not in catalog)

location

string

Job location (for external jobs)

resume_version_id

string (UUID)

Resume to attach

status

enum

default: draft

Initial status

draft
ready
applied
application_method

enum

How you applied

direct
linkedin
referral
recruiter
notes

string

Notes about this application

get_application

Full application details including job listing, status history, and attached resume/cover letter

Parameters

application_id
required

string (UUID)

ID of the application

update_application

Update status, add notes, or record progress. Enforces valid state transitions.

Parameters

application_id
required

string (UUID)

Application ID to update

status

enum

New status (must be valid transition)

draft
ready
applied
phone_screen
interview
offer
rejected
withdrawn
notes

string

Updated notes

delete_application

Permanently delete an application. Use update_application with status "withdrawn" to keep a record instead.

Parameters

application_id
required

string (UUID)

ID of the application to delete

interview_prep

AI-powered interview preparation: tailored questions, talking points, company research, and follow-up email template. Consumes 1 AI credit.

Parameters

application_id
required

string (UUID)

ID of the application to prepare for

list_cover_letters

List all cover letters for the authenticated user

No parameters required

get_cover_letter

Get the full content of a specific cover letter

Parameters

cover_letter_id
required

string (UUID)

ID of the cover letter

generate_cover_letter

AI-generated cover letter targeted at a specific job using your resume. Provide job_id or job details (title + company + description). Consumes 1 AI credit.

Parameters

resume_id
required

string (UUID)

Resume to base the letter on

job_id

string (UUID)

Tracked job ID (alternative to providing job details)

job_title

string

Job title (used if no job_id)

company_name

string

Company name (used if no job_id)

job_description

string

Job description (used if no job_id)

tone

enum

default: professional

Writing tone

professional
conversational
technical
edit_cover_letter

Edit the content of an existing cover letter

Parameters

cover_letter_id
required

string (UUID)

ID of the cover letter to edit

content
required

string

Updated cover letter text

get_profile_bank

Full professional history: experience, projects, skills, education, certifications, achievements

Parameters

technologies

string

Filter by technologies (comma-separated)

category

string

Filter by category (professional, personal, open_source)

add_to_profile_bank

Add experience, project, skill, education, certification, or achievement

Parameters

section
required

enum

Section to add to

experience
projects
skills
education
certifications
achievements
title / name
required

string

Entry title (experience/achievement) or name (project/skill/cert)

...fields

varies

Section-specific fields: company, highlights, technologies, degree, proficiency, etc.

edit_profile_bank_entry

Update an existing entry. Only provided fields are changed.

Parameters

section
required

enum

Section the entry belongs to

experience
projects
skills
education
certifications
achievements
entry_id
required

string (UUID)

ID of the entry to edit

...fields

varies

Fields to update (same as add_to_profile_bank)

remove_profile_bank_entry

Delete an entry. Does not affect existing resumes.

Parameters

section
required

enum

Section the entry belongs to

experience
projects
skills
education
certifications
achievements
entry_id
required

string (UUID)

ID of the entry to remove

seed_profile_bank

Bulk populate from existing resumes. Idempotent — safe to run multiple times.

Parameters

source

enum

default: all_resumes

Which resumes to import from

base_resume
all_resumes
resume_id

string (UUID)

Specific resume to seed from (overrides source)

pipeline_summary

High-level job search overview: total jobs, applications by status, response rate, high-match jobs, upcoming actions

No parameters required

Your resume might be getting filtered.

Find out in 10 seconds. See what the ATS sees, fix the gaps, and apply with confidence. Free, no signup required.

Check Your Resume — FreeCreate Account
Read the blogBrowse open jobsCompare with alternatives