rolefig
by rolefig.com · remote · no sign-in to list tools · v0.9.0 · published by com.rolefig
Search real job openings, check job posts and pay rules, and prepare California offer letters.
14 tools: 2 do something that can't be undone, 3 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things3Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http rolefig https://rolefig.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnconvert_pay
The server marks "convert_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_pay" says "convert": a word for a change.
The server marks "check_pay_transparency" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_pay_transparency" says "pay": a word that usually means money moves, which cannot be taken back.
- Warnrender_contract
The server marks "render_contract" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "fill": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
14 tools
Can't be undone 2Claude Code: ask
check_pay_transparencyCheck 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.1 finding
Why it is in this group
- The name "check_pay_transparency" says "pay": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "check_pay_transparency" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "check_pay_transparency" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
convert_payConvert one gross pay figure (USD) between hourly, daily, weekly, monthly and yearly for a stated schedule.1 finding
Why it is in this group
- The name "convert_pay" says "convert": a word for a change.
- The name "convert_pay" also says "pay": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "convert_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_pay" says "convert": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 3Claude Code: ask
check_job_postingCheck a job post's schema.org JobPosting markup against Google's job search rules.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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`.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
format_resumeFormat ONLY candidate-supplied facts into resume text.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
render_contractFill rolefig's California starter offer letter and pay plan (commission, salary with bonus, or hourly) from values the employer confirmed, or fill the employer's own contract throu…1 finding
Why it is in this group
- The description's first verb is "fill": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "render_contract" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "fill": a word for a change.
Description, as the server wrote it Fill rolefig's California starter offer letter and pay plan (commission, salary with bonus, or hourly) from values the employer confirmed, or fill the employer's own contract through {{placeholders}}. Returns the document text, best-effort warnings (wage table checked 2026-10-06), the workspace's Compensation and Offer terms texts, and an ATS offer object once the candidate, start date and expiry are set. Use only confirmed values and never invent terms. Not legal advice. Remote use sends these values to rolefig to fill the template; nothing is stored.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 9Claude Code: allow
demo_get_companyDemo catalog: illustrative roles, applications closed.No findings
Why it is in this group
- The name "demo_get_company" says "get": a word for reading.
Description, as the server wrote it Demo catalog: illustrative roles, applications closed. Read a sample company profile and its roles.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
demo_get_jobDemo catalog: illustrative roles, applications closed.No findings
Why it is in this group
- The name "demo_get_job" says "get": a word for reading.
Description, as the server wrote it Demo catalog: illustrative roles, applications closed. Read a sample role and its company profile.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
demo_list_companiesDemo catalog: illustrative roles, applications closed.No findings
Why it is in this group
- The name "demo_list_companies" says "list": a word for reading.
Description, as the server wrote it Demo catalog: illustrative roles, applications closed. List the sample companies and their role counts.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
demo_search_jobsDemo catalog: illustrative roles, applications closed.No findings
Why it is in this group
- The name "demo_search_jobs" says "search": a word for reading.
Description, as the server wrote it Demo catalog: illustrative roles, applications closed. Search the sample roles by keywords, company, work arrangement and minimum annual USD base salary. For real openings use search_jobs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_jobRead one current published opening in full, with its company profile, the company's application URL and its rolefig page.No findings
Why it is in this group
- The name "get_job" says "get": a word for reading.
Description, as the server wrote it Read one current published opening in full, with its company profile, the company's application URL and its rolefig page. Use the company and job slugs from search_jobs. Compensation text is authoritative; absent numeric pay and units are unknown. Never submits an application.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_published_companyRead a real company-published profile and its current published openings.No findings
Why it is in this group
- The name "get_published_company" says "get": a word for reading.
Description, as the server wrote it Read a real company-published profile and its current published openings. Includes the company's stated facts (social profiles, headquarters, size, founding year, benefits, workplace policy, hiring process), how rolefig verified it, and source and application URLs; no applicant data or application submission. Compensation text is authoritative; absent numeric pay and units are unknown.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_company_openingsRead current published openings for a known company slug, with application URLs and the publication revision.No findings
Why it is in this group
- The name "list_company_openings" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_published_companiesDiscover company-published profiles with search and cursor pagination.No findings
Why it is in this group
- The name "list_published_companies" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_jobsSearch current openings that companies publish on rolefig, across every company.No findings
Why it is in this group
- The name "search_jobs" says "search": a word for reading.
Description, as the server wrote it Search current openings that companies publish on rolefig, across every company. Filter by keywords (q), workplace, employment type, country (ISO code), region (a code such as CA), company slug, postedWithin (7 or 30 days) and minPay (minimum annual USD); sort by newest or pay. For the next page, repeat the search with nextCursor as after. Each opening has the company's application URL and its rolefig page; rolefig never submits applications.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.9.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http rolefig https://rolefig.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__rolefig__search_jobs",
"mcp__rolefig__list_published_companies",
"mcp__rolefig__get_job",
"mcp__rolefig__get_published_company",
"mcp__rolefig__list_company_openings",
"mcp__rolefig__demo_search_jobs",
"mcp__rolefig__demo_list_companies",
"mcp__rolefig__demo_get_job",
"mcp__rolefig__demo_get_company"
],
"ask": [
"mcp__rolefig__format_resume",
"mcp__rolefig__convert_pay",
"mcp__rolefig__check_pay_transparency",
"mcp__rolefig__check_job_posting",
"mcp__rolefig__render_contract"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as rolefig. Review it before you use it.