rolefig
Search real job openings and check job post markup, pay transparency rules and pay conversions.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"jobpad": {
"url": "https://rolefig.com/mcp"
}
}
}Remote endpoints
https://rolefig.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
🟢list_published_companies(after, limit, q)
Discover company-published profiles with search and cursor pagination. Use the returned slug with get_published_company or list_company_openings. Public company information only; no applicant data.
Input Schema
{
"type": "object",
"properties": {
"after": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"q": {
"default": "",
"type": "string",
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_published_company(slug)
Read a real company-published profile and its current published openings. Includes source and application URLs; no applicant data or application submission. Compensation text is authoritative; absent numeric pay and units are unknown.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_company_openings(slug)
Read current published openings for a known company slug, with application URLs and the publication revision. Excludes drafts and closed jobs. Never submits an application.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_jobs(query, company, arrangement, minSalary, limit, ...)
Search illustrative roles by keywords, company, work arrangement, and minimum annual USD base salary. Paginated; these are not live offers.
Input Schema
{
"type": "object",
"properties": {
"query": {
"default": "",
"type": "string",
"maxLength": 200
},
"company": {
"type": "string",
"maxLength": 160,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
},
"arrangement": {
"type": "string",
"enum": [
"Remote",
"Hybrid",
"On-site"
]
},
"minSalary": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_companies(query)
List public demo company profiles and role counts.
Input Schema
{
"type": "object",
"properties": {
"query": {
"default": "",
"type": "string",
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_job(slug)
Read a demo job description and its company profile. Applications are closed.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 160
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_company(slug)
Read an illustrative company profile and its sample roles.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 160
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢format_resume(name, headline, contact, summary, experience, ...)
Format ONLY candidate-supplied facts into resume text. Does not generate claims, save data, or submit an application. Remote use sends these fields to rolefig for formatting; omit contact details unless the candidate wants them included.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 400
},
"headline": {
"type": "string",
"maxLength": 1000
},
"contact": {
"type": "string",
"maxLength": 2000
},
"summary": {
"type": "string",
"maxLength": 8000
},
"experience": {
"type": "string",
"maxLength": 12000
},
"skills": {
"type": "string",
"maxLength": 4000
},
"education": {
"type": "string",
"maxLength": 4000
}
},
"required": [
"name",
"headline",
"contact",
"summary",
"experience",
"skills",
"education"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢convert_pay(hoursPerWeek, daysPerWeek, weeksPerYear, overtimeHours, amount, ...)
Convert one gross pay figure (USD) between hourly, daily, weekly, monthly and yearly for a stated schedule. Overtime hours are paid at 1.5x the base rate; `hour` blends base and overtime. Gross pay only: no taxes, benefits or deductions.
Input Schema
{
"type": "object",
"properties": {
"hoursPerWeek": {
"default": 40,
"type": "number",
"minimum": 1,
"maximum": 100
},
"daysPerWeek": {
"default": 5,
"type": "number",
"minimum": 1,
"maximum": 7
},
"weeksPerYear": {
"default": 52,
"type": "number",
"minimum": 1,
"maximum": 52
},
"overtimeHours": {
"default": 0,
"type": "number",
"minimum": 0,
"maximum": 60
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"unit": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month",
"year"
]
}
},
"required": [
"amount",
"unit"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_pay_transparency(text, state, place, employees, remote)
Check a US job post against state and city pay-range posting laws (table checked 2026-10-05) for the job's state, optional city or county, total employer size and remote status. Returns the laws that may apply, what the post shows (pay range, benefits, other compensation, deadline), what may be missing, and official sources. Plain-language checks, not legal advice.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"state": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"place": {
"type": "string",
"maxLength": 120
},
"employees": {
"type": "integer",
"minimum": 1,
"maximum": 10000000
},
"remote": {
"default": false,
"type": "boolean"
}
},
"required": [
"text",
"state",
"employees"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_job_posting(html, url)
Check a job post's schema.org JobPosting markup against Google's job search rules. Returns blocking errors, recommended fixes and a summary per posting, never the page itself. Pass the page HTML or JSON-LD as `html`, or a public page address as `url`.
Input Schema
{
"type": "object",
"properties": {
"html": {
"type": "string",
"maxLength": 500000
},
"url": {
"type": "string",
"maxLength": 2048
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence