CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

100Hires - AI ATS & Recruitment Software

100hires/mcp
80 toolsHTTPregistry active
Summary

Connects Claude, Cursor, or any MCP client directly to your 100Hires ATS account over HTTP with OAuth 2.1 and PKCE. Exposes the full recruitment API: create and tag candidates, move applications through pipeline stages, schedule interviews, send batch emails, manage job postings, and pull timeline data. No local install needed, just point your client at the hosted endpoint and authenticate in browser. Reach for this when you want to query applicant status, automate candidate outreach, or let your AI assistant interact with your hiring pipeline without switching to the 100Hires UI. Includes fallback stdio support via the mcp-remote shim for older clients.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

80 tools
hires_list_candidatesList candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate payloads include the full profile answers array and can be large; if the response exceeds the budget th...13 params

List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate payloads include the full profile answers array and can be large; if the response exceeds the budget th...

Parameters* required
qstring
Plain-text search by name or email. Supports partial matches.
pagenumber
Page number (1-based).
sizenumber
Number of items per page.
viewstring
Response shape. Default `summary` excludes the `profile` array (custom profile-form answers). Use `full` only when those answers are genuinely needed; call hires_get_candidate for a single full record.one of summary · fulldefault: summary
emailstring
Exact candidate email filter.
job_idnumber
Filter candidates by job ID.
includestring
Comma-separated list of optional related data to include in the response.
linkedinstring
Search by LinkedIn profile URL or alias (e.g. 'johndoe' or full URL).
stage_idnumber
Filter candidates by pipeline stage ID. Best used together with job_id.
full_namestring
Candidate full-name filter.
company_idnumber
Filter by company ID. Required only when the API key has access to multiple companies.
created_afternumber
Return only candidates created after this Unix timestamp (seconds).
updated_afternumber
Return only candidates updated after this Unix timestamp (seconds). Useful for incremental sync.
hires_create_candidateCreate a new candidate profile. Optionally link to a job/stage and attach a CV. Used for imports, inbound forms, and enrichment workflows.9 params

Create a new candidate profile. Optionally link to a job/stage and attach a CV. Used for imports, inbound forms, and enrichment workflows.

Parameters* required
cvobject
CV/resume file to attach (base64 payload).
emailstring
Candidate email address. Used for deduplication.
phonestring
Candidate phone number.
job_idnumber
Job ID to create an application for this candidate.
profileobject
Key-value map of profile field answers. Keys can be question text or question_id. Example: {"Current job title": "Senior Engineer"}.
stage_idnumber
Pipeline stage ID for the initial application. Requires job_id.
last_namestring
Candidate last name.
company_idnumber
Target company ID. Required only when the API key has access to multiple companies.
first_namestring
Candidate first name.
hires_get_candidateGet full candidate data including application summaries by candidate ID or alias.1 params

Get full candidate data including application summaries by candidate ID or alias.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
hires_update_candidateUpdate candidate fields, profile answers, and optional CV. Used for bi-directional sync from ATS, CRM, sourcing, or enrichment tools.9 params

Update candidate fields, profile answers, and optional CV. Used for bi-directional sync from ATS, CRM, sourcing, or enrichment tools.

Parameters* required
cvobject
CV/resume file to attach (base64 payload).
idstring | number
Candidate ID (integer) or alias (string).
emailstring
Candidate email address.
phonestring
Candidate phone number.
job_idnumber
Job ID to create a new application for this candidate.
profileobject
Key-value map of profile field answers. Keys can be question text or question_id.
stage_idnumber
Pipeline stage ID for the application. Requires job_id.
last_namestring
Candidate last name.
first_namestring
Candidate first name.
hires_delete_candidatePermanently delete a candidate by ID or alias.1 params

Permanently delete a candidate by ID or alias.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
hires_list_candidate_tagsList all tags assigned to a candidate. Useful for segmentation and audience-based automations.1 params

List all tags assigned to a candidate. Useful for segmentation and audience-based automations.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
hires_add_candidate_tagsAdd one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution.2 params

Add one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
tagsarray
Array of tag strings to add.
hires_remove_candidate_tagRemove a specific tag from a candidate.2 params

Remove a specific tag from a candidate.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
tagstring
The tag string to remove.
hires_batch_add_tagsAdd tags to multiple candidates in one request (max 100). Returns per-item results with partial success support.2 params

Add tags to multiple candidates in one request (max 100). Returns per-item results with partial success support.

Parameters* required
idsarray
Candidate IDs to tag (max 100).
tagsarray
Tag names to attach.
hires_batch_remove_tagsRemove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support.2 params

Remove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support.

Parameters* required
idsarray
Candidate IDs to remove tags from (max 100).
tagsarray
Tag names to remove.
hires_list_candidate_filesList all files attached to a candidate (resumes and other documents). Each entry has uuid, absolute download url (use Bearer auth), relative_time, file metadata (orig_file_name, file_ext, file_type/MIME, readable_size), and type (resume/other). Default response is compact; avo...1 params

List all files attached to a candidate (resumes and other documents). Each entry has uuid, absolute download url (use Bearer auth), relative_time, file metadata (orig_file_name, file_ext, file_type/MIME, readable_size), and type (resume/other). Default response is compact; avo...

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
hires_upload_candidate_fileUpload a file for a candidate using a base64 payload. Used for resume ingestion, portfolio uploads, and document attachment.2 params

Upload a file for a candidate using a base64 payload. Used for resume ingestion, portfolio uploads, and document attachment.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
fileobject
File to upload (base64 payload).
hires_get_candidate_resumeGet the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file metadata, type. Use include='text_content' to also get the parsed plain-text content in a `text` field without downloading the file.2 params

Get the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file metadata, type. Use include='text_content' to also get the parsed plain-text content in a `text` field without downloading the file.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
includestring
Comma-separated optional fields. Use 'text_content' to add a `text` field with parsed plain-text resume content.
hires_list_candidate_activitiesList timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type. Recommended size <= 10: copilot responses and call transcriptions can be large per event; if the response exceeds the budget the tool returns isError:true wi...7 params

List timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type. Recommended size <= 10: copilot responses and call transcriptions can be large per event; if the response exceeds the budget the tool returns isError:true wi...

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
pagenumber
Page number (1-based).
sizenumber
Page size. Values above the max are capped. Default 20, max 100.
viewstring
Response shape. Default `summary` replaces the largest event payloads (copilot LLM response/prompt, call transcription, comment body) with 200-char `*_preview` fields. Other event types pass through unchanged. Use `full` when the original content is needed.one of summary · fulldefault: summary
sincenumber
Unix timestamp (seconds) — inclusive lower bound on event timestamp.
untilnumber
Unix timestamp (seconds) — inclusive upper bound on event timestamp.
event_typestring
Comma-separated event types to filter. Supported: comment, copilot_response, stage_moved, automation_action_triggered, assign_job, enrichment, call, validate_emails, profile_mutation, qualification, assign_tags, assign_sources, candidate_rate.
hires_disqualify_candidateDisqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs.2 params

Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
reasonsarray
Array of rejection reason IDs from GET /taxonomy/rejection-reasons.
hires_list_candidate_interviewsList all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection.3 params

List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection.

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
pagenumber
Page number (1-based).
sizenumber
Number of items per page.
hires_list_candidate_messagesList email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retr...5 params

List email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retr...

Parameters* required
idstring | number
Candidate ID (integer) or alias (string).
pagenumber
Page number (1-based).
sizenumber
Number of items per page.
viewstring
Response shape. Default `summary` excludes the HTML body and attachments metadata. Use `full` only when message body content is needed.one of summary · fulldefault: summary
is_schedulednumber
Set to 1 to return only scheduled (not yet sent) messages.
hires_send_candidate_messageSchedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation.11 params

Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation.

Parameters* required
ccarray
Carbon-copy recipient email addresses.
idstring | number
Candidate ID (integer) or alias (string).
toarray
Primary recipient email addresses.
bccarray
Blind carbon-copy recipient email addresses.
bodystring
Email body as HTML.
subjectstring
Email subject line.
scheduled_atnumber
Unix timestamp (seconds) for when to send. Defaults to 15 minutes after creation.
application_idnumber
Optional application ID to link this message to.
from_account_idnumber
Sending mail account ID. If omitted, uses the API key owner's default mail account.
reply_to_email_idnumber
Optional mailbox message ID to reply to.
send_in_new_threadboolean
Send as a new email thread instead of replying in an existing one.
hires_list_applicationsList applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and date ranges. Use for pipeline analytics, sync jobs, and ATS dashboards. Avoid include=candidate or include=cv.text on large pages (each embeds heavy nested da...13 params

List applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and date ranges. Use for pipeline analytics, sync jobs, and ATS dashboards. Avoid include=candidate or include=cv.text on large pages (each embeds heavy nested da...

Parameters* required
pagenumber
Page number (default 1).
sizenumber
Items per page (default 25, max 100).
sortstring
Sort order. Prefix with - for descending. Default: -created_at.one of created_at · -created_at · ai_score · -ai_score
job_idnumber
Filter applications by job ID.
statusstring
Filter by application status: pending (active), hired, or rejected.one of pending · hired · rejected
includestring
Comma-separated relations to embed: candidate, cv.text. Example: candidate,cv.text
stage_idnumber
Filter applications by pipeline stage ID. Best used together with job_id.
company_idnumber
Filter by company ID. Omit for all accessible companies.
ai_score_maxnumber
Return only applications with ai_score <= this value.
ai_score_minnumber
Return only applications with ai_score >= this value.
candidate_idnumber
Filter applications by candidate ID.
created_afternumber
Return only applications created after this Unix timestamp (seconds).
updated_afternumber
Return only applications updated after this Unix timestamp (seconds). Use for incremental sync.
hires_create_applicationCreate an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist.5 params

Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist.

Parameters* required
cvobject
Optional CV/resume to attach.
job_idnumber
Job ID to apply the candidate to.
includestring
Comma-separated relations to embed: candidate, cv.text.
stage_idnumber
Pipeline stage ID. If omitted, defaults to the first stage.
candidate_idstring | number
Candidate ID (numeric) or alias.
hires_get_applicationGet full application details including stage, status, and rejection context. Recommended before mutating stage transitions.2 params

Get full application details including stage, status, and rejection context. Recommended before mutating stage transitions.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
hires_update_applicationUpdate application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application.5 params

Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application.

Parameters* required
cvobject
Replace or attach a CV.
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
stage_idnumber
Move application to this pipeline stage.
is_disqualifiedboolean
Set to true to disqualify the candidate on this application.
hires_delete_applicationPermanently delete an application. This removes it from all list and view queries.1 params

Permanently delete an application. This removes it from all list and view queries.

Parameters* required
idnumber
Application ID.
hires_move_applicationMove an application to a specific pipeline stage. Use this for explicit stage transitions in workflow orchestration. You need the target stage_id (get it from the job's pipeline_stages).3 params

Move an application to a specific pipeline stage. Use this for explicit stage transitions in workflow orchestration. You need the target stage_id (get it from the job's pipeline_stages).

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
stage_idnumber
Target pipeline stage ID.
hires_advance_applicationAdvance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically.2 params

Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
hires_hire_applicationMark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hired' and hired_at is set.2 params

Mark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hired' and hired_at is set.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
hires_reject_applicationReject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason IDs. Set suppress_notification to skip the rejection email.4 params

Reject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason IDs. Set suppress_notification to skip the rejection email.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
rejection_reason_idnumber
Rejection reason ID from GET /taxonomy/rejection-reasons.
suppress_notificationboolean
Set to true to skip sending the rejection email to the candidate.
hires_unreject_applicationUndo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared.2 params

Undo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, cv.text.
hires_transfer_applicationTransfer an application to another job. A new application is created on the target job. Optionally specify a stage on the target job's pipeline.4 params

Transfer an application to another job. A new application is created on the target job. Optionally specify a stage on the target job's pipeline.

Parameters* required
idnumber
Application ID to transfer.
job_idnumber
Target job ID to transfer the application to.
includestring
Comma-separated relations to embed: candidate, cv.text.
stage_idnumber
Pipeline stage ID on the target job. If omitted, defaults to the first stage.
hires_get_ai_scoreGet the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. Returns null score if the application has not been AI-scored.1 params

Get the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. Returns null score if the application has not been AI-scored.

Parameters* required
idnumber
Application ID.
hires_list_application_stage_historyGet the full chronological stage transition history for an application, including the initial assignment. Each entry has from_stage_id/name, to_stage_id/name, moved_at (Unix seconds), moved_by_type (system, user, automation), and moved_by_user_id. Use this for funnel analysis...1 params

Get the full chronological stage transition history for an application, including the initial assignment. Each entry has from_stage_id/name, to_stage_id/name, moved_at (Unix seconds), moved_by_type (system, user, automation), and moved_by_user_id. Use this for funnel analysis...

Parameters* required
idnumber
Application ID.
hires_list_application_attachmentsList all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.1 params

List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.

Parameters* required
idnumber
Application ID.
hires_upload_application_attachmentUpload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts.2 params

Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts.

Parameters* required
idnumber
Application ID.
fileobject
File to upload.
hires_list_application_evaluationsList all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text.2 params

List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text.

Parameters* required
idnumber
Application ID.
viewstring
Response shape. Default `summary` replaces `summary_text` with a 200-char `summary_text_preview`. Use `full` only when the full evaluator commentary is needed; call hires_get_evaluation for a single record.one of summary · fulldefault: summary
hires_create_interviewSchedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user IDs. Location is resolved to an existing record or created automatically.6 params

Schedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user IDs. Location is resolved to an existing record or created automatically.

Parameters* required
idnumber
Application ID.
includestring
Comma-separated relations to embed: candidate, application, job.
end_timenumber
Interview end time as Unix timestamp (seconds, must be after start_time).
locationstring
Location string; resolved to existing record or created automatically.
start_timenumber
Interview start time as Unix timestamp (seconds).
interviewer_idsarray
List of user IDs who will conduct the interview.
hires_batch_move_applicationsMove multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request.2 params

Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request.

Parameters* required
idsarray
Application IDs to move (max 100).
stage_idnumber
Target pipeline stage ID.
hires_batch_reject_applicationsReject multiple applications in one request with an optional rejection reason. Returns per-item results with partial success support. Max 100 application IDs per request.2 params

Reject multiple applications in one request with an optional rejection reason. Returns per-item results with partial success support. Max 100 application IDs per request.

Parameters* required
idsarray
Application IDs to reject (max 100).
rejection_reason_idnumber
Optional rejection reason ID.
hires_list_jobsList jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for career-site sync, reporting, and external system indexing. Recommended size <= 10: full job payloads include description HTML and can be large; if the respons...11 params

List jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for career-site sync, reporting, and external system indexing. Recommended size <= 10: full job payloads include description HTML and can be large; if the respons...

Parameters* required
qstring
Search by job title or internal title (partial match)
pagenumber
Page number (default 1)
sizenumber
Page size (default 20)
viewstring
Response shape. Default `summary` excludes heavy fields (description HTML, indeed_posting_data, ai_scoring_criteria) and embedded relations — recommended for list operations. Use `full` only when description or include=workflow/hiring_team/pipeline_stages is genuinely needed; call hires_get_job for a single full record.one of summary · fulldefault: summary
statusstring
Filter by job status name (from GET /taxonomy/statuses, e.g. Public, Draft, Archived)
includestring
Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages
company_idnumber
Filter by company ID (required only for multi-company API keys)
department_idnumber
Filter jobs by department ID (from GET /taxonomy/departments)
updated_afternumber
Return only jobs updated after this Unix timestamp (seconds). Use for incremental sync.
created_at_endnumber
Return only jobs created at or before this Unix timestamp (seconds)
created_at_startnumber
Return only jobs created at or after this Unix timestamp (seconds)
hires_create_jobCreate a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publishing. Required fields: status, title, description, location_city, location_country.29 params

Create a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publishing. Required fields: status, title, description, location_city, location_country.

Parameters* required
titlestring
Public job title.
statusstring
Job status (e.g. Draft, Public). See GET /taxonomy/statuses.
form_idnumber
Application form ID. If omitted, a new form named after the job title is created with default questions.
includestring
Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages
is_remoteboolean
Whether this is a remote position.
company_idnumber
Target company ID. Required only when the API key has access to multiple companies.
salary_maxnumber
Maximum salary.
salary_minnumber
Minimum salary.
category_idnumber
Job category ID from GET /taxonomy/categories.
descriptionstring
Job description (HTML allowed).
workflow_idnumber
Workflow ID. If omitted, a new workflow named after the job title is created with default stages.
department_idnumber
Department ID from GET /taxonomy/departments.
location_citystring
Job city.
parent_job_idnumber
Canonical parent job ID. If provided, the created job becomes a satellite job.
salary_periodstring
Salary period.one of annually · monthly · daily · hourly
internal_titlestring
Internal-only title visible to the hiring team.
location_statestring
Job state or region.
internal_job_idstring
External reference ID from your ATS or HR system.
salary_currencystring
Salary currency code (e.g. USD, EUR).
location_countrystring
Job country.
education_level_idnumber
Education level ID from GET /taxonomy/education-levels.
employment_type_idnumber
Employment type ID from GET /taxonomy/employment-types.
knockout_questionsarray
Boolean knockout questions added to the application form.
ai_scoring_criteriaarray
AI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Pass [] to detach all.
experience_level_idnumber
Experience level ID from GET /taxonomy/experience-levels.
resume_field_statusstring
Resume field behavior on the application form.one of required · optional · hidden
location_postal_codestring
Postal or ZIP code.
location_full_addressstring
Full formatted address.
location_street_addressstring
Street address.
hires_get_jobGet full details of a job by ID or alias. Use `include` to load related workflow, hiring team, or pipeline stages data.2 params

Get full details of a job by ID or alias. Use `include` to load related workflow, hiring team, or pipeline stages data.

Parameters* required
idstring | number
Job ID (numeric) or alias
includestring
Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages
hires_update_jobUpdate mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules.29 params

Update mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules.

Parameters* required
idstring | number
Job ID (numeric) or alias
titlestring
Public job title.
statusstring
Job status (e.g. Draft, Public). See GET /taxonomy/statuses.
form_idnumber
Application form ID to assign to this job.
includestring
Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages
is_remoteboolean
Whether this is a remote position.
salary_maxnumber
Maximum salary.
salary_minnumber
Minimum salary.
category_idnumber
Job category ID from GET /taxonomy/categories.
descriptionstring
Job description (HTML allowed).
workflow_idnumber
Workflow ID to assign to this job.
department_idnumber
Department ID from GET /taxonomy/departments.
location_citystring
Job city.
parent_job_idnumber
Canonical parent job ID. If provided, the job becomes a satellite job.
salary_periodstring
Salary period.one of annually · monthly · daily · hourly
internal_titlestring
Internal-only title visible to the hiring team.
location_statestring
Job state or region.
internal_job_idstring
External reference ID from your ATS or HR system.
salary_currencystring
Salary currency code (e.g. USD, EUR).
location_countrystring
Job country.
education_level_idnumber
Education level ID from GET /taxonomy/education-levels.
employment_type_idnumber
Employment type ID from GET /taxonomy/employment-types.
knockout_questionsarray
Boolean knockout questions added to the application form.
ai_scoring_criteriaarray
AI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Omit to leave existing criteria untouched. Pass [] to detach all.
experience_level_idnumber
Experience level ID from GET /taxonomy/experience-levels.
resume_field_statusstring
Resume field behavior on the application form.one of required · optional · hidden
location_postal_codestring
Postal or ZIP code.
location_full_addressstring
Full formatted address.
location_street_addressstring
Street address.
hires_delete_jobDelete a job. Use to align archived/removed positions across integrated platforms.1 params

Delete a job. Use to align archived/removed positions across integrated platforms.

Parameters* required
idstring | number
Job ID (numeric) or alias
hires_set_job_statusChange job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation workflows.3 params

Change job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation workflows.

Parameters* required
idstring | number
Job ID (numeric) or alias
statusstring
New job status (e.g. Draft, Public, Archived). See GET /taxonomy/statuses.
includestring
Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages
hires_list_job_boardsGet current board publication state for a specific job. Returns which job boards the job is published to. Useful for distribution dashboards and posting audits.1 params

Get current board publication state for a specific job. Returns which job boards the job is published to. Useful for distribution dashboards and posting audits.

Parameters* required
idstring | number
Job ID (numeric) or alias
hires_publish_to_job_boardActivate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows.2 params

Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows.

Parameters* required
idstring | number
Job ID (numeric) or alias
boardsarray
Array of board identifiers to activate (e.g. ['indeed', 'linkedin'])
hires_remove_from_job_boardDeactivate selected board publications for a job. Stops the job from being listed on specified boards.2 params

Deactivate selected board publications for a job. Stops the job from being listed on specified boards.

Parameters* required
idstring | number
Job ID (numeric) or alias
boardsarray
Array of board identifiers to deactivate (e.g. ['indeed', 'linkedin'])
hires_batch_job_boardsGet board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs.1 params

Get board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs.

Parameters* required
jobsarray
Array of job IDs
hires_batch_publish_to_boardsActivate board publication for multiple jobs in one request. Use for bulk job distribution workflows.2 params

Activate board publication for multiple jobs in one request. Use for bulk job distribution workflows.

Parameters* required
jobsarray
Array of job IDs to publish
boardsarray
Array of board identifiers to activate (e.g. ['indeed', 'linkedin'])
hires_batch_remove_from_boardsDeactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows.2 params

Deactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows.

Parameters* required
jobsarray
Array of job IDs to depublish
boardsarray
Array of board identifiers to deactivate (e.g. ['indeed', 'linkedin'])
hires_list_hiring_teamList users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling.1 params

List users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling.

Parameters* required
idstring | number
Job ID (numeric) or alias
hires_add_hiring_team_memberAdd a company member to the job's hiring team. Use in workflow setup and ownership automation.2 params

Add a company member to the job's hiring team. Use in workflow setup and ownership automation.

Parameters* required
idstring | number
Job ID (numeric) or alias
user_idnumber
User ID to add to the hiring team.
hires_list_job_webhooksList webhooks configured for job-level events. Use to audit subscriptions and deployment state.1 params

List webhooks configured for job-level events. Use to audit subscriptions and deployment state.

Parameters* required
idstring | number
Job ID (numeric) or alias
hires_create_job_webhookRegister a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS.2 params

Register a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS.

Parameters* required
idstring | number
Job ID (numeric) or alias
urlstring
Webhook destination URL. Must be HTTPS.
hires_delete_job_webhookDelete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration.2 params

Delete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration.

Parameters* required
idstring | number
Job ID (numeric) or alias
webhook_idnumber
Webhook ID to delete
hires_list_messagesList messages sent or scheduled from a specific mail account. Returns outbound messages only (sent and scheduled), not received. Useful for monitoring cold outreach campaigns — check pending queue, delivery history, and plan next sends. Recommended size <= 10: messages include...7 params

List messages sent or scheduled from a specific mail account. Returns outbound messages only (sent and scheduled), not received. Useful for monitoring cold outreach campaigns — check pending queue, delivery history, and plan next sends. Recommended size <= 10: messages include...

Parameters* required
pageinteger
Page number (1-based). Default: 1.
sizeinteger
Number of items per page (1-100). Default: 20.
viewstring
Response shape. Default `summary` excludes the HTML body and attachments metadata — recommended for list operations. Use `full` only when message body content is needed.one of summary · fulldefault: summary
statusstring
Filter by message status: `scheduled` (pending send), `sent` (delivered), `all` (both). Default: `all`.one of scheduled · sent · all
date_tointeger
End of period (unix timestamp, seconds). Filters on scheduled/sent time.
date_frominteger
Start of period (unix timestamp, seconds). Filters on scheduled/sent time.
from_account_idinteger
ID of the mail account (from `GET /companies/mail-accounts` or `GET /users/{user_id}/mail-accounts`).
hires_get_messageGet a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability.1 params

Get a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability.

Parameters* required
idinteger
Message ID.
hires_update_messageFully update (replace) a scheduled message before send time. All required fields must be provided.10 params

Fully update (replace) a scheduled message before send time. All required fields must be provided.

Parameters* required
ccarray
Carbon-copy recipient email addresses.
idinteger
Message ID.
toarray
Primary recipient email addresses.
bccarray
Blind carbon-copy recipient email addresses.
bodystring
Email body as HTML.
subjectstring
Email subject line.
scheduled_atvalue
Updated send time as a Unix timestamp in seconds.
from_account_idvalue
Sending mail account ID. If omitted, the API key owner's default mail account is used.
reply_to_email_idvalue
Optional mailbox message ID to reply to.
send_in_new_threadboolean
Whether to send the updated message as a new thread.
hires_patch_messagePartially update a scheduled message before send time. Only provided fields are changed.10 params

Partially update a scheduled message before send time. Only provided fields are changed.

Parameters* required
ccarray
Carbon-copy recipient email addresses.
idinteger
Message ID.
toarray
Primary recipient email addresses.
bccarray
Blind carbon-copy recipient email addresses.
bodystring
Email body as HTML.
subjectstring
Email subject line.
scheduled_atvalue
Updated send time as a Unix timestamp in seconds.
from_account_idvalue
Sending mail account ID. If omitted, the API key owner's default mail account is used.
reply_to_email_idvalue
Optional mailbox message ID to reply to.
send_in_new_threadboolean
Whether to send the updated message as a new thread.
hires_delete_messageCancel a scheduled message before it is processed by the mailbox scheduler.1 params

Cancel a scheduled message before it is processed by the mailbox scheduler.

Parameters* required
idinteger
Message ID.
hires_batch_create_messagesCreate up to 100 scheduled messages in one request. Each item specifies its own candidate_id and message payload. Items are processed independently -- one failure does not stop others. Per-candidate RBAC is enforced for each item.1 params

Create up to 100 scheduled messages in one request. Each item specifies its own candidate_id and message payload. Items are processed independently -- one failure does not stop others. Per-candidate RBAC is enforced for each item.

Parameters* required
messagesarray
Array of message payloads to create (max 100).
hires_get_notification_messageGet a notification email message (e.g. rejection email) by ID. Returns subject, body, sender, recipient, and schedule metadata. Use candidate messages list to discover notification message IDs.1 params

Get a notification email message (e.g. rejection email) by ID. Returns subject, body, sender, recipient, and schedule metadata. Use candidate messages list to discover notification message IDs.

Parameters* required
idinteger
Notification email message ID.
hires_update_notification_messageUpdate a scheduled notification email before it is sent. Change subject, body, and optionally reschedule the send time. Only scheduled (not yet sent) messages can be updated.4 params

Update a scheduled notification email before it is sent. Change subject, body, and optionally reschedule the send time. Only scheduled (not yet sent) messages can be updated.

Parameters* required
idinteger
Notification email message ID.
bodystring
Email body as HTML.
subjectstring
Email subject line.
scheduled_atvalue
Unix timestamp (seconds) to reschedule send time. If omitted, the existing schedule is preserved.
hires_delete_notification_messageCancel a scheduled notification email before it is sent. Already sent messages cannot be canceled.1 params

Cancel a scheduled notification email before it is sent. Already sent messages cannot be canceled.

Parameters* required
idinteger
Notification email message ID.
hires_cancel_all_notification_messagesCancel all scheduled notification emails for a candidate. Already sent notifications are not affected. Returns success even if no scheduled notifications exist.1 params

Cancel all scheduled notification emails for a candidate. Already sent notifications are not affected. Returns success even if no scheduled notifications exist.

Parameters* required
candidate_idvalue
Candidate ID (numeric) or alias.
hires_list_interviewsList interviews with optional filters by job, application, candidate, interviewer, date, or timestamps for incremental sync. Returns paginated results. Avoid include=job on large pages (embeds full job description per interview); if the response exceeds the budget the tool ret...11 params

List interviews with optional filters by job, application, candidate, interviewer, date, or timestamps for incremental sync. Returns paginated results. Avoid include=job on large pages (embeds full job description per interview); if the response exceeds the budget the tool ret...

Parameters* required
datestring
Filter by interview date (YYYY-MM-DD, UTC)
pagenumber
Page number (default 1)
sizenumber
Page size (default 20)
job_idnumber
Filter interviews by job ID
includestring
Comma-separated related resources to embed: candidate, application, job
company_idnumber
Filter by company ID. Omit for all accessible companies.
candidate_idnumber
Filter interviews by candidate ID
created_afternumber
Return only interviews created after this Unix timestamp (seconds)
updated_afternumber
Return only interviews updated after this Unix timestamp (seconds)
application_idnumber
Filter interviews by application ID
interviewer_user_idnumber
Filter interviews by interviewer user ID
hires_get_interviewGet full details of a specific interview by ID. Use `include` to embed related candidate, application, or job data.2 params

Get full details of a specific interview by ID. Use `include` to embed related candidate, application, or job data.

Parameters* required
idnumber
Interview ID
includestring
Comma-separated related resources to embed: candidate, application, job
hires_list_notesList notes by candidate. Returns paginated discussion notes for a candidate. Use for shared recruiter context and timeline synchronization. Notes can contain long free-form text; if the response exceeds the budget the tool returns isError:true with error_code=response_too_larg...5 params

List notes by candidate. Returns paginated discussion notes for a candidate. Use for shared recruiter context and timeline synchronization. Notes can contain long free-form text; if the response exceeds the budget the tool returns isError:true with error_code=response_too_larg...

Parameters* required
pagenumber
Page number
sizenumber
Page size
viewstring
Response shape. Default `summary` replaces the full note body with a 200-char `body_preview`. Use `full` only when the full note text is genuinely needed; call hires_get_note for a single record.one of summary · fulldefault: summary
includestring
Include related resources, e.g. 'user' for author details
candidate_idstring | number
Candidate ID (numeric) or alias
hires_create_noteCreate a discussion note for a candidate. Supports visibility control (all or private) and @mentions with email notifications.6 params

Create a discussion note for a candidate. Supports visibility control (all or private) and @mentions with email notifications.

Parameters* required
bodystring
Note content. Supports HTML.
includestring
Include related resources, e.g. 'user' for author details
user_idnumber
Author user ID. If omitted, the authenticated user is used
visibilitystring
Visibility: 'all' (default) or 'private'
candidate_idstring | number
Candidate ID (numeric) or alias
mention_user_idsarray
Array of user IDs to mention. Mentioned users receive email notifications.
hires_get_noteGet a single note with author and visibility metadata. Use include=user to load author details.2 params

Get a single note with author and visibility metadata. Use include=user to load author details.

Parameters* required
idnumber
Note ID
includestring
Include related resources, e.g. 'user' for author details
hires_update_noteUpdate note body and/or visibility without creating a new timeline item. Use for corrections and moderation workflows.4 params

Update note body and/or visibility without creating a new timeline item. Use for corrections and moderation workflows.

Parameters* required
idnumber
Note ID
bodystring
Note content. Supports HTML.
includestring
Include related resources, e.g. 'user' for author details
visibilitystring
Visibility: 'all' (default) or 'private'
hires_delete_noteDelete a note. Use for moderation policies and data cleanup operations.1 params

Delete a note. Use for moderation policies and data cleanup operations.

Parameters* required
idnumber
Note ID
hires_get_evaluationGet a filled evaluation form with all answers. Returns evaluator info, summary score, summary text, and individual question answers. Use for detailed review of evaluator feedback on a candidate application.1 params

Get a filled evaluation form with all answers. Returns evaluator info, summary score, summary text, and individual question answers. Use for detailed review of evaluator feedback on a candidate application.

Parameters* required
idnumber
Evaluation form ID
hires_list_formsList application forms (paginated). Returns forms with their questions for the target company. Recommended size <= 10: each form embeds its full question list; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.4 params

List application forms (paginated). Returns forms with their questions for the target company. Recommended size <= 10: each form embeds its full question list; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.

Parameters* required
pagenumber
Page number.
sizenumber
Page size.
viewstring
Response shape. Default `summary` omits the embedded `questions` array. Use `full` only when the full question list is needed; call hires_get_form for a single form.one of summary · fulldefault: summary
company_idnumber
Target company ID.
hires_create_formCreate a new application form, optionally attaching existing questions by ID.3 params

Create a new application form, optionally attaching existing questions by ID.

Parameters* required
namestring
Form name.
questionsarray
Array of question IDs to attach to this form.
company_idnumber
Target company ID.
hires_get_formGet form details including all questions with their statuses.1 params

Get form details including all questions with their statuses.

Parameters* required
idnumber
Form ID.
hires_update_formUpdate form name and question composition.3 params

Update form name and question composition.

Parameters* required
idnumber
Form ID.
namestring
Form name.
questionsarray
Array of question IDs to attach to this form.
hires_delete_formDelete an application form.1 params

Delete an application form.

Parameters* required
idnumber
Form ID.
hires_update_form_questionUpdate the status (required/optional/hidden) of a question inside a form.3 params

Update the status (required/optional/hidden) of a question inside a form.

Parameters* required
statusstring
Question visibility on this form: required, optional, or hidden.one of required · optional · hidden
form_idnumber
Form ID.
question_idnumber
Question ID.
hires_list_email_templatesList email templates for the target company. Returns paginated results with template name, subject, and body. Recommended size <= 10: templates include the full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and r...4 params

List email templates for the target company. Returns paginated results with template name, subject, and body. Recommended size <= 10: templates include the full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and r...

Parameters* required
pagenumber
Page number (default 1)
sizenumber
Page size (default 25)
viewstring
Response shape. Default `summary` excludes the HTML template body. Use `full` only when body content is needed; call hires_get_email_template for a single record.one of summary · fulldefault: summary
company_idnumber
Target company ID
hires_create_email_templateCreate a new email template with name, subject, and body. Subject and body support placeholders like {{first_name}}, {{job_title}}. To embed placeholders: 1) GET /template-placeholders to list them, 2) POST /template-placeholders/prepare to get the HTML tag, 3) insert the tag...4 params

Create a new email template with name, subject, and body. Subject and body support placeholders like {{first_name}}, {{job_title}}. To embed placeholders: 1) GET /template-placeholders to list them, 2) POST /template-placeholders/prepare to get the HTML tag, 3) insert the tag...

Parameters* required
bodystring
Email body HTML (supports placeholders)
namestring
Template name
subjectstring
Email subject line (supports placeholders like {{first_name}}, {{job_title}})
company_idnumber
Target company ID

100Hires MCP Server

License: MIT Official MCP Registry smithery badge Glama

Official Model Context Protocol server for 100Hires — the applicant tracking system for recruiting teams.

Connect ChatGPT, Claude, Cursor, or any MCP-compatible AI assistant to your 100Hires account and manage candidates, jobs, applications, interviews, messages, and more — all without writing code.

Full documentation, screenshots, and demo: https://100hires.com/mcp

Quick connect

The server is hosted at https://mcp.100hires.com/mcp with OAuth 2.1 authentication (DCR + PKCE). No install required — just point your client at the URL and authenticate via the browser.

Native HTTP transport (recommended)

claude.ai Cowork (web)

Settings → Custom Connectors → Add → URL: https://mcp.100hires.com/mcp → complete OAuth.

Claude Code CLI

claude mcp add --transport http 100hires https://mcp.100hires.com/mcp

Or in .mcp.json:

{
  "mcpServers": {
    "100hires": {
      "type": "http",
      "url": "https://mcp.100hires.com/mcp"
    }
  }
}

Claude Desktop

Settings → Developer → Custom Connectors → Add Custom Connector → URL: https://mcp.100hires.com/mcp.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "100hires": {
      "type": "http",
      "url": "https://mcp.100hires.com/mcp"
    }
  }
}

Codex (OpenAI CLI)

~/.codex/config.toml:

[mcp_servers.100hires]
url = "https://mcp.100hires.com/mcp"

VS Code Copilot

.vscode/mcp.json:

{
  "servers": {
    "100hires": {
      "type": "http",
      "url": "https://mcp.100hires.com/mcp"
    }
  }
}

Fallback for stdio-only clients (mcp-remote shim)

For older clients that don't yet support HTTP transport natively, use the third-party mcp-remote bridge:

{
  "mcpServers": {
    "100hires": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.100hires.com/mcp"]
    }
  }
}

What you can do

The server exposes the full 100Hires API as MCP tools, covering:

  • Candidates — list, create, update, tag, attach files, view timeline, message
  • Applications — list, move through pipeline stages, advance, hire, reject, transfer
  • Jobs — list, create, publish to job boards, manage hiring team, set up webhooks
  • Interviews — schedule, list, retrieve details
  • Messages & email templates — schedule, batch-send, manage notification emails, build nurture campaigns
  • Notes & evaluations — full CRUD for application-level feedback
  • Forms & questions — application form management
  • Workflows — pipeline stages, reusable questions
  • Companies, users, taxonomy — sources, statuses, departments, categories, tags, etc.

See the full tool reference at https://100hires.com/mcp/tools.

Authentication

The server uses OAuth 2.1 with Dynamic Client Registration (RFC 7591) and PKCE per the MCP authorization spec.

Compatible clients discover the OAuth metadata automatically — no manual API key setup required. You can revoke a connected client at any time from Settings → API → Connected AI clients in your 100Hires account.

Status & registry

  • Listed in the Official MCP Registry as com.100hires/100hires
  • Listed on Glama
  • Submitted to PulseMCP, mcp.directory, LobeHub, MCP Server Finder, and Smithery

Support

  • Docs: https://100hires.com/mcp
  • API reference: https://100hires.com/api
  • Issues / feedback: support@100hires.com

License

MIT — see LICENSE.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Registryactive
TransportHTTP
UpdatedMay 15, 2026
View on GitHub