US Federal Holidays and Business Days MCP
Compute exact U.S. federal holiday observance and business-day math for dates from 1971 to 2100.
List all federal holidays for a year with legal date, OPM observed date, Federal Reserve closure date, rule-history changes, and optional DC-area Inauguration Day.
Check whether a date is a business day on the federal/OPM or Fed banking calendar, including holiday name and previous/next business day.
Add or subtract N business days, skipping weekends and observed holidays and listing skipped holidays.
Count business days between two dates with Excel NETWORKDAYS-style inclusion defaults and negative counts when end is before start.
Compute invoice due dates from an issue date and calendar-day net terms, with following, preceding, or modified-following rolls.
Accept extra one-off closure dates for executive orders or similar closures.
Support ACH, wire, and bank settlement use cases via the fed_banking calendar, with no network calls or API token needed.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@US Federal Holidays and Business Days MCPWhat date is 10 business days after December 20, 2027?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
US Federal Holidays and Business Days MCP
Exact U.S. federal holidays and business-day math for any date from 1971 to 2100, as an MCP server for Claude, ChatGPT, Cursor and VS Code.
Models often get calendar arithmetic wrong. They forget that New Year's Day 2022 was observed on Friday, December 31, 2021, or that the Federal Reserve stays open on a Friday the government takes off. This server computes those dates exactly, with no network calls.
Hosted endpoint, no token needed:
https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcpTools
Tool | What it does |
| All holidays for a year 1971-2100. Legal date, OPM observed date, Federal Reserve closure date, and Inauguration Day flagged as DC-area only. |
| Says if a date is a business day on the |
| Adds or subtracts N business days. Lists every holiday it skipped. |
| Counts business days between two dates. Start and end are included by default, like Excel NETWORKDAYS. |
| Due date from an issue date and net terms (Net 30 = 30 calendar days). Rolls a weekend or holiday due date with |
Every result has structured JSON, a one-paragraph summary, as_of, source (OPM or Federal Reserve) and more.
Related MCP server: marketcal
What it knows that your model does not
The observance rule. A Saturday holiday is observed on Friday by federal employees (5 U.S.C. 6103(b)). A Sunday holiday is observed on Monday (E.O. 11582). The Friday can fall in the previous year.
The Federal Reserve rule is different. When a holiday falls on Saturday, Reserve Banks are open on Friday (K.8). So 2026-07-03 is a federal holiday but a banking day. Use
calendar: "fed_banking"for ACH, wire and settlement dates.The rule history. Juneteenth from 2021. MLK Day from 1986. Veterans Day was the fourth Monday in October from 1971 to 1977.
Inauguration Day. It applies only to DC-area federal employees, every four years. It moves to Monday when January 20 is a Sunday and has no substitute day when it is a Saturday (2029).
All 212 holiday rows in OPM's published tables for 2011-2030 match this server's output. A test checks this.
Install
Claude.ai custom connector and ChatGPT developer mode
Paste the hosted URL. No token or sign-in is needed.
https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcpClaude Code
claude mcp add --transport http us-federal-holidays https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcpOr run it locally over stdio:
claude mcp add us-federal-holidays -- npx -y us-federal-holidays-business-days-mcpClaude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"us-federal-holidays": {
"command": "npx",
"args": ["-y", "us-federal-holidays-business-days-mcp"]
}
}
}Cursor
Add this to ~/.cursor/mcp.json:
{
"mcpServers": {
"us-federal-holidays": {
"url": "https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp"
}
}
}VS Code
Add this to .vscode/mcp.json:
{
"servers": {
"us-federal-holidays": {
"type": "http",
"url": "https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp"
}
}
}Example prompts
"Which federal holidays in 2027 are observed on a different day than the legal date?"
"Is July 3, 2026 a banking day? Is it a federal holiday?"
"What date is 10 business days after December 20, 2027 for a federal agency?"
"How many business days are there in November 2026?"
"An invoice was issued on June 3, 2026 on Net 30. When is it due if we roll weekends and bank holidays forward?"
Try it with curl
curl -s https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp \
-H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"is_business_day","arguments":{"date":"2026-07-03","calendar":"fed_banking"}}}'Data sources
All fetched on 2026-10-30. Details are in DATA_SOURCES.md.
OPM Federal Holidays. https://www.opm.gov/policy-data-oversight/pay-leave/federal-holidays/
Federal Reserve K.8 Holidays Observed. https://www.federalreserve.gov/aboutthefed/k8.htm
5 U.S.C. 6103 and amendment notes. https://www.law.cornell.edu/uscode/text/5/6103
Limitations
One-off closures by executive order are not built in. Examples are Christmas Eve closures and national days of mourning such as 2025-01-09. Pass them in
extra_closed_dates.The
federalcalendar is for employees with a Monday to Friday workweek. Other schedules have different in-lieu-of days.The
fed_bankingcalendar applies the K.8 rule to every year. The Fed publishes tables only for recent years. Before 2022 the Juneteenth rule never changed a banking day, because June 19, 2021 was a Saturday.State holidays, stock market holidays and other countries are not covered.
Dates are plain calendar days. There are no time zones or cut-off times.
Zovo MCP back-office bundle
Due dates feed the invoice and dunning servers in the paid Zovo MCP back-office bundle. Those servers handle invoices, payment terms and reminders: https://mcp.zovo.one/?utm_source=github&utm_medium=us-federal-holidays-business-days-mcp
Part of the Zovo MCP collection: https://mcp.zovo.one
Development
npm install
npm run build
npm test
npx wrangler deploysrc/core.ts holds the pure calendar logic. src/stdio.ts is the local entry and src/worker.ts is the Cloudflare Worker entry. Both use the same tool registry in src/tools.ts.
License
MIT
More data servers from the same author
Each one is free, needs no API key and has a hosted URL you can paste into Claude or ChatGPT.
server | tools | hosted URL |
convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature |
| |
calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary |
| |
get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units |
| |
search_lakes, get_lake_level, get_lake_history, compare_lakes |
| |
get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage |
| |
calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility |
| |
calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets |
| |
calculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_income |
| |
calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk |
| |
get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap |
| |
get_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_composite |
| |
calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit |
| |
get_exemption_amounts, calculate_estate_tax, check_gift, compare_years |
| |
lookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutrition |
| |
get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years |
| |
calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment |
| |
calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates |
| |
find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface |
| |
calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility |
|
The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one
Available Tools
5 toolsadd_business_daysAdd or subtract U.S. business daysARead-onlyIdempotentInspect
Adds (or with a negative number subtracts) N business days to a date, skipping weekends and observed U.S. federal or Federal Reserve holidays exactly. The start date is not counted. With 0, returns the start date if it is a business day, otherwise the next one. Lists every holiday skipped.
| Name | Required | Description | Default |
|---|---|---|---|
| calendar | No | federal = OPM observance for federal employees (Saturday holiday -> Friday off). fed_banking = Federal Reserve Banks (Saturday holiday -> open Friday; Sunday -> closed Monday). Use fed_banking for ACH, wire and bank settlement dates. | federal |
| start_date | Yes | ||
| business_days | Yes | Business days to add; negative to go back. | |
| extra_closed_dates | No | Extra closed dates to treat as holidays, e.g. a one-off executive order closure such as 2025-01-09. | |
| include_inauguration_day | No | federal calendar only: also close Inauguration Day (DC-area federal employees only, every 4 years). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the read-only/idempotent annotations: exact holiday observance, start date exclusion, zero-day edge case, and the fact that skipped holidays are listed in the result. These are the details an agent needs to predict output without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core operation, then edge cases. No wasted words and every sentence carries semantic value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the operation, edge cases, and the fact that skipped holidays are listed, which is important because there is no output schema. It could be slightly more explicit about the exact return shape (e.g., date string plus holiday array), but it is otherwise complete for a computational calendar tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 80% and documents calendar modes and extra closures well. The description adds meaning the schema lacks, notably the zero-day behavior and that the start date is not counted, though it does not further explain calendar or include_inauguration_day beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Adds ... N business days to a date') and includes the sign convention for reverse movement. It is clearly distinguishable from siblings like count_business_days and is_business_day without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear operational context: negative values subtract, zero behaves specially, and the result skips weekends and observed holidays. It does not explicitly route the agent away from alternatives such as count_business_days, so it lacks full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_business_daysCount U.S. business days between two datesARead-onlyIdempotentInspect
Counts business days between two dates (1971-2100) on the U.S. federal or Federal Reserve calendar, excluding weekends and observed holidays. include_start and include_end default to true, like Excel NETWORKDAYS. If end is before start the count is negative. Lists the weekday holidays that were excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| calendar | No | federal = OPM observance for federal employees (Saturday holiday -> Friday off). fed_banking = Federal Reserve Banks (Saturday holiday -> open Friday; Sunday -> closed Monday). Use fed_banking for ACH, wire and bank settlement dates. | federal |
| end_date | Yes | ||
| start_date | Yes | ||
| include_end | No | ||
| include_start | No | ||
| extra_closed_dates | No | Extra closed dates to treat as holidays, e.g. a one-off executive order closure such as 2025-01-09. | |
| include_inauguration_day | No | federal calendar only: also close Inauguration Day (DC-area federal employees only, every 4 years). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world behavior, so the safety profile is covered. The description adds genuinely non-schema behavior: the negative count when end precedes start, the supported date range, and that excluded weekday holidays are returned. It does not state error handling for out-of-range or malformed dates, keeping it just short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each carrying distinct information: scope and range, inclusivity semantics, and the negative-count and return-content behavior. Nothing is repeated from the schema or wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter read-only tool with no output schema, the description covers the important edge cases an agent needs (inclusivity defaults, negative results, listed excluded holidays, date range). Sibling routing and calendar-selection guidance are the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 43%, so the description must compensate. It adds real meaning for include_start/include_end via the Excel NETWORKDAYS analogy, clarifying inclusive boundary counting beyond the mere default values. But calendar, extra_closed_dates, and include_inauguration_day are left entirely to the schema, and the date format is undocumented in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (counts) and resource (business days) with useful scope limits: the 1971-2100 supported range and the two calendar variants. It implicitly contrasts with add_business_days by emphasizing counting between two dates, but never names the sibling tools, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the counting convention (weekends and observed holidays excluded, NETWORKDAYS-style inclusivity), which tells the agent what this tool is for. It never says when to reach for is_business_day, add_business_days, or invoice_due_date instead, and the calendar-selection guidance lives in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_due_dateInvoice due date from net termsARead-onlyIdempotentInspect
Computes an invoice due date from an issue date and net terms in calendar days (Net 30 = 30), then optionally rolls a weekend or U.S. holiday due date: following (next business day), preceding, or modified_following (next business day unless it crosses into the next month). Uses exact observed federal or Federal Reserve holidays.
| Name | Required | Description | Default |
|---|---|---|---|
| roll | No | How to move a due date that is not a business day. | following |
| calendar | No | fed_banking (default) matches when banks settle payments; federal uses OPM observance. | fed_banking |
| net_days | Yes | Net terms in calendar days, e.g. 30 for Net 30. | |
| issue_date | Yes | ||
| extra_closed_dates | No | Extra closed dates to treat as holidays, e.g. a one-off executive order closure such as 2025-01-09. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: it specifies which holiday calendar is used ('exact observed federal or Federal Reserve holidays') and clarifies the month-boundary edge case in modified_following. It does not state the return format or how unknown/out-of-range dates are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the core computation front-loaded, followed by the optional rolling and holiday-source detail. Every clause carries information an agent needs; nothing is redundant with the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, two enums, and no output schema, the description covers the computation, the roll modes, and the holiday source well enough to call the tool correctly. The main gap is that it never describes the return value (presumably a date string) or confirms what happens when roll='none' and the date falls on a holiday.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3, but the description adds meaning the schema does not: it spells out the semantics of following, preceding, and modified_following in prose and reinforces that net_days is calendar days (Net 30 = 30). extra_closed_dates is left to the schema, and calendar is only partially discussed in the description, keeping it below 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Computes an invoice due date') and names the inputs (issue date, net terms) plus the optional rolling behavior. It is clearly distinct from generic siblings like add_business_days or is_business_day that operate on a date without invoice/net-terms semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes the context of use (converting net terms to a due date, optionally rolling to a business day) and explains the three roll modes, which is genuine usage guidance. It stops short of explicitly excluding alternatives, e.g. it never says to use add_business_days directly when you already have a computed date rather than net terms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_business_dayCheck if a date is a U.S. business dayARead-onlyIdempotentInspect
Says whether a date (1971-2100) is a business day on the U.S. federal (OPM) calendar or the Federal Reserve banking calendar, names the holiday if any, and returns the previous and next business day. The two calendars differ when a holiday falls on Saturday: 2026-07-03 is a federal holiday but a Fed banking day.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| calendar | No | federal = OPM observance for federal employees (Saturday holiday -> Friday off). fed_banking = Federal Reserve Banks (Saturday holiday -> open Friday; Sunday -> closed Monday). Use fed_banking for ACH, wire and bank settlement dates. | federal |
| extra_closed_dates | No | Extra closed dates to treat as holidays, e.g. a one-off executive order closure such as 2025-01-09. | |
| include_inauguration_day | No | federal calendar only: also close Inauguration Day (DC-area federal employees only, every 4 years). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so safety is covered. The description earns credit by disclosing the supported date window, the return contents, and the Saturday-observance divergence between calendars — real behavioral context beyond the annotations. It is silent on what happens for out-of-range dates, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core behavior, followed by the one nuance an agent is most likely to get wrong. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming exactly what comes back (boolean result, holiday name, adjacent business days). The supported date range is stated. Edge behavior beyond 1971-2100 is unaddressed, which is the only material gap for a 4-parameter predicate tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% and the enum parameter already documents both calendars including the Saturday/Sunday observance rules, so the baseline is 3. The description's calendar example largely restates that schema text, and it says nothing about extra_closed_dates or include_inauguration_day, so it adds no meaning beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Says whether a date ... is a business day'), scopes the supported range (1971-2100), and enumerates the returned facts (holiday name, previous and next business day). This clearly separates it from the arithmetic siblings add_business_days/count_business_days, which shift or count rather than test a single date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete context for the calendar choice via the 2026-07-03 federal-vs-Fed example, which tells the agent when the two modes diverge. It never routes explicitly against siblings (add_business_days, count_business_days) or states exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_federal_holidaysList U.S. federal holidays for a yearARead-onlyIdempotentInspect
Exact U.S. federal holidays for any year 1971-2100 under 5 U.S.C. 6103: legal date, OPM observed date (Saturday -> Friday, Sunday -> Monday, so New Year's Day 2022 is observed Friday 2021-12-31) and the Federal Reserve closure date (Fed Banks stay OPEN the Friday before a Saturday holiday). Applies the rule history a model tends to get wrong: Juneteenth from 2021, MLK Day from 1986, Veterans Day on the 4th Monday of October 1971-1977, and Inauguration Day (DC area only, flagged optional). No network calls.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year, 1971-2100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: explains observed-date shifting rules with a concrete example (New Year's Day 2022 observed 2021-12-31), notes Fed Banks stay open the Friday before a Saturday holiday, and discloses keyed rule history (Juneteenth 2021, MLK 1986, Veterans Day 1971-1977). Also states "No network calls," which the openWorldHint=false hint alone doesn't fully convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core promise in the first clause and packs in real value, but the second sentence is heavily nested with parentheticals and rule lists, making it denser than it needs to be for reference use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the description effectively anticipates the return shape by naming the three date kinds (legal, OPM observed, Fed closure) and the optional Inauguration Day flag. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required parameter with 100% schema coverage, so the schema already carries the range 1971-2100 with min/max. The description restates the range but adds no new syntactic or semantic detail about the year argument, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Exact U.S. federal holidays") plus a hard scope (1971-2100) and the governing statute. This clearly separates it from the sibling tools, which all do business-day arithmetic rather than holiday lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case (get the holiday list for a given year) is implied clearly, but the description never explicitly contrasts itself with siblings like is_business_day or count_business_days, nor says when not to use it. Routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
add_business_days - First observed
count_business_days - First observed
invoice_due_date - First observed
is_business_day - First observed
list_federal_holidays
TDQS
Scored across 5 tools
Each tool targets a clearly distinct operation: listing holidays, checking a date, adding business days, counting business days, and computing invoice due dates. The boundaries between add_business_days and invoice_due_date are clear because one is a general date arithmetic primitive and the other is a specific business workflow.
Four tools follow a predictable snake_case verb_noun pattern (list_federal_holidays, is_business_day, add_business_days, count_business_days). invoice_due_date is a noun phrase rather than verb_noun, but it remains clear and readable within the set.
Five tools is a well-scoped surface for a holiday and business-day calculator: one listing tool, three date-calculation tools, and one workflow tool. Each tool earns its place without redundancy.
The tool set covers holiday lookup, business-day validation, forward/backward business-day arithmetic, interval counting, and invoice due-date rolling. These operations form a complete lifecycle for U.S. federal and Federal Reserve calendar use cases, with negative addition handling subtraction.
Related MCP Connectors
US federal holidays, business-day maths, invoice due dates and IRS deadlines.
Deterministic date arithmetic with auditable receipts: business days, due dates, holidays.
Business-day, SLA, cron and recurrence calculations — offline, holiday-aware, no network.
Canadian federal and provincial holidays, business-day maths and invoice due dates.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for business-day arithmetic with country-aware holiday calendars. It offers tools to check, calculate, and list business days and holidays for over 60 countries.9MIT
- AlicenseAqualityCmaintenanceProvides correct trading day and settlement date calculations for multiple exchanges, with no external API calls.614 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables Japanese business calendar operations such as holiday checking, business day calculations, payment date calculation, fiscal year determination, and deadline tracking, all locally without external API.MIT
- AlicenseAqualityDmaintenanceProvides accurate Japanese business day utilities including holiday checks, settlement day calculations, and fiscal period determination, all with embedded holiday data from 2020-2030.762 npmMIT