US Federal Holidays and Business Days

io.github.theluckystrikePublished by GitHub account theluckystrikev1.0.0Updated Oct 30, 2026

Exact U.S. federal holidays and business days 1971-2100, OPM and Federal Reserve observance.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinance

Overview

AI-generated overview

Computes exact U.S. federal and Federal Reserve holidays and business-day math for 1971-2100, so an assistant can answer deadline and due-date questions…

What you can do
  • List holidays for a year with legal, OPM-observed and Fed closure dates, plus Inauguration Day flags
  • Check whether a date is a business day on the federal or fed_banking calendar, with previous and next business day
  • Add or subtract N business days from a date, listing skipped holidays
  • Count business days between two dates, Excel NETWORKDAYS style
  • Compute invoice due dates from issue date and net terms, with following, preceding or modified_following roll
When to use it
Useful whenever a deadline, settlement date, SLA, payroll or invoice due date depends on weekends or U.S. holidays, and when the difference between OPM observance and Federal Reserve banking days matters.
Requirements
A remote streamable HTTP endpoint; no token, sign-in, API key or environment variable is needed. The README also mentions an optional local npx package for stdio clients.
Before you install
Read-only date calculations with no credentials requested. Results are limited to U.S. federal and Fed banking calendars: one-off executive-order closures, state, stock-market and other-country holidays are not included and must be passed as extra_closed_dates. The README promotes a separate paid back-office bundle.

Installation

In SourceWeft

  1. Open US Federal Holidays and Business Days in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.theluckystrike%2Fus-federal-holidays-business-days-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "us-federal-holidays-and-business-days": {
      "type": "http",
      "url": "https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp"
    }
  }
}

README

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/mcp

Tools

ToolWhat it does
list_federal_holidaysAll holidays for a year 1971-2100. Legal date, OPM observed date, Federal Reserve closure date, and Inauguration Day flagged as DC-area only.
is_business_daySays if a date is a business day on the federal (OPM) or fed_banking (Federal Reserve) calendar. Names the holiday and gives the previous and next business day.
add_business_daysAdds or subtracts N business days. Lists every holiday it skipped.
count_business_daysCounts business days between two dates. Start and end are included by default, like Excel NETWORKDAYS.
invoice_due_dateDue date from an issue date and net terms (Net 30 = 30 calendar days). Rolls a weekend or holiday due date with following, preceding or modified_following.

Every result has structured JSON, a one-paragraph summary, as_of, source (OPM or Federal Reserve) and more.

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/mcp

Claude Code

claude mcp add --transport http us-federal-holidays https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp

Or run it locally over stdio:

claude mcp add us-federal-holidays -- npx -y us-federal-holidays-business-days-mcp

Claude Desktop

Add this to claude_desktop_config.json:

json
{  "mcpServers": {    "us-federal-holidays": {      "command": "npx",      "args": ["-y", "us-federal-holidays-business-days-mcp"]    }  }}

Cursor

Add this to ~/.cursor/mcp.json:

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:

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.

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 federal calendar is for employees with a Monday to Friday workweek. Other schedules have different in-lieu-of days.
  • The fed_banking calendar 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 installnpm run buildnpm testnpx wrangler deploy

src/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.

servertoolshosted URL
cups-to-grams-mcpconvert_ingredient, search_ingredients, scale_recipe, convert_oven_temperaturehttps://cups-to-grams-mcp.lipmichal.workers.dev/mcp
dscr-loan-calculator-mcpcalculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summaryhttps://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp
gold-price-per-gram-mcpget_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_unitshttps://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp
lake-level-mcpsearch_lakes, get_lake_level, get_lake_history, compare_lakeshttps://lake-level-mcp.lipmichal.workers.dev/mcp
minimum-wage-mcpget_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wagehttps://minimum-wage-mcp.lipmichal.workers.dev/mcp
no-tax-on-overtime-mcpcalculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibilityhttps://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp
paycheck-calculator-mcpcalculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_bracketshttps://paycheck-calculator-mcp.lipmichal.workers.dev/mcp
uk-income-tax-salary-mcpcalculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_incomehttps://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp
ab-test-sample-size-calculator-mcpcalculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_riskhttps://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp
aca-premium-tax-credit-calculator-mcpget_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_caphttps://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp
ap-score-distributions-mcpget_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_compositehttps://ap-score-distributions-mcp.lipmichal.workers.dev/mcp
car-loan-interest-deduction-calculator-mcpcalculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credithttps://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp
estate-gift-tax-exemption-calculator-mcpget_exemption_amounts, calculate_estate_tax, check_gift, compare_yearshttps://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp
recipe-nutrition-calculator-mcplookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutritionhttps://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp
retirement-contribution-limits-2027-mcpget_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_yearshttps://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp
section-179-deduction-calculator-mcpcalculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_paymenthttps://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp
student-loan-repayment-assistance-plan-calculator-mcpcalculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dateshttps://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp
subdomain-finder-mcpfind_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surfacehttps://subdomain-finder-mcp.lipmichal.workers.dev/mcp
uk-statutory-sick-pay-maternity-pay-calculator-mcpcalculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibilityhttps://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp

The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one

Source: README.md at commit 6c30a63

Tools

5

list_federal_holidays

List U.S. federal holidays for a year

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.

Parametersyearrequired

is_business_day

Check if a date is a U.S. business day

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.

Parametersdaterequiredcalendarextra_closed_datesinclude_inauguration_day

add_business_days

Add or subtract U.S. business days

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.

Parameterscalendarstart_daterequiredbusiness_daysrequiredextra_closed_datesinclude_inauguration_day

count_business_days

Count U.S. business days between two dates

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.

Parameterscalendarend_daterequiredstart_daterequiredinclude_endinclude_startextra_closed_datesinclude_inauguration_day

invoice_due_date

Invoice due date from net terms

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.

Parametersrollcalendarnet_daysrequiredissue_daterequiredextra_closed_dates

Version history

1
  1. v1.0.0LatestOct 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts