Skip to main content
Glama
Workforce-Cloud-Tech

Recruit CRM MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RECRUITCRM_BASE_URLNoBase URL for the Recruit CRM APIhttps://api.recruitcrm.io/v1
RECRUITCRM_API_TOKENYesYour Recruit CRM API token
RECRUITCRM_TIMEOUT_MSNoTimeout in milliseconds for API requests10000
RECRUITCRM_DEBUG_SCHEMA_ERRORSNoEnable debug schema error loggingfalse

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_candidatesA

Search Recruit CRM candidates and return compact summaries designed for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. Returns candidate slug values that can be used with get_candidate_details or to open Recruit CRM app links like https://app.recruitcrm.io/candidate/{slug}.

list_candidatesA

Lists all candidates in the account, most-recently updated first. Returns compact summaries with slug values for candidate detail lookup. Use search_candidates for filtered queries.

create_candidateA

Creates one Recruit CRM candidate, then optionally creates up to 10 work history rows and 10 education history rows. Requires at least one of first_name or last_name, plus owner_id and created_by. Checks duplicates by email, contact_number, or linkedin unless allow_duplicate=true; duplicate errors include candidate_slug and candidate_id when available. Resolve user IDs with list_users, currency_id with list_currencies, language_skills with list_languages_and_proficiencies, company slugs with search_companies, and custom field IDs with list_custom_fields. The resume field accepts a publicly accessible HTTPS direct download URL or a base64-encoded file string. File-type custom fields accept a direct download URL only. Returns a compact summary with the candidate slug and partial-success details for history operations.

update_candidateA

Updates one existing Recruit CRM candidate by candidate_slug, then optionally creates up to 10 work history rows and 10 education history rows. Requires candidate_slug, updated_by, and at least one of first_name or last_name. Resolve user IDs with list_users, currency_id with list_currencies, language_skills with list_languages_and_proficiencies, company slugs with search_companies, and custom field IDs with list_custom_fields. The resume field accepts a publicly accessible HTTPS direct download URL or a base64-encoded file string. File-type custom fields accept a direct download URL only. Returns a compact summary with the candidate slug and partial-success details for history operations.

search_jobsA

Search Recruit CRM jobs and return compact summaries designed for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. Returns slug, company_slug, contact_slug, and hiring_pipeline_id values; use hiring_pipeline_id with list_candidate_hiring_stages for job-specific stage lookup. Slugs can be used to open Recruit CRM app URLs like https://app.recruitcrm.io/job/{slug}, https://app.recruitcrm.io/company/{company_slug}, and https://app.recruitcrm.io/contact/{contact_slug}.

list_jobsA

Lists all jobs in the account, most-recently updated first. Returns compact summaries with slug, company_slug, contact_slug, and hiring_pipeline_id. Use search_jobs for filtered queries; use hiring_pipeline_id with list_candidate_hiring_stages for job-specific stage lookup.

create_jobA

Creates one Recruit CRM job. Requires name, company_slug, contact_slug, enable_job_application_form, owner_id, and created_by. job_description_text and currency_id are optional per live API verification. Use list_users for user IDs, search_companies or list_companies for company slugs, search_contacts or list_contacts for contact slugs, list_job_statuses for job status IDs, list_currencies for currency_id, list_qualifications for qualification_id, list_teams for collaborator_team_ids, list_candidate_questions for job_questions, list_xml_jobboards for xml_feeds, list_hiring_pipelines for hiring_pipeline_id, and list_custom_fields for entity_type=jobs. Defaults enable_auto_populate_teams to true and show_company_logo to 2. Returns a compact summary with the job slug.

update_jobA

Updates one existing Recruit CRM job by job_slug. Requires job_slug, updated_by, and at least one field to update. Use list_users for user IDs, search_companies or list_companies for company slugs, search_contacts or list_contacts for contact slugs, list_job_statuses for job status IDs, list_currencies for currency_id, list_qualifications for qualification_id, list_teams for collaborator_team_ids, list_candidate_questions for job_questions, list_xml_jobboards for xml_feeds, list_hiring_pipelines for hiring_pipeline_id, and list_custom_fields for entity_type=jobs. Returns a compact summary with the job slug.

search_companiesA

Search Recruit CRM companies and return compact summaries designed for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. Returns company slug values for Recruit CRM company links like https://app.recruitcrm.io/company/{slug} and contact_slugs values for contact links like https://app.recruitcrm.io/contact/{contact_slug}.

list_companiesA

Lists all companies in the account, most-recently updated first. Returns compact summaries with slug and contact_slugs values. Use search_companies for filtered queries.

create_companyA

Creates one Recruit CRM company. Requires company_name, owner_id, and created_by. Checks duplicates by company_name unless allow_duplicate=true. Resolve user IDs with list_users and custom field IDs with list_custom_fields for entity_type=companies. Returns a compact summary with the company slug.

update_companyA

Updates one existing Recruit CRM company by company_slug. Requires company_slug and updated_by. Resolve user IDs with list_users and custom field IDs with list_custom_fields for entity_type=companies. Returns a compact summary with the company slug.

search_contactsA

Search Recruit CRM contacts with filters and return compact summaries for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. At least one real filter is required; sort_by, sort_order, page, exact_search, and include_contact_info do not count independently.

list_contactsA

Lists all contacts in the account, most-recently updated first. Returns compact summaries with slug values for contact detail lookup. Use search_contacts for filtered queries.

create_contactA

Creates one Recruit CRM contact. Requires first_name, last_name, owner_id, and created_by. Resolve user IDs with list_users, company slugs with search_companies or list_companies, stage IDs with list_contact_stages, and custom field IDs with list_custom_fields for entity_type=contacts. Returns a compact summary with the contact slug.

update_contactA

Updates one existing Recruit CRM contact by contact_slug. Requires contact_slug and at least one field to update. Resolve user IDs with list_users, company slugs with search_companies or list_companies, stage IDs with list_contact_stages, and custom field IDs with list_custom_fields for entity_type=contacts. Returns a compact summary with the contact slug.

list_usersA

Lists all Recruit CRM users and returns compact summaries of each user's id, first_name, last_name, and status. User IDs from this tool are used as owner_id, created_by, updated_by, attendee_users, and collaborator_user_ids on candidates, jobs, companies, contacts, tasks, meetings, notes, and call logs. Enable include_teams to include team memberships per user; enable include_contact_info to also include email and contact_number. Returns all users in a single response with no pagination.

list_teamsA

Lists Recruit CRM teams with MCP-side pagination. By default returns team IDs, names, and user IDs. Pass expand=user to return user summaries; include_user_contact_info=true adds user email, contact_number, and avatar.

list_candidate_questionsA

Lists Recruit CRM candidate questions with MCP-side pagination. Returns compact id and question rows for resolving candidate question IDs.

list_hiring_pipelinesA

Lists Recruit CRM hiring pipelines with MCP-side pagination. Returns hiring_pipeline_id and name rows for selecting a job hiring pipeline or listing candidate hiring stages.

list_languages_and_proficienciesA

Lists Recruit CRM languages with MCP-side pagination and returns the standard proficiency IDs. Use language_id and proficiency_id for candidate language_skills.

list_currenciesA

Lists Recruit CRM currencies with MCP-side pagination. Returns currency_id, code, country, currency, and symbol rows for candidate and job currency_id fields.

list_qualificationsA

Lists Recruit CRM qualifications with MCP-side pagination. Returns qualification_id and label rows for job qualification_id fields.

list_xml_jobboardsA

Lists Recruit CRM XML job boards for jobs. Returns default_xml_feeds and custom_xml_feeds rows with id and label for job xml_feeds.

search_hotlistsA

Search Recruit CRM hotlists by related_to_type and optional name/shared filters. related_to_type is required. Does not support owner filtering. Broad searches return compact hotlist summaries with related_count only. When name is provided, results also include related_slugs for follow-up workflows.

create_hotlistA

Creates one Recruit CRM hotlist. Requires name, related_to_type, shared (true for team-shared, false for private), and created_by user id. Resolve user IDs with list_users.

add_records_to_hotlistA

Adds up to 10 Recruit CRM record slugs to an existing hotlist. Duplicate input slugs are ignored. Returns partial-success details with added_slugs and an errors array for any failed additions.

search_tasksA

Search Recruit CRM tasks and return compact summaries designed for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. Returns related_to and related_to_type values that can be used to open related entities in Recruit CRM app URLs like https://app.recruitcrm.io/{related_to_type}/{related_to}.

list_task_typesA

Lists Recruit CRM task types, returning compact id/label rows. Use task_type_id in create_task.

create_taskA

Creates one Recruit CRM task. Requires task_type_id, title, description, reminder, start_date, owner_id, and created_by. Resolve task type IDs with list_task_types and user IDs with list_users. Description supports basic HTML/rich text. Returns a compact task summary.

update_taskA

Updates one existing Recruit CRM task by task_id. Requires task_id, updated_by, and at least one field to update. Resolve task type IDs with list_task_types and user IDs with list_users. Description supports basic HTML/rich text. Returns a compact task summary.

search_meetingsA

Search Recruit CRM meetings and return compact summaries designed for large result sets. Filter by owner_id to scope results to a specific user; resolve user IDs with list_users. Returns related_to and related_to_type values that can be used to open related entities in Recruit CRM app URLs like https://app.recruitcrm.io/{related_to_type}/{related_to}.

list_meeting_typesA

Lists Recruit CRM meeting types, returning compact id/label rows. Use meeting_type_id in create_meeting.

create_meetingA

Creates one Recruit CRM meeting. Requires title, reminder, start_date, end_date, owner_id, and created_by. Resolve meeting type IDs with list_meeting_types and user IDs with list_users. Calendar invites are not sent by default; set do_not_send_calendar_invites to false to send external calendar invites to attendees. Returns a compact meeting summary.

update_meetingA

Updates one existing Recruit CRM meeting by meeting_id. Requires meeting_id, updated_by, and at least one field to update. Resolve meeting type IDs with list_meeting_types and user IDs with list_users. Calendar invites are not sent by default; set do_not_send_calendar_invites to false to send external calendar invites to attendees. Returns a compact meeting summary.

search_notesA

Search Recruit CRM notes and return compact summaries designed for large result sets. Does not support owner filtering. Returns related_to and related_to_type values that can be used to open related entities in Recruit CRM app URLs like https://app.recruitcrm.io/{related_to_type}/{related_to}.

list_note_typesA

Lists Recruit CRM note types, returning compact id/label rows. Use note_type_id in create_note.

create_noteA

Creates one Recruit CRM note. Requires note_type_id, description, related_to, related_to_type, and created_by user id. Resolve note type IDs with list_note_types and user IDs with list_users. Description supports basic HTML/rich text. Returns a compact note summary.

update_noteA

Updates one existing Recruit CRM note by note_id. Requires note_id, updated_by, and at least one field to update. Resolve note type IDs with list_note_types and user IDs with list_users. Description supports basic HTML/rich text. Returns a compact note summary.

search_call_logsA

Search Recruit CRM call logs and return compact summaries designed for large result sets. Does not support owner filtering. Returns related_to and related_to_type values that can be used to open related entities in Recruit CRM app URLs like https://app.recruitcrm.io/{related_to_type}/{related_to}.

list_call_typesA

Lists Recruit CRM custom call types, returning compact id/label rows. Use custom_call_type_id in create_call_log.

create_call_logA

Creates one Recruit CRM call log. Requires call_type, custom_call_type_id, call_started_on, related_to_type, created_by, and updated_by. Resolve call type IDs with list_call_types and user IDs with list_users. related_to_type must be candidate, contact, or company. Returns a compact call log summary with duration in seconds.

update_call_logA

Updates one existing Recruit CRM call log by call_log_id. Requires call_log_id, updated_by, and at least one field to update. Resolve call type IDs with list_call_types and user IDs with list_users. related_to_type must be candidate, contact, or company. Returns a compact call log summary with duration in seconds.

get_candidate_detailsA

Fetches full details for up to 10 candidates in parallel by slug. Suitable for retrieving specific candidate records after slug resolution from search_candidates. Not intended for bulk database scans. Returns partial results: failures are reported in the errors array with status_code.

get_job_detailsA

Fetches full details for up to 10 Recruit CRM jobs in parallel by slug. Suitable for retrieving specific job records after slug resolution from search_jobs. Returns full Recruit CRM job payloads with partial results: failures are reported in the errors array with status_code.

get_company_detailsA

Fetches full details for up to 10 companies in parallel by slug. Suitable for retrieving specific company records after slug resolution from search_companies. Not intended for bulk database scans. Returns partial results: failures are reported in the errors array with status_code.

get_contact_detailsA

Fetches full details for up to 10 contacts in parallel by slug. Suitable for retrieving specific contact records after slug resolution from search_contacts. Not intended for bulk database scans. Returns partial results: failures are reported in the errors array with status_code.

get_job_assigned_candidatesA

Fetches assigned candidates for one Recruit CRM job and returns compact assignment summaries. Filter by status_id to narrow to a specific hiring stage; resolve stage IDs with list_candidate_hiring_stages (use the job's hiring_pipeline_id for job-specific stages, or 0 for global stages). Returns candidate_slug values for Recruit CRM candidate links like https://app.recruitcrm.io/candidate/{candidate_slug}.

list_candidate_hiring_stagesA

Lists Recruit CRM candidate hiring stages for a hiring pipeline, returning compact stage rows for resolving labels to stage IDs. Pass hiring_pipeline_id 0 (default) for the Master Hiring Pipeline; for job-specific stages, use the hiring_pipeline_id returned by search_jobs or list_jobs. Stage IDs are used by get_job_assigned_candidates.status_id and update_candidate_hiring_stage.status_id.

list_pitch_stagesA

Lists Recruit CRM pitch pipeline stages with status_id and label values for resolving stage names used by update_candidate_pitch_stage.

pitch_candidate_to_contactA

Marks one Recruit CRM candidate as pitched to one contact. Requires candidate_slug, contact_slug, and created_by. Checks existing candidate/contact pitch records unless allow_duplicate=true. This records the pitch in Recruit CRM; the API does not send an email to the candidate or contact.

update_candidate_pitch_stageA

Updates the pitch stage for one candidate/contact pitch record. Requires candidate_slug, contact_slug, status_id, stage_date, and updated_by. Resolve status_id with list_pitch_stages. remark is optional text.

get_pitch_historyA

Fetches pitch history for one Recruit CRM candidate or contact by slug. Set entity_type to candidate for candidate pitch history, or contact for contact pitch history. Returns compact pitch entries without email, phone, resume, or profile image fields.

get_pitched_recordsA

Fetches contacts where a candidate is pitched or candidates pitched to a contact. Set entity_type to candidate to return contacts for a candidate slug, or contact to return candidates for a contact slug. Returns compact records without email, phone, resume, or profile image fields.

assign_candidate_to_jobA

Assigns one Recruit CRM candidate to one job at the default Assigned hiring stage. Requires candidate_slug, job_slug, and updated_by. Does not support remarks, explicit stage selection, stage_date, or create_placement; use update_candidate_hiring_stage afterward when a non-default stage or remark is needed.

update_candidate_hiring_stageA

Updates one candidate's hiring stage for a specific Recruit CRM job. Requires candidate_slug, job_slug, status_id, stage_date, and updated_by. By default this only changes the hiring stage. When create_placement=true, Recruit CRM also creates a placement record in the dedicated placements section. Resolve status_id with list_candidate_hiring_stages (use hiring_pipeline_id 0 for master stages, or the job's hiring_pipeline_id for job-specific stages). remark supports basic HTML/rich text.

list_job_statusesA

Lists Recruit CRM job pipeline statuses (e.g. Open, Closed, On Hold, plus any custom statuses configured for the account). Returns compact rows with id and label for resolving a status name to the numeric job_status_id used in search_jobs.job_status.

list_contact_stagesA

Lists Recruit CRM contact pipeline stages (the sales pipeline). Returns compact rows with stage_id and label for resolving a stage name to the numeric stage_id used in create_contact and update_contact.

list_off_limit_statusesA

Lists Recruit CRM off-limit statuses configured for the account. Returns compact rows with id, label, sequence_no, and default for resolving status_id values used by the off-limit mark tools.

mark_candidate_off_limitA

Marks up to 25 Recruit CRM candidates as off-limit. Requires candidate_slugs, status_id, and end_date in DD-MM-YYYY format; reason is optional. Returns the updated slug list, status_id, end_date, reason, and API remark.

mark_contact_off_limitA

Marks up to 25 Recruit CRM contacts as off-limit. Requires contact_slugs, status_id, and end_date in DD-MM-YYYY format; reason is optional. Returns the updated slug list, status_id, end_date, reason, and API remark.

mark_company_off_limitA

Marks up to 25 Recruit CRM companies as off-limit. Requires company_slugs, status_id, end_date in DD-MM-YYYY format, mark_contact_off_limit, and mark_candidate_off_limit; reason is optional. The mark_contact_off_limit and mark_candidate_off_limit booleans control whether Recruit CRM also marks related records off-limit. Returns the updated slug list, status_id, end_date, reason, and API remark.

mark_records_availableA

Marks Recruit CRM candidates, contacts, or companies as available, which removes their off-limit state. Requires record_type and up to 25 slugs. For record_type=company, mark_contact_available and mark_candidate_available are required and control whether Recruit CRM also marks related contacts or candidates available. Returns record_type, updated slugs, requested_count, cascade flags when returned by the API, and API remark.

get_candidate_job_assignment_hiring_stage_historyA

Fetch one candidate's job assignment hiring stage history by candidate slug. Returns compact entries with job, company, stage, remark, and update metadata.

list_custom_fieldsA

List curated custom field metadata for a specific entity type (candidates, contacts, companies, jobs, deals). Returns searchable fields by default; set include_non_searchable=true to also include non-searchable types.

get_custom_field_detailsA

Fetch curated details for one custom field by field_id and entity_type, including dropdown or multiselect option values.

get_custom_field_dependenciesA

Fetches parent-child dependency relationships for custom fields of a given entity type (candidates, contacts, companies, jobs, deals). Optionally narrow to a specific field's subtree via field_id (pass the parent or child field_id). When setting a child custom field, the parent field_id and its value must also be included in the custom_fields array.

prepare_client_briefA

Prepares a client/account briefing for recruiters before a client call, client meeting, hiring-manager check-in, account review, business-development outreach, or client follow-up. Produces talking points, account health, open jobs, primary and secondary client contacts, assigned-candidate pipeline status, client-feedback blockers, candidates waiting on feedback, recent notes / meetings / tasks / call logs, pitched candidates for the contact, relationship risks, and recommended follow-ups. Inputs are exact Recruit CRM contact_slug or company_slug; display names are not accepted as slug values. Returns summaries and recommended follow-ups only.

analyze_job_pipelineA

Diagnoses a single Recruit CRM job's hiring pipeline: stage-by-stage candidate distribution, days_in_current_stage per active candidate (sourced from assignment-level stage_date — ~7 API calls), idle and at-risk candidates, bottleneck stage verdict, recent notes / meetings / tasks tied to the job, and suggested next actions. Set include_time_metrics=true to add time-to-hire, time-to-stage, and time-to-first-action metrics (fetches per-candidate history for capped active and Placed candidates, typically +25–55 extra calls). Requires a job_slug; resolve from search_jobs if only a job name is available. Candidate slugs in the response can be linked as https://app.recruitcrm.io/candidate/{candidate_slug}. Call logs are not included because the Recruit CRM API does not support filtering call logs by job.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Workforce-Cloud-Tech/mcp-recruitcrm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server