MCP Server

recruiter-roles-mcp

io.github.pcmarts/recruiter-roles-mcp
Business & Operations Public & reachable MCP 2025-11-25

What this MCP does

Searches live recruiter and talent-acquisition jobs, companies, locations, sectors, and market statistics.

get_company
Get company profile
Fetch a single company's full profile plus a paginated list of its active jobs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': "Page of the company's jobs. Default: 1."}, 'slug': {'type': 'string', 'description': "The company slug (e.g. 'robert-half')."}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Jobs per page. Default: 20, max: 100.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'jobs': {'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'salary': {'type': 'object', 'properties': {'currency': {'type': 'string'}, 'disclosed': {'type': 'boolean'}, 'max_dollars': {'type': ['number', 'null']}, 'min_dollars': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'location': {'type': 'object', 'properties': {'city': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'is_remote': {'type': 'boolean'}, 'work_arrangement': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'apply_url': {'type': ['string', 'null']}, 'posted_at': {'type': ['string', 'null']}, 'commission': {'type': 'object', 'properties': {'details': {'type': ['string', 'null']}, 'disclosed': {'type': 'boolean'}}, 'additionalProperties': False}, 'expires_at': {'type': ['string', 'null']}, 'updated_at': {'type': ['string', 'null']}, 'is_featured': {'type': 'boolean'}, 'source_type': {'type': ['string', 'null']}, 'company_name': {'type': ['string', 'null']}, 'canonical_url': {'type': 'string'}, 'billing_target': {'$ref': '#/properties/data/properties/jobs/properties/data/items/properties/commission'}, 'primary_sector': {'type': ['string', 'null']}, 'company_website': {'type': ['string', 'null']}, 'employment_type': {'type': ['string', 'null']}, 'company_logo_url': {'type': ['string', 'null']}, 'secondary_sectors': {'type': 'array', 'items': {'type': 'string'}}, 'description_excerpt': {'type': 'string'}, 'is_homepage_featured': {'type': 'boolean'}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'properties': {'page': {'type': 'number'}, 'total': {'type': 'number'}, 'per_page': {'type': 'number'}, 'next_page': {'type': ['number', 'null']}, 'prev_page': {'type': ['number', 'null']}, 'total_pages': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'logo_url': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}, 'is_verified': {'type': 'boolean'}, 'specialties': {'type': 'array', 'items': {'type': 'string'}}, 'website_url': {'type': ['string', 'null']}, 'company_type': {'type': ['string', 'null']}, 'founded_year': {'type': ['number', 'null']}, 'headquarters': {'type': 'object', 'properties': {'city': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'linkedin_url': {'type': ['string', 'null']}, 'active_job_count': {'type': 'number'}, 'employee_count_range': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_job
Get job detail
Fetch the full detail for a single job by its slug, including the complete description, requirements, benefits, tech stack, and apply contact.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The job slug (the last path segment of its URL, or the 'slug' field from search_jobs)."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'salary': {'type': 'object', 'properties': {'currency': {'type': 'string'}, 'disclosed': {'type': 'boolean'}, 'max_dollars': {'type': ['number', 'null']}, 'min_dollars': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'benefits': {'type': ['string', 'null']}, 'location': {'type': 'object', 'properties': {'city': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'is_remote': {'type': 'boolean'}, 'work_arrangement': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'apply_url': {'type': ['string', 'null']}, 'is_sticky': {'type': 'boolean'}, 'posted_at': {'type': ['string', 'null']}, 'team_size': {'anyOf': [{'type': ['string', 'number']}, {'type': 'null'}]}, 'commission': {'type': 'object', 'properties': {'details': {'type': ['string', 'null']}, 'disclosed': {'type': 'boolean'}}, 'additionalProperties': False}, 'expires_at': {'type': ['string', 'null']}, 'tech_stack': {'type': 'array', 'items': {'type': 'string'}}, 'updated_at': {'type': ['string', 'null']}, 'apply_email': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}, 'is_featured': {'type': 'boolean'}, 'source_type': {'type': ['string', 'null']}, 'company_name': {'type': ['string', 'null']}, 'requirements': {'type': ['string', 'null']}, 'canonical_url': {'type': 'string'}, 'billing_target': {'$ref': '#/properties/data/properties/commission'}, 'primary_sector': {'type': ['string', 'null']}, 'company_website': {'type': ['string', 'null']}, 'employment_type': {'type': ['string', 'null']}, 'company_logo_url': {'type': ['string', 'null']}, 'secondary_sectors': {'type': 'array', 'items': {'type': 'string'}}, 'is_homepage_featured': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_companies
List recruiting companies
Browse the directory of recruiting companies and agencies with their active job counts. Filter by name, company type, or HQ country.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Search company name.'}, 'page': {'type': 'integer', 'minimum': 1, 'description': 'Page number. Default: 1.'}, 'sort': {'enum': ['job_count', 'name', 'recent'], 'type': 'string', 'description': 'Sort order. Default: job_count.'}, 'country': {'type': 'string', 'description': "HQ country code (e.g. 'US', 'GB')."}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page. Default: 20, max: 100.'}, 'company_type': {'enum': ['staffing_agency', 'executive_search', 'boutique_firm', 'corporate_inhouse', 'rpo', 'other'], 'type': 'string', 'description': 'Company type filter.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'logo_url': {'type': ['string', 'null']}, 'description': {'type': ['string', 'null']}, 'is_verified': {'type': 'boolean'}, 'specialties': {'type': 'array', 'items': {'type': 'string'}}, 'website_url': {'type': ['string', 'null']}, 'company_type': {'type': ['string', 'null']}, 'founded_year': {'type': ['number', 'null']}, 'headquarters': {'type': 'object', 'properties': {'city': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'linkedin_url': {'type': ['string', 'null']}, 'active_job_count': {'type': 'number'}, 'employee_count_range': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'properties': {'page': {'type': 'number'}, 'total': {'type': 'number'}, 'per_page': {'type': 'number'}, 'next_page': {'type': ['number', 'null']}, 'prev_page': {'type': ['number', 'null']}, 'total_pages': {'type': 'number'}}, 'additionalProperties': False}, 'response_generated_at': {'type': 'string'}}, 'additionalProperties': False}
list_locations
List locations
List the location hierarchy (countries, regions, or cities) with active job counts. Use the returned codes/slugs for the 'state' and 'city' filters in search_jobs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'level': {'enum': ['countries', 'regions', 'cities'], 'type': 'string', 'description': 'Hierarchy level to return. Default: countries.'}, 'region': {'type': 'string', 'description': "Filter cities by region code (e.g. 'TX'). Use with level=cities."}, 'country': {'type': 'string', 'description': "Filter by country code (e.g. 'US', 'GB')."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': True}}, 'response_generated_at': {'type': 'string'}}, 'additionalProperties': False}
list_sectors
List sectors
List all recruiting sectors with their current active job counts. Use the returned slugs for the 'sector' filter in search_jobs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'job_count': {'type': 'number'}}, 'additionalProperties': False}}, 'response_generated_at': {'type': 'string'}}, 'additionalProperties': False}
market_stats
Recruiter job market stats
Aggregate market overview: total active jobs, posting velocity (24h / 7d), and breakdowns by sector, employment type, work arrangement, and country.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data'], 'properties': {'data': {'type': 'object', 'properties': {'by_sector': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'top_countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}, 'additionalProperties': False}}, 'jobs_posted_7d': {'type': 'number'}, 'jobs_posted_24h': {'type': 'number'}, 'total_active_jobs': {'type': 'number'}, 'by_employment_type': {'type': 'object', 'additionalProperties': {'type': 'number'}}, 'by_work_arrangement': {'type': 'object', 'additionalProperties': {'type': 'number'}}}, 'additionalProperties': False}, 'response_generated_at': {'type': 'string'}}, 'additionalProperties': False}
search_jobs
Search recruiter jobs
Search live recruiter and talent-acquisition job listings on Recruiter Roles. Supports full-text search and filtering by sector, location, employment type, work arrangement, salary, and recency. Returns a paginated list with salary, company, location, and a tracked apply URL.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Full-text search across job title and company name.'}, 'city': {'type': 'string', 'description': "City slug, comma-separated (e.g. 'dallas-tx')."}, 'page': {'type': 'integer', 'minimum': 1, 'description': 'Page number. Default: 1.'}, 'sort': {'enum': ['recent', 'salary_desc'], 'type': 'string', 'description': 'Sort order. Default: recent.'}, 'state': {'type': 'string', 'description': "State/region code, comma-separated (e.g. 'TX,NY,BC'). Use list_locations for codes."}, 'sector': {'type': 'string', 'description': "Sector slug, comma-separated for multiple (e.g. 'technology,financial-services'). Use list_sectors for valid slugs."}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page. Default: 20, max: 100.'}, 'is_remote': {'type': 'boolean', 'description': 'Shorthand for work_arrangement=remote.'}, 'salary_min': {'type': 'integer', 'description': 'Minimum salary in USD. Only returns jobs with a disclosed salary at or above this.'}, 'source_type': {'enum': ['direct', 'scraped'], 'type': 'string', 'description': "'direct' = employer-posted, 'scraped' = aggregated."}, 'posted_since': {'type': 'string', 'description': 'ISO date â\x80\x94 jobs posted on or after this date.'}, 'updated_since': {'type': 'string', 'description': 'ISO datetime â\x80\x94 for incremental sync; jobs updated on or after this.'}, 'employment_type': {'enum': ['full_time', 'part_time', 'contract', 'freelance'], 'type': 'string', 'description': 'Employment type filter.'}, 'salary_disclosed': {'type': 'boolean', 'description': 'true = only jobs with a disclosed salary; false = only undisclosed.'}, 'work_arrangement': {'enum': ['on_site', 'hybrid', 'remote'], 'type': 'string', 'description': 'Work arrangement filter.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'salary': {'type': 'object', 'properties': {'currency': {'type': 'string'}, 'disclosed': {'type': 'boolean'}, 'max_dollars': {'type': ['number', 'null']}, 'min_dollars': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'location': {'type': 'object', 'properties': {'city': {'type': ['string', 'null']}, 'state': {'type': ['string', 'null']}, 'is_remote': {'type': 'boolean'}, 'work_arrangement': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'apply_url': {'type': ['string', 'null']}, 'posted_at': {'type': ['string', 'null']}, 'commission': {'type': 'object', 'properties': {'details': {'type': ['string', 'null']}, 'disclosed': {'type': 'boolean'}}, 'additionalProperties': False}, 'expires_at': {'type': ['string', 'null']}, 'updated_at': {'type': ['string', 'null']}, 'is_featured': {'type': 'boolean'}, 'source_type': {'type': ['string', 'null']}, 'company_name': {'type': ['string', 'null']}, 'canonical_url': {'type': 'string'}, 'billing_target': {'$ref': '#/properties/data/items/properties/commission'}, 'primary_sector': {'type': ['string', 'null']}, 'company_website': {'type': ['string', 'null']}, 'employment_type': {'type': ['string', 'null']}, 'company_logo_url': {'type': ['string', 'null']}, 'secondary_sectors': {'type': 'array', 'items': {'type': 'string'}}, 'description_excerpt': {'type': 'string'}, 'is_homepage_featured': {'type': 'boolean'}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'properties': {'page': {'type': 'number'}, 'total': {'type': 'number'}, 'per_page': {'type': 'number'}, 'next_page': {'type': ['number', 'null']}, 'prev_page': {'type': ['number', 'null']}, 'total_pages': {'type': 'number'}}, 'additionalProperties': False}, 'response_generated_at': {'type': 'string'}}, 'additionalProperties': False}
Added
market_stats
Sept. 17, 2026, 12:45 p.m.
Added
list_locations
Sept. 17, 2026, 12:45 p.m.
Added
list_sectors
Sept. 17, 2026, 12:45 p.m.
Added
get_company
Sept. 17, 2026, 12:45 p.m.
Added
list_companies
Sept. 17, 2026, 12:45 p.m.
Added
get_job
Sept. 17, 2026, 12:45 p.m.
Added
search_jobs
Sept. 17, 2026, 12:45 p.m.