ZBS Index What actually exists in applied AI, with the source next to it

mcp server

100Hires - AI ATS & Recruitment Software

Official 100Hires MCP: AI ATS & Recruitment Software for candidates, jobs, applications, interviews.

Description as published by the maintainer. Source

  • version 1.0.4
  • slowing

slowing — Most recent push to the repository was 2026-05-09.

What this server can do

133 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

hires_add_candidate_tags(id, tags)
Add one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution. Required: id, tags.
hires_add_hiring_team_member(id, user_id)
Add a company member to the job's hiring team. Use in workflow setup and ownership automation. Required: id, user_id.
hires_advance_application(id, include)
Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically. **Always pass `include=candidate,job`** when surfacing results in the widget — without it, the confirmation card can only show candidate/job IDs and cannot link to their backoffice pages. Required: id.
hires_batch_add_tags(ids, tags)
Add tags to multiple candidates in one request (max 100). Returns per-item results with partial success support. Required: ids, tags.
hires_batch_create_messages(messages)
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. Required: messages.
hires_batch_job_boards(jobs)
Get board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs. Required: jobs.
hires_batch_move_applications(ids, stage_id)
Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request. Required: ids, stage_id.
hires_batch_publish_to_boards(jobs, boards)
Activate board publication for multiple jobs in one request. Use for bulk job distribution workflows. Required: jobs.
hires_batch_reject_applications(ids, rejection_reason_id)
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. Required: ids.
hires_batch_remove_from_boards(jobs, boards)
Deactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows. Required: jobs.
hires_batch_remove_tags(ids, tags)
Remove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support. Required: ids, tags.
hires_cancel_all_notification_messages(candidate_id)
Cancel all scheduled notification emails for a candidate. Already sent notifications are not affected. Returns success even if no scheduled notifications exist. Required: candidate_id.
hires_create_application(cv, job_id, include, stage_id, candidate_id)
Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist. Required: candidate_id, job_id.
hires_create_candidate(city, email, phone, state, job_id, country, profile, stage_id, timezone, last_name, company_id, first_name, resume_text)
Create a new candidate profile. Optionally link to a job/stage and attach the candidate's resume as extracted text. Used for imports, inbound forms, and enrichment workflows. When the user provides an attached resume (PDF/DOCX/etc.), parse the file content yourself from the chat context — LLMs natively extract text from uploaded files — and pass the extracted text via resume_text. Do NOT attempt to inline binary file data: host function-call serializers truncate arguments above ~20KB.
hires_create_company(url, logo, name, website, company_owner_name, is_staffing_agency, company_owner_email, company_owner_phone)
Create a client company (partner tenant) — provisions its public career-site URL (slug) and public branding (logo, name). Typical entrypoint for multi-tenant onboarding. Required: name, company_owner_email, company_owner_name.
hires_create_email_template(body, name, subject, company_id)
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 into the body. Required: name, subject, body.
hires_create_form(name, questions, company_id)
Create a new application form, optionally attaching existing questions by ID. Required: name.
hires_create_interview(id, include, end_time, location, start_time, interviewer_ids)
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. Required: id, start_time, end_time, interviewer_ids.
hires_create_job(title, status, form_id, include, is_remote, company_id, salary_max, salary_min, category_id, description, workflow_id, department_id, location_city, parent_job_id, salary_period, internal_title, location_state, internal_job_id, salary_currency, location_country, education_level_id, employment_type_id, knockout_questions, ai_scoring_criteria, experience_level_id, resume_field_status, location_postal_code, location_full_address, location_street_address)
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. Required: status, title, description, location_city, location_country.
hires_create_job_webhook(id, url)
Register a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS. Returns a signing_secret once — store it to verify the x-hires-signature-v2 header on incoming deliveries. Required: id, url.
hires_create_note(body, include, user_id, visibility, candidate_id, mention_user_ids)
Create a discussion note for a candidate. Supports visibility control (all or private) and @mentions with email notifications. **Always pass `include=candidate`** when surfacing results in the widget — without it, the confirmation card can only show the candidate ID and cannot link to their backoffice profile. Required: candidate_id, body.
hires_create_nurture_campaign(steps, title, stage_id, timezone, company_id, delay_time, send_to_all, workflow_id, relative_days, relative_time, response_move_to_stage_id)
Create a nurture campaign with steps. Steps are executed sequentially; each step has a type (email, sms, voicemail, move_to_next_stage, assign_tag, assign_task) with type-specific fields. Optionally bind to a workflow stage. Required: title, steps.
hires_create_question(text, type, options, company_id)
Create a reusable question with optional answer options for dropdown types. Used by forms and questionnaires. Required: text, type.
hires_create_webhook(id, url)
Create a company-scoped webhook subscription. Use for outbound company-level event integrations. Returns a signing_secret once — store it to verify the x-hires-signature-v2 header on incoming deliveries. Required: id, url.
hires_delete_application(id)
Permanently delete an application. This removes it from all list and view queries. Required: id.
hires_delete_candidate(id)
Permanently delete a candidate by ID or alias. Required: id.
hires_delete_company(id)
Delete (soft-delete) a company — takes its public career site offline. Use for lifecycle control in partner tenancy management. Required: id.
hires_delete_email_template(id)
Soft-delete an email template. Templates already used in automations will stop being available for new actions. Required: id.
hires_delete_form(id)
Delete an application form. Required: id.
hires_delete_job(id)
Delete a job. Use to align archived/removed positions across integrated platforms. Required: id.
hires_delete_job_webhook(id, webhook_id)
Delete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration. Required: id, webhook_id.
hires_delete_message(id)
Cancel a scheduled message before it is processed by the mailbox scheduler. Required: id.
hires_delete_note(id)
Delete a note. Use for moderation policies and data cleanup operations. Required: id.
hires_delete_notification_message(id)
Cancel a scheduled notification email before it is sent. Already sent messages cannot be canceled. Required: id.
hires_delete_nurture_campaign(id)
Delete (soft-delete) a nurture campaign. Active campaign executions will be stopped. Required: id.
hires_delete_question(id)
Delete a reusable question from the catalog. Use cautiously when deprecating question banks. Required: id.
hires_delete_webhook(id, webhook_id)
Delete a company-scoped webhook subscription by ID. Use for endpoint retirement and security rotation. Required: id, webhook_id.
hires_disqualify_candidate(id, reasons)
Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs. Required: id.
hires_download_attachment(url)
Download an attachment (resume, candidate file, application file, mail attachment, call recording). Pass the absolute URL returned by another endpoint (e.g. `message.attachments[].url`, `cv.url`, `resume.url`) — it MUST belong to the configured 100Hires API host; other hosts are rejected to avoid leaking the Bearer token. Returns `{file_name, mime_type, size, data}` where `data` is base64-encoded bytes. Files larger than 25 MB are rejected up-front (Content-Length check / streaming abort) without being loaded into memory. Required: url.
hires_get_ai_score(id)
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. Required: id.
hires_get_application(id, include)
Get full application details including stage, status, and rejection context. Recommended before mutating stage transitions. Required: id.
hires_get_billing
Get billing/pricing capability flags for the current company. Use before invoking paid-only API behaviors.
hires_get_candidate(id)
Get full candidate data including application summaries by candidate ID or alias. Required: id.
hires_get_candidate_resume(id, include)
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. Required: id.
hires_get_career_job(id, company_slug)
Get full details of a single public job by ID. Returns salary, education level, experience level, and other extended fields. Returns 404 for draft, archived, or internal jobs. Required: company_slug, id.
hires_get_company(id)
Get company profile and owner metadata. Use before updates or ownership-sensitive actions. Required: id.
hires_get_email_template(id)
Get full details of a specific email template by ID, including subject and body content. Required: id.
hires_get_evaluation(id)
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. Required: id.
hires_get_form(id)
Get form details including all questions with their statuses. Required: id.
hires_get_interview(id, include)
Get full details of a specific interview by ID. Use `include` to embed related candidate, application, or job data. Required: id.
hires_get_job(id, include)
Get full details of a job by ID or alias. Use `include` to load related workflow, hiring team, or pipeline stages data. Required: id.
hires_get_message(id)
Get a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability. Required: id.
hires_get_note(id, include)
Get a single note with author and visibility metadata. Use include=user to load author details. Required: id.
hires_get_notification_message(id)
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. Required: id.
hires_get_nurture_campaign(id)
Get a single nurture campaign by ID with all steps and configuration details. Required: id.
hires_get_question(id)
Get a question definition including type and options by ID. Required: id.
hires_get_user(id)
Get a single user by ID within current tenant scope. Use for identity resolution in automation flows. The `default_mail_account_id` field can be used as `from_account_id` when sending emails. Required: id.
hires_get_workflow_stages(id, company_id)
Get stages for a specific workflow by ID. Equivalent to hires_list_workflow_stages with workflow_id filter. Required: id.
hires_hire_application(id, include)
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. Required: id.
hires_list_application_attachments(id)
List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs. Required: id.
hires_list_application_evaluations(id, view)
List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text. Required: id.
hires_list_application_stage_history(id)
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), moved_by_user_id, and source (what caused the transition, e.g. 'apply:indeed', 'form_watcher', 'user'; null for historical records). Use this for funnel analysis, attribution reports, and time-in-stage reports instead of paginating through /candidates/{id}/activities when only stage data is needed. Required: id.
hires_list_applications(page, size, sort, job_id, status, include, stage_id, company_id, ai_score_max, ai_score_min, candidate_id, created_after, updated_after)
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 data); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. Each application embeds its current `stage` (IdName) directly in the response — this is sufficient for rendering kanban/pipeline views; you DO NOT need to call hires_get_job to fetch workflow_stages separately when rendering a pipeline.
hires_list_boards
List available publishing boards with metadata. Use for distribution setup and board selection.
hires_list_candidate_activities(id, page, size, view, since, until, event_type)
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 with error_code=response_too_large and retry hints. Required: id.
hires_list_candidate_files(id)
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; avoid include=text_content on candidates with many files — it adds parsed resume text per file which can exceed the response budget. Required: id.
hires_list_candidate_interviews(id, page, size)
List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection. Required: id.
hires_list_candidate_messages(id, page, size, view, is_scheduled)
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 retry hints. Required: id.
hires_list_candidate_tags(id)
List all tags assigned to a candidate. Useful for segmentation and audience-based automations. Required: id.
hires_list_candidates(q, page, size, view, email, job_id, include, linkedin, stage_id, full_name, company_id, created_after, updated_after)
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 the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_candidate.
hires_list_career_jobs(city, page, size, country, company_slug, department_id, employment_type_id)
List publicly visible jobs for a company career site. Supports filtering by department, employment type, city, and country. Use to power a custom careers page. Required: company_slug.
hires_list_categories
List global job categories. Use for job classification and consistent taxonomy mapping.
hires_list_companies(page, size)
List partner-accessible companies with pagination. Use for tenant discovery and management panels.
hires_list_company_id_mail_accounts(id, page, size)
List all mail accounts for all users in a specific company. The company must be accessible (own company or a client). Required: id.
hires_list_company_mail_accounts(page, size)
List all mail accounts for all users in the current company. Use to resolve `from_account_id` before creating scheduled emails.
hires_list_departments(company_id)
List departments for the company. Use for job organization filters and reporting dimensions.
hires_list_education_levels
List education level taxonomy values. Useful for job requirements and structured matching.
hires_list_email_templates(page, size, view, company_id)
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 retry hints — reduce size or fetch a single template via hires_get_email_template.
hires_list_employment_types
List supported employment types (full-time, part-time, contract, etc.). Use for validation and normalization.
hires_list_experience_levels
List experience level taxonomy values for role seniority modeling.
hires_list_forms(page, size, view, company_id)
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.
hires_list_hiring_team(id)
List users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling. Required: id.
hires_list_interviews(date, page, size, job_id, include, company_id, candidate_id, created_after, updated_after, application_id, interviewer_user_id)
List interviews with optional filters by job, application, candidate, interviewer, date, or timestamps for incremental sync. Returns paginated results. **Always pass `include=candidate`** when surfacing results in the agenda widget — without it, the widget can only show candidate IDs and cannot link cards to candidate profiles. Avoid include=job on large pages (embeds full job description per interview); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
hires_list_job_boards(id)
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. Required: id.
hires_list_job_webhooks(id)
List webhooks configured for job-level events. Use to audit subscriptions and deployment state. Required: id.
hires_list_jobs(q, page, size, view, status, include, company_id, department_id, updated_after, created_at_end, created_at_start)
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 response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_job.
hires_list_messages(page, size, view, status, date_to, date_from, from_account_id)
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 full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. Required: from_account_id.
hires_list_notes(page, size, view, include, candidate_id)
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_large and retry hints. Required: candidate_id.
hires_list_nurture_campaigns(page, size, company_id)
List nurture campaigns with pagination. Returns campaign summaries including steps.
hires_list_origins
List candidate origin taxonomy values. Use for attribution analytics and source normalization.
hires_list_question_types
List available question types supported by the platform. Use to drive dynamic form builders.
hires_list_questions(page, size, company_id)
List paginated question catalog for the company.
hires_list_rejection_reasons(company_id)
List configured rejection reasons for the company. Use to validate rejection actions and analytics.
hires_list_sources(company_id)
List candidate sources for the company. Use for attribution sync and reporting consistency.
hires_list_statuses
List job status labels (draft, published, on_hold, closed, archived). Cache to validate job status updates.
hires_list_tags(company_id)
List all tags for the company. Returns paginated results. Recommended to cache for fast tagging UX.
hires_list_template_placeholders(q, page, size, type, company_id, is_notification)
List available placeholders for email templates with pagination. Use `type` to filter by category, `q` to search by label. Discover placeholders here, then use hires_prepare_template_placeholders to get an HTML tag for insertion.
hires_list_user_mail_accounts(id, page, size)
List mail accounts connected to a user. Use to resolve `from_account_id` before creating scheduled emails via POST /candidates/{id}/messages. Required: id.
hires_list_users(page, size, company_id)
List users for the target company with role context. Returns paginated results useful for access reviews and hiring-team management.
hires_list_webhooks(id)
List webhook subscriptions configured at company scope. Required: id.
hires_list_workflow_stages(job_id, company_id, workflow_id)
List pipeline stages filtered by workflow or job. Useful for transition UIs and workflow validation.
hires_list_workflows(company_id)
List workflows with embedded stages for the company. Use to build stage-aware integrations and routing rules.
hires_move_application(id, include, stage_id)
Moves an application to a specific pipeline stage for explicit stage transitions in workflow orchestration. Requires the target stage_id (available via the job's pipeline_stages). Required: id, stage_id.
hires_patch_message(cc, id, to, bcc, body, subject, scheduled_at, from_account_id, reply_to_email_id, send_in_new_thread)
Partially update a scheduled message before send time. Only provided fields are changed. Required: id.
hires_prepare_template_placeholders(type, identifier, job_variable_id, form_question_id, system_column_title, qas_profile_question_id)
Convert a placeholder reference into an HTML tag for insertion into an email template body. Required: type.
hires_publish_to_job_board(id, boards)
Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows. Required: id.
hires_reject_application(id, include, rejection_reason_id, suppress_notification)
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. Required: id.
hires_remove_candidate_tag(id, tag)
Remove a specific tag from a candidate. Required: id, tag.
hires_remove_from_job_board(id, boards)
Deactivate selected board publications for a job. Stops the job from being listed on specified boards. Required: id.
hires_restore_company(id)
Restore a previously deleted company and re-enable it for active use — its public career site comes back online. Use for recovery and rollback scenarios. Required: id.
hires_rotate_job_webhook_secret(id, webhook_id)
Rotate a job webhook's signing secret (zero-downtime). Returns the new signing_secret once; the previous secret stays valid for a grace window so deliveries are not dropped while you switch over. Required: id, webhook_id.
hires_rotate_webhook_secret(id, webhook_id)
Rotate a company webhook's signing secret (zero-downtime). Returns the new signing_secret once; the previous secret stays valid for a grace window so deliveries are not dropped while you switch over. Required: id, webhook_id.
hires_send_candidate_message(cc, id, to, bcc, body, subject, scheduled_at, application_id, from_account_id, reply_to_email_id, send_in_new_thread)
Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation. Required: id, to, subject, body.
hires_set_job_status(id, status, include)
Change job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation workflows. Required: id, status.
hires_submit_career_application(email, phone, job_id, resume, source, answers, last_name, first_name, company_slug, linkedin_url)
Submit a job application on behalf of a candidate. Creates a candidate record and triggers the career-site pipeline automation. Required: company_slug, job_id, first_name, last_name, email.
hires_submit_feedback(context, endpoint, issue_type, description, suggested_improvement)
Submit structured API feedback about missing features, issues, or workflow improvements. Rate limited to 5 requests per hour. Required: description.
hires_transfer_application(id, job_id, include, stage_id)
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. Required: id, job_id.
hires_unreject_application(id, include)
Undo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared. Required: id.
hires_update_application(cv, id, include, stage_id, is_disqualified)
Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application. Required: id.
hires_update_candidate(id, city, email, phone, state, job_id, country, profile, stage_id, timezone, last_name, first_name, resume_text)
Update candidate fields, profile answers, and optional resume text. Used for bi-directional sync from ATS, CRM, sourcing, or enrichment tools. When the user provides an attached resume, parse it yourself from chat context and pass via resume_text — do not inline binary data. Required: id.
hires_update_company(id, url, logo, name, website, company_owner_name, is_staffing_agency, company_owner_email, company_owner_phone)
Update company profile, owner contact data, and optional logo — changes the tenant's public career-site URL (slug), name, and logo (public branding). Supports partner-operated account management. Required: id.
hires_update_email_template(id, body, name, subject)
Update an existing email template. Only provided fields are overwritten; omitted fields keep their current values. To add placeholders, use the same workflow as creation. Required: id.
hires_update_form(id, name, questions)
Update form name and question composition. Required: id, name.
hires_update_form_question(status, form_id, question_id)
Update the status (required/optional/hidden) of a question inside a form. Required: form_id, question_id, status.
hires_update_job(id, title, status, form_id, include, is_remote, salary_max, salary_min, category_id, description, workflow_id, department_id, location_city, parent_job_id, salary_period, internal_title, location_state, internal_job_id, salary_currency, location_country, education_level_id, employment_type_id, knockout_questions, ai_scoring_criteria, experience_level_id, resume_field_status, location_postal_code, location_full_address, location_street_address)
Update mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules. Required: id.
hires_update_message(cc, id, to, bcc, body, subject, scheduled_at, from_account_id, reply_to_email_id, send_in_new_thread)
Fully update (replace) a scheduled message before send time. All required fields must be provided. Required: id, to, subject, body.
hires_update_note(id, body, include, visibility)
Update note body and/or visibility without creating a new timeline item. Use for corrections and moderation workflows. Required: id.
hires_update_notification_message(id, body, subject, scheduled_at)
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. Required: id, subject, body.
hires_update_nurture_campaign(id, steps, title, stage_id, timezone, delay_time, send_to_all, workflow_id, relative_days, relative_time, response_move_to_stage_id)
Update an existing nurture campaign. Pass all steps -- mark removed steps with is_deleted=true. Existing steps must include their id. Required: id, title, steps.
hires_update_question(id, text, type, options)
Update text, type, or options of an existing question definition. Required: id, text, type.
hires_upload_application_attachment(id, file)
Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts. Required: id, file.
hires_upload_attachment(file, category, object_id, company_id)
Upload a file and create an attachment. Supported categories: `voicemail` (wav/mp3, max 20 MB, no object_id — returned `uuid` is usable as `attachment_uuid` in nurture voicemail steps); `candidate` (candidate ID); `application` (application ID); `candidate_comment` (comment ID); `job_note` (job-note ID); `company_favicon`/`company_header`/`company_link_preview` (company ID). Object ownership is strictly verified against the authenticated API key's company. Returns `{uuid, url, file, relative_time}`. Required: category, file.
hires_upload_candidate_file(id, file)
Upload a file for a candidate using a base64 payload. Used for portfolio uploads and document attachment. WARNING: host function-call serializers (both OpenAI and Anthropic) truncate tool arguments above ~20KB, so binary files larger than that will arrive corrupted. For resumes specifically, prefer hires_create_candidate / hires_update_candidate with resume_text — the model parses the file from chat context and passes extracted text, avoiding the size limit entirely. Required: id, file.

Last successful function declaration observed on . Source: https://mcp.100hires.com/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://mcp.100hires.com/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 0 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-05-09 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 2 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 1.0.4 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-05-15 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License MIT Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-05-15 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 133 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe mcp.100hires.com
mcp endpoint status ok The server listed 133 functions when asked. as of probe mcp.100hires.com

Where to get it

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. 100Hires/mcp on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://mcp.100hires.com/mcp — mcp.100hires.com, observed , trust tier 1.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.