API Reference
Complete reference for the CareerProof MCP Server. Connect from Claude Desktop, Windsurf, Cursor, or any MCP-compatible client.
Connection Endpoints
/mcp
/mcp/bearer
Universal 2
Async task polling — works with any async tool across Atlas and CeeVee.
careerproof_task_status
Check the status of any async task. Returns status (pending/running/completed/failed), progress percentage, and current stage.
| Parameter | Type | Description | |
|---|---|---|---|
task_id |
string |
required | Task ID returned by any async start tool |
careerproof_task_result
Retrieve the full result of a completed async task. Supports analysis, batch_gem, jd_fit_batch, report, custom_eval_inference, custom_eval_batch, and dialogue_assessment result types.
| Parameter | Type | Description | |
|---|---|---|---|
task_id |
string |
required | Task ID of a completed async task |
result_type |
enum: analysis | batch_gem | jd_fit_batch | report | custom_eval_inference | custom_eval_batch | dialogue_assessment |
required | Type of result to fetch (determines backend endpoint) |
resource_id |
number |
optional | Resource-specific ID (analysis_id, job_id, report_id, etc.) |
context_id |
number |
optional | Context ID (required for jd_fit_batch) |
Atlas — CRUD 9
Manage hiring contexts, candidates, and job descriptions. All free.
atlas_create_context
Create a new hiring context (company profile) for organizing candidates and JDs.
| Parameter | Type | Description | |
|---|---|---|---|
company_name |
string |
required | Company name (1-255 chars) |
industry |
string |
optional | Industry (max 100 chars) |
company_size |
enum: startup | small | medium | large | enterprise |
optional | Company size |
location |
string |
optional | Location (max 255 chars) |
company_website |
string |
optional | Website URL (max 500 chars) |
hiring_context |
object |
optional | Hiring details: open_roles, team_structure, budget_ranges, hiring_goals, hiring_timeline, key_requirements, competitor_context |
is_default |
boolean |
optional | Set as default context (default: false) |
atlas_list_contexts
List all hiring contexts for the authenticated user.
| Parameter | Type | Description | |
|---|---|---|---|
include_inactive |
boolean |
optional | Include inactive contexts (default: false) |
atlas_update_context
Update a hiring context's details (name, industry, size, hiring context).
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
company_name |
string |
optional | New company name |
industry |
string |
optional | New industry |
company_size |
enum: startup | small | medium | large | enterprise |
optional | New company size |
location |
string |
optional | New location |
company_website |
string |
optional | New website |
hiring_context |
object |
optional | Updated hiring details |
is_default |
boolean |
optional | Set as default |
is_active |
boolean |
optional | Activate/deactivate |
atlas_upload_candidate
Upload a candidate CV (PDF/DOCX) to a hiring context. CV parsing starts asynchronously.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Hiring context ID |
file |
string (base64) |
required | CV file as base64 encoded string |
candidate_name |
string |
optional | Candidate name (max 255) |
candidate_email |
string |
optional | Candidate email (max 255) |
filename |
string |
optional | Original filename for content-type detection |
tags |
string[] |
optional | Tags for filtering (e.g. ['senior', 'engineering']) |
notes |
string |
optional | Notes about the candidate |
atlas_list_candidates
List all candidates in a hiring context.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
atlas_get_candidate
Get full candidate detail including parsed CV content and parse status.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
atlas_create_jd
Create a job description from text within a hiring context.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
title |
string |
required | JD title (1-255 chars) |
content |
string |
required | Full JD text (min 10 chars) |
atlas_list_jds
List all job descriptions for a hiring context.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
atlas_get_analytics
Get comprehensive talent analytics dashboard data (candidate stats, analysis coverage, fit score distributions).
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
Atlas — Analysis 4
AI-powered competency analysis and JD assessment.
atlas_start_gem_analysis
Start an async GEM (10-factor competency) analysis on a candidate. Poll with careerproof_task_status, then fetch with atlas_get_analysis.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
analysis_type |
enum: gem_full | gem_lite | career_path |
optional | Analysis depth (default: gem_full) |
atlas_get_analysis
Retrieve a completed analysis result by analysis ID. Returns scores, competency breakdown, and recommendations.
| Parameter | Type | Description | |
|---|---|---|---|
analysis_id |
number |
required | Analysis ID |
atlas_list_analyses
List all analyses for a candidate with optional type filtering.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
analysis_type |
enum: gem_full | gem_lite | career_path | jd_fit |
optional | Filter by type |
atlas_start_jd_analysis
Analyze a JD for market competitiveness, clarity, bias detection, salary benchmarking, and skills extraction. Synchronous.
| Parameter | Type | Description | |
|---|---|---|---|
jd_text |
string |
required | Full JD text (min 50 chars) |
include_live_search |
boolean |
optional | Include live web search for salary data (default: true) |
industry_hint |
string |
optional | Industry hint (max 100) |
location_hint |
string |
optional | Location hint (max 255) |
Atlas — Batch & Reports 16
Bulk processing: batch GEM, JD-FIT batch, custom eval, reports, dialogue assessment.
atlas_start_batch_gem
Start a batch GEM analysis across multiple candidates. Poll with atlas_get_batch_gem_status.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_ids |
number[] |
required | Candidate IDs (min 1) |
analysis_type |
enum: gem_full | gem_lite | career_path |
optional | Analysis type (default: gem_full) |
atlas_get_batch_gem_status
Check progress of a batch GEM job.
| Parameter | Type | Description | |
|---|---|---|---|
job_id |
number |
required | Batch job ID |
atlas_get_batch_gem_results
Get all results from a completed batch GEM job.
| Parameter | Type | Description | |
|---|---|---|---|
job_id |
number |
required | Batch job ID |
atlas_start_jd_fit_batch
Match multiple candidates against a JD. Poll with atlas_get_jd_fit_batch_status.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_ids |
number[] |
required | Candidate IDs (min 1) |
jd_title |
string |
optional | JD title (max 255) |
jd_content |
string |
optional | JD text (falls back to context active JD) |
use_kb_enhancement |
boolean |
optional | Use KB enhancement (default: true) |
atlas_get_jd_fit_batch_status
Check progress of a JD-FIT batch job.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
batch_id |
number |
required | Batch ID |
atlas_get_jd_fit_results
Get JD-FIT results for a context. Returns ranked candidates with fit scores.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
atlas_start_custom_eval_batch
Batch evaluate candidates using a custom evaluation model. Poll with atlas_get_custom_eval_batch_status.
| Parameter | Type | Description | |
|---|---|---|---|
custom_model_id |
number |
required | Custom eval model ID |
candidate_ids |
number[] |
required | Candidate IDs (min 1) |
context_id |
number |
required | Context ID |
detail_level |
enum: brief | standard | deep |
optional | Detail level (default: standard) |
template_id |
number |
optional | Evaluation template ID |
atlas_get_custom_eval_batch_status
Check progress of a custom evaluation batch.
| Parameter | Type | Description | |
|---|---|---|---|
batch_id |
number |
required | Batch ID |
atlas_get_custom_eval_batch_results
Get results from a completed custom eval batch.
| Parameter | Type | Description | |
|---|---|---|---|
batch_id |
number |
required | Batch ID |
atlas_start_report
Generate a research report (market_research, competitor_analysis, or talent_landscape). Poll with careerproof_task_status.
| Parameter | Type | Description | |
|---|---|---|---|
report_type |
string |
required | Report type: market_research | competitor_analysis | talent_landscape |
inputs |
object |
required | Report-specific inputs (varies by report_type) |
atlas_get_report
Get report status and metadata.
| Parameter | Type | Description | |
|---|---|---|---|
report_id |
number |
required | Report ID |
atlas_download_report
Download a completed report as base64-encoded PDF.
| Parameter | Type | Description | |
|---|---|---|---|
report_id |
number |
required | Report ID |
atlas_list_reports
List all generated reports with status and summary.
| Parameter | Type | Description | |
|---|---|---|---|
| No parameters | |||
atlas_start_dialogue_assessment
Assess dialogue/interview transcripts in a session. Poll with careerproof_task_status.
| Parameter | Type | Description | |
|---|---|---|---|
session_id |
number |
required | Dialogue session ID |
atlas_get_dialogue_results
Get assessment results for a dialogue session.
| Parameter | Type | Description | |
|---|---|---|---|
session_id |
number |
required | Dialogue session ID |
atlas_start_custom_eval_inference
Auto-generate evaluation dimensions for a custom eval model. Poll with careerproof_task_status.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Custom eval model ID |
Atlas — Custom Eval Models 12
Create and manage custom evaluation models: CRUD, artifacts, rubric inference, and overrides. All free.
atlas_create_custom_eval_model
Create a new custom evaluation model for a hiring context.
| Parameter | Type | Description | |
|---|---|---|---|
client_context_id |
number |
required | Client context ID |
name |
string |
required | Model name (1-255 chars) |
description |
string |
optional | Model description (max 2000) |
atlas_list_custom_eval_models
List all custom evaluation models for the authenticated user.
| Parameter | Type | Description | |
|---|---|---|---|
| No parameters | |||
atlas_get_custom_eval_model
Get full detail for a custom eval model including dimensions, weights, and rubric status.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
atlas_update_custom_eval_model
Update a custom eval model's metadata (name, description, dimensions, weights).
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
name |
string |
optional | Updated name |
description |
string |
optional | Updated description |
inferred_dimensions |
array |
optional | Updated dimensions |
inferred_weights |
object |
optional | Updated weights |
atlas_delete_custom_eval_model
Delete a custom evaluation model and all its artifacts and rubrics.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
atlas_upload_custom_eval_artifact
Upload a file artifact (CV, JD, template) as base64 to teach the model.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
file |
string (base64) |
required | File as base64 string (PDF/DOCX) |
artifact_type |
enum: cv_with_notes | template | free_text | jd |
required | Artifact type |
filename |
string |
optional | Original filename |
notes |
string |
optional | Notes about this artifact |
label |
enum: strong | weak | mixed |
optional | Quality label |
atlas_add_custom_eval_text_artifact
Add a plain text artifact to teach the model (rubric notes, criteria, descriptions).
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
artifact_type |
enum: cv_with_notes | template | free_text | jd |
required | Artifact type |
text_content |
string |
required | Text content |
notes |
string |
optional | Notes about this artifact |
label |
enum: strong | weak | mixed |
optional | Quality label |
atlas_list_custom_eval_artifacts
List all artifacts uploaded to a custom eval model.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
atlas_infer_custom_eval_rubric
AI infers evaluation rubric from artifacts. Sync call, may take 30-60 seconds.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
atlas_get_custom_eval_rubric
Get the current rubric including dimensions, scoring criteria, and any overrides.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
atlas_set_custom_eval_rubric_overrides
Set rubric overrides to customize AI-inferred rubric (adjust weights, rename dimensions).
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
overrides |
object |
required | Override configs keyed by dimension name |
atlas_clear_custom_eval_rubric_overrides
Clear all rubric overrides, reverting to AI-inferred rubric.
| Parameter | Type | Description | |
|---|---|---|---|
model_id |
number |
required | Model ID |
Atlas — Chat 2
Conversational AI for workforce intelligence and hiring strategy.
atlas_chat
Full-featured Atlas AI assistant with live tool use (salary benchmarks, talent supply/demand, competitor intel). May take 2-3 min for complex queries.
| Parameter | Type | Description | |
|---|---|---|---|
message |
string |
required | User message |
conversation_id |
number |
optional | Continue existing thread (omit to start new) |
context_id |
number |
optional | Hiring context for context-aware responses |
atlas_advisor_chat
Lightweight hiring advice — faster and cheaper than atlas_chat, no tool use.
| Parameter | Type | Description | |
|---|---|---|---|
message |
string |
required | User message |
conversation_id |
number |
optional | Continue existing thread (omit to start new) |
Atlas — Utilities 5
Real-time matching, ranking, and interview question generation.
atlas_start_fit_match
Start async fit match for a single candidate against a JD. Returns task_id and analysis_id. Poll with careerproof_task_status, fetch result with careerproof_task_result (result_type='fit_match').
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
jd_text |
string |
required | JD text to match against |
atlas_fit_match_enhanced
Enhanced FIT match with knowledge base augmentation for deeper analysis and market context.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
jd_text |
string |
required | JD text to match against |
atlas_start_fit_rank
Start async fit rank for multiple candidates against a JD. Returns task_id and analysis_id. Poll with careerproof_task_status, fetch result with careerproof_task_result (result_type='fit_rank').
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_ids |
number[] |
required | Candidate IDs (min 2) |
jd_text |
string |
required | JD text to rank against |
atlas_generate_interview
Generate interview questions tailored to a candidate's profile. Supports pressure levels.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
jd_text |
string |
optional | Optional JD text for role-targeted questions |
pressure_level |
enum: supportive | standard | aggressive |
optional | Pressure level (default: standard) |
num_questions |
number (1-15) |
optional | Number of questions (default: 5) |
atlas_interview_followup
Generate a follow-up probing question based on a candidate's answer.
| Parameter | Type | Description | |
|---|---|---|---|
context_id |
number |
required | Context ID |
candidate_id |
number |
required | Candidate ID |
original_question |
string |
required | The original interview question |
candidate_answer |
string |
required | The candidate's answer |
pressure_level |
enum: supportive | standard | aggressive |
optional | Pressure level (default: standard) |
CeeVee — CRUD 5
CV upload, version management, and positioning session retrieval. All free.
ceevee_upload_cv
Upload a CV file (PDF/DOCX). Parses the document and creates a CV version with structured sections.
| Parameter | Type | Description | |
|---|---|---|---|
file |
string (base64) |
required | CV file as base64 encoded string |
filename |
string |
optional | Original filename for content-type detection |
ceevee_list_versions
List all CV versions for the authenticated user.
| Parameter | Type | Description | |
|---|---|---|---|
| No parameters | |||
ceevee_get_version
Get detailed CV version including structured content, sections, word count, and audience profile.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
ceevee_list_positioning_sessions
List all positioning sessions (market analysis through lens selection to targeted edits).
| Parameter | Type | Description | |
|---|---|---|---|
| No parameters | |||
ceevee_get_positioning_session
Get full positioning session detail including analysis, lens, opportunities, targeted edits, and PDF URLs.
| Parameter | Type | Description | |
|---|---|---|---|
session_id |
number |
required | Session ID |
CeeVee — Analysis 4
Market positioning pipeline and CV optimization tools.
ceevee_analyze_positioning
Step 1/3 — Run market positioning analysis. Returns snapshot, detected lens, recruiter inference, and session_id.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
session_id |
number |
optional | Resume existing session |
ceevee_get_opportunities
Step 2/3 — Get career pivot opportunities based on a selected narrative lens.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
lens |
string |
required | Narrative lens from step 1 (e.g. 'Technical Leader') |
session_id |
number |
optional | Session ID from step 1 |
ceevee_confirm_lens
Step 3/3 — Confirm lens and generate targeted CV edits with trade-offs and optional PDF output.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
confirmed_lens |
string |
required | Confirmed narrative lens |
custom_positioning |
string |
optional | Custom positioning description |
session_id |
number |
optional | Session ID from step 1 |
positioning_snapshot |
object |
optional | Snapshot from step 1 |
detected_lens_full |
object |
optional | Lens data from step 1 |
recruiter_inference |
object |
optional | Recruiter inference from step 1 |
selected_opportunities |
object[] |
optional | Opportunities from step 2 |
ceevee_full_review
Autonomous full CV review in one call: positioning + lens + edits + optional opportunities. Alternative to the 3-step pipeline.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
requested_lens |
string |
optional | Specific lens (null = auto-infer) |
jd_text |
string |
optional | Optional JD for targeted optimization |
include_opportunities |
boolean |
optional | Include opportunity analysis (default: false) |
session_id |
number |
optional | Session ID |
CeeVee — Chat 2
Conversational CV optimization assistant with edit explanations.
ceevee_chat
CV optimization guidance with context-aware conversations linked to a CV version.
| Parameter | Type | Description | |
|---|---|---|---|
message |
string |
required | User message |
cv_version_id |
number |
required | CV version ID from ceevee_upload_cv or ceevee_list_versions |
conversation_id |
number |
optional | Continue existing thread (omit to start new) |
ceevee_explain_change
Detailed explanation of a specific edit from a positioning review.
| Parameter | Type | Description | |
|---|---|---|---|
cv_version_id |
number |
required | CV version ID |
change_id |
string |
required | Edit ID from ceevee_confirm_lens or ceevee_full_review output |