Skip to content

TeamPredict HR Calculators

ai.teampredict/hr-calculatorsteampredict.aistreamable-httpv1.0.0Scanned

HR, payroll and date calculators: turnover, eNPS, US take-home pay, bonus tax, overtime. No key.

22 tools: 2 do something that can't be undone, 16 change things and 4 only read.

Tools: 0 delete, 2 irreversible, 16 write, 4 read.
  • Reads private data · 1
  • Reads text others write · 0
  • Can send data out · 0
  • 8 findings

Anlyon alternative

18 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

22 tools

Can't be undone 2Claude Code: ask
  • overtime_payCalculate a week of overtime pay at time and a half under the federal FLSA rule (hours over 40 in the week) or California's rules (daily overtime over 8 hours, double time over 12,…1 finding

    Why it is in this group

    • The name "overtime_pay" 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 "overtime_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "overtime_pay" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Calculate a week of overtime pay at time and a half under the federal FLSA rule (hours over 40 in the week) or California's rules (daily overtime over 8 hours, double time over 12, the seventh consecutive day, and the weekly 40). Use rule_set federal with total hours worked in the week and any extra pay that counts toward the regular rate, such as a nondiscretionary bonus; use rule_set california with the hours worked on each of the seven days. Returns regular and overtime hours and pay and the week's total, gross before tax. Use us_paycheck_take_home with overtime_hours_per_week for take-home pay including overtime, and hourly_to_salary for converting pay without overtime.

    Annotations the server declares

    • title: Overtime pay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • severance_payEstimate a severance package: weeks of pay per year of service times years of service times weekly pay, with an optional plan minimum and maximum, plus unused PTO paid out, employe…1 finding

    Why it is in this group

    • The name "severance_pay" 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 "severance_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "severance_pay" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Estimate a severance package: weeks of pay per year of service times years of service times weekly pay, with an optional plan minimum and maximum, plus unused PTO paid out, employer-paid health coverage and other lump sums. Use it for an employer budgeting an exit or an employee checking an offer; every input is the plan's own terms, because US federal law sets no severance formula. Use cost_of_a_bad_hire for the all-in cost of a failed hire instead. Amounts are before tax.

    Annotations the server declares

    • title: Severance pay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 16Claude Code: ask
  • add_business_daysFind the date that is a given number of business days after (or before) a start date, skipping weekends and optionally US federal holidays.1 finding

    Why it is in this group

    • The name "add_business_days" says "add": 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 "add_business_days" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_business_days" says "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Find the date that is a given number of business days after (or before) a start date, skipping weekends and optionally US federal holidays. Use it to answer 'what is the due date 10 business days from now?', delivery dates, response deadlines and notice periods. Use business_days_between instead to count the working days between two known dates, and add_to_date to move by calendar years, months, weeks or days. The start date itself is not counted; day 1 is the next business day. Holidays are the 11 US federal holidays with observed dates. Valid for years 2000 to 2100.

    Annotations the server declares

    • title: Add or subtract business days
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • add_time_to_datetimeMove a date and clock time forward or back by days, hours and minutes in a US time zone and get the resulting date and time.1 finding

    Why it is in this group

    • The name "add_time_to_datetime" says "add": 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 "add_time_to_datetime" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_time_to_datetime" says "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Move a date and clock time forward or back by days, hours and minutes in a US time zone and get the resulting date and time. Days move the calendar date and keep the clock time (the way a phone calendar does); hours and minutes are counted as they really pass, so a daylight saving change inside the span is handled. Use time_duration_between instead to measure the gap between two known date-times, add_to_date for calendar years, months and weeks, and convert_time_zone to show a moment in other zones.

    Annotations the server declares

    • title: Add or subtract days, hours and minutes from a date-time
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • add_to_dateAdd or subtract years, months, weeks and days to or from a calendar date and get the resulting date with its weekday, ISO week and day of the year.1 finding

    Why it is in this group

    • The name "add_to_date" says "add": 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 "add_to_date" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_to_date" says "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Add or subtract years, months, weeks and days to or from a calendar date and get the resulting date with its weekday, ISO week and day of the year. Use it for 'what is the date 90 days from today?', contract end dates, probation periods and anniversaries. Years and months move by the calendar first (Jan 31 plus one month is the last day of February), then weeks and days. Use add_business_days to skip weekends and holidays and days_between_dates to measure the gap between two dates. Valid for years 2000 to 2100.

    Annotations the server declares

    • title: Add or subtract time from a date
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • convert_time_zoneConvert one date and clock time from a source time zone to other time zones, with daylight saving applied for that date, and find the stretch of the day when it is 9 AM to 5 PM in …1 finding

    Why it is in this group

    • The name "convert_time_zone" says "convert": 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 "convert_time_zone" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_time_zone" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert one date and clock time from a source time zone to other time zones, with daylight saving applied for that date, and find the stretch of the day when it is 9 AM to 5 PM in every zone at once. Use it to schedule across offices, pick a meeting time for a distributed team, or answer 'what is 3 PM Eastern in London?'. Supports 24 zones (US zones, UTC and major world zones); the valid zone ids are listed in the schema. Use time_duration_between for the length of time between two moments.

    Annotations the server declares

    • title: Time zone converter
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • cost_of_a_bad_hireEstimate the total cost of one bad hire: the salary paid for lost productivity plus recruiting, onboarding, manager time, severance and the cost of hiring a replacement.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
    Estimate the total cost of one bad hire: the salary paid for lost productivity plus recruiting, onboarding, manager time, severance and the cost of hiring a replacement. Use it for a single failed hire with a known salary and tenure. Use employee_turnover_cost instead for the company-wide cost of turnover across many employees, and severance_pay for the pay owed to a departing employee. Every cost line is optional and defaults to the TeamPredict calculator's default; set a line to 0 to leave it out.

    Annotations the server declares

    • title: Cost of a bad hire
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • employee_retention_rateCalculate the employee retention rate exactly, by separating leavers who were on the payroll at the start of the period from leavers who were hired during it.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
    Calculate the employee retention rate exactly, by separating leavers who were on the payroll at the start of the period from leavers who were hired during it. Use it when you can tell those two groups of leavers apart; it returns the standard retention rate, the new-hire retention rate, the turnover rate and the ending headcount, and shows why retention and turnover do not add up to 100%. Use employee_turnover_rate instead when you only have one total for people who left.

    Annotations the server declares

    • title: Employee retention rate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • employee_turnover_costEstimate what employee turnover costs a company per year, and how much cutting turnover would save.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
    Estimate what employee turnover costs a company per year, and how much cutting turnover would save. Use it when you know headcount, average salary and the annual turnover rate and want the dollar cost of people leaving. Use employee_turnover_rate instead to work out the turnover rate itself from headcounts and leavers, and cost_of_a_bad_hire for the cost of one specific failed hire. Returns departures per year, cost per departure, total annual cost and the yearly saving from a given cut in turnover. Same formula as the TeamPredict turnover cost calculator.

    Annotations the server declares

    • title: Employee turnover cost
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • employee_turnover_rateCalculate the employee turnover (attrition) rate for a month, quarter or year from starting headcount, ending headcount and the number of people who left.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
    Calculate the employee turnover (attrition) rate for a month, quarter or year from starting headcount, ending headcount and the number of people who left. Use it when you have headcounts and separations and need the rate; it also annualizes a monthly or quarterly rate. Use employee_retention_rate instead when you can split leavers into people who were there at the start and people hired during the period, and employee_turnover_cost to price the turnover in dollars. Returns the turnover rate for the period, the annualized rate, average headcount and a simple retention rate.

    Annotations the server declares

    • title: Employee turnover rate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • enps_scoreCalculate an employee Net Promoter Score (eNPS) from survey response counts: the percentage of promoters minus the percentage of detractors, from -100 to +100.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
    Calculate an employee Net Promoter Score (eNPS) from survey response counts: the percentage of promoters minus the percentage of detractors, from -100 to +100. Use it when you have the count of people who answered 9-10 (promoters), 7-8 (passives) and 0-6 (detractors) to the question 'How likely are you to recommend working here?'. Returns the score, both percentages and a rule-of-thumb reading (not a universal benchmark).

    Annotations the server declares

    • title: Employee Net Promoter Score (eNPS)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hourly_to_salaryConvert pay between hourly, daily, weekly, biweekly, semimonthly, monthly and yearly, in either direction, from one amount.1 finding

    Why it is in this group

    • The description's first verb is "convert": 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 "hourly_to_salary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert pay between hourly, daily, weekly, biweekly, semimonthly, monthly and yearly, in either direction, from one amount. Use it for 'what is $25 an hour per year?' or 'what is $90,000 a year per hour?'. It uses hours per week and paid weeks per year (default 40 hours and 52 weeks), so a 2,080-hour year is the default. Amounts are gross, before tax. Use us_paycheck_take_home for take-home pay after tax and overtime_pay for pay that includes overtime hours.

    Annotations the server declares

    • title: Hourly to salary converter
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • military_time_convertConvert between military (24-hour) time and standard 12-hour AM/PM time, in either direction.1 finding

    Why it is in this group

    • The name "military_time_convert" says "convert": 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 "military_time_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "military_time_convert" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert between military (24-hour) time and standard 12-hour AM/PM time, in either direction. Give military_time (for example 1345, 13:45 or 0800) to get the standard time, or hour_12, minute and period to get the military time. Returns the converted time in every common written form, the plain-English name for special times (midnight, noon) and the hour of the military-time chart it sits in. Use military_shift_hours instead to find how many hours run between two military times.

    Annotations the server declares

    • title: Military (24-hour) time converter
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • pto_accrualWork out how paid time off accrues: hours earned per pay period, per month and per hour worked, plus the balance after each pay period, with an optional balance cap and hours alrea…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
    Work out how paid time off accrues: hours earned per pay period, per month and per hour worked, plus the balance after each pay period, with an optional balance cap and hours already used. Use it to design or explain a PTO policy, or to project an employee's balance by year end. Accrual pauses while the balance sits at the cap and resumes once time is used. Use hourly_to_salary or salary_increase for pay questions, not this tool.

    Annotations the server declares

    • title: PTO accrual
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • salary_increaseCalculate a pay raise: the new annual and hourly pay, the raise per year, month and biweekly paycheck, the raise as a percentage, and whether it keeps up with inflation.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
    Calculate a pay raise: the new annual and hourly pay, the raise per year, month and biweekly paycheck, the raise as a percentage, and whether it keeps up with inflation. Give either raise_percent (a percentage raise on current pay) or new_pay (the new pay, from which the percentage is worked out), and the pay as per year or per hour. Use hourly_to_salary instead to convert between pay periods without a raise, and us_paycheck_take_home for take-home pay after tax. All amounts are before tax.

    Annotations the server declares

    • title: Salary increase (pay raise)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • time_duration_betweenWork out how much time passes between a start and an end date and time, in days, hours and minutes, accounting for daylight saving changes in the chosen US time zone.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
    Work out how much time passes between a start and an end date and time, in days, hours and minutes, accounting for daylight saving changes in the chosen US time zone. Use it for shift lengths that cross midnight, elapsed time on a ticket, on-call windows and billing time. Use days_between_dates for whole calendar days, add_time_to_datetime to move a date-time forward or back by a known amount, and military_shift_hours for a shift written in 24-hour times only.

    Annotations the server declares

    • title: Time duration between two date-times
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • us_bonus_taxCalculate how much tax is withheld from a US bonus in 2026 and what is left: federal income tax (the 22% flat rate or the combined method, 37% above $1 million), Social Security, M…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
    Calculate how much tax is withheld from a US bonus in 2026 and what is left: federal income tax (the 22% flat rate or the combined method, 37% above $1 million), Social Security, Medicare, and the state's own bonus withholding rule, for all 50 states and DC. Use it for 'how much of my $X bonus will I keep in <state>?'. Withholding is not the final tax: the bonus is taxed at your normal rate on your return. Use us_paycheck_take_home instead for regular pay, and salary_increase for a raise. When the bonus is paid on its own it also returns the result under the other federal method so the two can be compared.

    Annotations the server declares

    • title: US bonus tax withholding
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • us_paycheck_take_homeCalculate US take-home (net) pay from a salary or an hourly wage for 2026, after federal income tax (from the Form W-4), Social Security, Medicare and the state's own income tax an…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
    Calculate US take-home (net) pay from a salary or an hourly wage for 2026, after federal income tax (from the Form W-4), Social Security, Medicare and the state's own income tax and payroll contributions, in any of the 50 states or DC. Use it for 'how much will I take home on $X in <state>?', for comparing states, or to price an offer; it also returns the full-year totals and what the employer pays on top. Use us_bonus_tax instead for tax withheld from a bonus, overtime_pay for the extra pay for overtime hours before tax, and hourly_to_salary for converting pay between hour, week, month and year without tax. Assumes the 2026 federal withholding method and the state's published employer withholding formula, one job, and a W-4 filed in the standard way.

    Annotations the server declares

    • title: US paycheck take-home pay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Show 4 read-only tools
  • business_days_betweenCount the business days (Monday to Friday, optionally skipping US federal holidays) between two dates.No findings

    Why it is in this group

    • The description's first verb is "count": a word for reading.
    Description, as the server wrote it
    Count the business days (Monday to Friday, optionally skipping US federal holidays) between two dates. Use it for working-day questions such as notice periods, delivery windows, payroll runs and project lead times. Use add_business_days instead to find the date that is N business days from a start date, and days_between_dates for plain calendar days. Holidays are the 11 US federal holidays with their observed dates when one falls on a weekend; company and state holidays are not included. Valid for years 2000 to 2100.

    Annotations the server declares

    • title: Business days between two dates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • days_between_datesCount the calendar days between two dates and break the gap into weeks, months and years, with the weekdays and weekend days inside it.Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "count": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "count" and "calendar": it reads calendars.
    Description, as the server wrote it
    Count the calendar days between two dates and break the gap into weeks, months and years, with the weekdays and weekend days inside it. Use it for 'how many days until X', tenure, age of a record, notice periods in calendar days and countdowns. Use business_days_between instead to leave out weekends and federal holidays, and time_duration_between when clock times matter. Valid for years 2000 to 2100.

    Annotations the server declares

    • title: Days between two dates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fte_calculatorCount full-time equivalent employees (FTE) from full-time staff and groups of part-time staff, and run the Affordable Care Act count that decides whether an employer has 50 or more…No findings

    Why it is in this group

    • The description's first verb is "count": a word for reading.
    Description, as the server wrote it
    Count full-time equivalent employees (FTE) from full-time staff and groups of part-time staff, and run the Affordable Care Act count that decides whether an employer has 50 or more full-time equivalents. Use it for workforce planning, headcount reporting or checking applicable-large-employer status. FTE is total weekly hours divided by the hours of one full-time schedule; the ACA count uses the IRS rule (30 hours a week is full-time, other employees count their monthly hours up to 120 each, divided by 120). Returns both counts; assumes every month looks like the one entered.

    Annotations the server declares

    • title: Full-time equivalent (FTE) and ACA count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • military_shift_hoursFind how long a shift or interval lasts between a start and an end written in military (24-hour) time, including shifts that run past midnight (2200 to 0630 is 8 hours 30 minutes).No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find how long a shift or interval lasts between a start and an end written in military (24-hour) time, including shifts that run past midnight (2200 to 0630 is 8 hours 30 minutes). An end at or before the start counts as the next day. Returns hours and minutes and decimal hours for timesheets. Use military_time_convert to translate a single time between 24-hour and AM/PM, and time_duration_between when the two moments have different dates or a time zone with daylight saving.

    Annotations the server declares

    • title: Hours between two military times
    • 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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

8 warn
  • The server marks "severance_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "severance_pay" says "pay": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "hourly_to_salary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "overtime_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "overtime_pay" says "pay": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "add_business_days" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_business_days" says "add": a word for a change.

    What this check looks for
  • The server marks "add_to_date" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_to_date" says "add": a word for a change.

    What this check looks for
  • The server marks "add_time_to_datetime" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "add_time_to_datetime" says "add": a word for a change.

    What this check looks for
Show 2 more findings
  • The server marks "convert_time_zone" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_time_zone" says "convert": a word for a change.

    What this check looks for
  • The server marks "military_time_convert" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "military_time_convert" says "convert": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http hr-calculators https://www.teampredict.ai/mcp
claude mcp add --transport http hr-calculators https://www.teampredict.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__hr-calculators__fte_calculator",
      "mcp__hr-calculators__business_days_between",
      "mcp__hr-calculators__days_between_dates",
      "mcp__hr-calculators__military_shift_hours"
    ],
    "ask": [
      "mcp__hr-calculators__employee_turnover_cost",
      "mcp__hr-calculators__employee_turnover_rate",
      "mcp__hr-calculators__employee_retention_rate",
      "mcp__hr-calculators__cost_of_a_bad_hire",
      "mcp__hr-calculators__enps_score",
      "mcp__hr-calculators__pto_accrual",
      "mcp__hr-calculators__salary_increase",
      "mcp__hr-calculators__severance_pay",
      "mcp__hr-calculators__us_paycheck_take_home",
      "mcp__hr-calculators__us_bonus_tax",
      "mcp__hr-calculators__hourly_to_salary",
      "mcp__hr-calculators__overtime_pay",
      "mcp__hr-calculators__add_business_days",
      "mcp__hr-calculators__add_to_date",
      "mcp__hr-calculators__time_duration_between",
      "mcp__hr-calculators__add_time_to_datetime",
      "mcp__hr-calculators__convert_time_zone",
      "mcp__hr-calculators__military_time_convert"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as hr-calculators. Review it before you use it.

Capability tags behind 1 rule
  • mcp__hr-calculators__days_between_dates private-data

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/ai.teampredict/hr-calculators/verify?hash=a9138b3f146bd5aa5ebff16289716715da2cb004b68d6ac80e72595437382369" | jq -e '.changed == false'

Pinned hash a9138b3f146b, from Oct 25, 2026, 11:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/ai.teampredict/hr-calculators/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for ai.teampredict/hr-calculators
[![anlyon.dev](https://anlyon.dev/badge/ai.teampredict/hr-calculators.svg)](https://anlyon.dev/servers/ai.teampredict/hr-calculators)

Source: MCP Registry. Synced Oct 25, 2026, 11:17 UTC.