TradingCalendars
com.tradingcalendars/holidaystradingcalendars.comstreamable-httpv1.1.0Scanned
Business days, T+N settlement dates and holidays for FX, banks, payments and exchanges.
17 tools: 1 do something that can't be undone, 8 change things and 8 only read.
- Reads private data · 3
- Reads text others write · 0
- Can send data out · 0
- No findings
Anlyon alternative
9 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.
17 tools
Can't be undone 1Claude Code: ask
payment_system_holidaysPayment system holidays (e.g.No findings
Why it is in this group
- The name "payment_system_holidays" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Payment system holidays (e.g. TARGET2, FEDWIRE): days the system does not process or settle. start defaults to today.
Changes things 8Claude Code: ask
add_business_daysDate that is N business days after (or before, with negative days) a start date: settlement and value dates (T+1 = 1, T+2 = 2), payment due dates, deadlines.No findings
Why it is in this group
- The name "add_business_days" says "add": a word for a change.
Description, as the server wrote it Date that is N business days after (or before, with negative days) a start date: settlement and value dates (T+1 = 1, T+2 = 2), payment due dates, deadlines. days = 0 rolls a non-business start forward to the next business day. Lists every non-business day skipped and why. calendars: one or more calendar codes from list_calendars, e.g. ["USD.FX", "EUR.FX"] for a EUR/USD FX trade, ["XNYS.SETTLE"] for NYSE settlement, ["TARGET2.PAY"] for euro payments, ["GBLON.BANK"] for London banks. A date counts as a business day only when it is open in every calendar given. date defaults to today.
bank_holidaysBank holidays for a financial centre (UN/LOCODE, e.g.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.
Description, as the server wrote it Bank holidays for a financial centre (UN/LOCODE, e.g. USNYC): days retail and commercial banks are closed. start defaults to today.
business_days_betweenNumber of business days between two dates (start counted, end not counted, like numpy.busday_count), with the non-business days in between and why.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.
Description, as the server wrote it Number of business days between two dates (start counted, end not counted, like numpy.busday_count), with the non-business days in between and why. calendars: one or more calendar codes from list_calendars, e.g. ["USD.FX", "EUR.FX"] for a EUR/USD FX trade, ["XNYS.SETTLE"] for NYSE settlement, ["TARGET2.PAY"] for euro payments, ["GBLON.BANK"] for London banks. A date counts as a business day only when it is open in every calendar given.
currency_non_clearing_daysCurrency non-clearing days (ISO 4217, e.g.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.
Description, as the server wrote it Currency non-clearing days (ISO 4217, e.g. USD): days the currency cannot clear or settle. Use to validate FX value dates. start defaults to today.
fx_market_holidaysFX market holidays for a currency (ISO 4217, e.g.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.
Description, as the server wrote it FX market holidays for a currency (ISO 4217, e.g. USD): days the FX market for that currency does not trade. start defaults to today.
is_business_dayIs a date a business day?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.
Description, as the server wrote it Is a date a business day? Answers for one or several calendars at once and says why not (holiday name, weekend) or flags a half day / early close. calendars: one or more calendar codes from list_calendars, e.g. ["USD.FX", "EUR.FX"] for a EUR/USD FX trade, ["XNYS.SETTLE"] for NYSE settlement, ["TARGET2.PAY"] for euro payments, ["GBLON.BANK"] for London banks. A date counts as a business day only when it is open in every calendar given. date defaults to today (yyyy-mm-dd).
settlement_holidaysExchange settlement holidays for a market (ISO 10383 MIC, e.g.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.
Description, as the server wrote it Exchange settlement holidays for a market (ISO 10383 MIC, e.g. XNYS): days clearing and settlement cannot take place. start defaults to today.
trading_holidaysExchange trading holidays for a market (ISO 10383 MIC, e.g.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.
Description, as the server wrote it Exchange trading holidays for a market (ISO 10383 MIC, e.g. XNYS): days the exchange is closed for trading, including shortened sessions (half_day and early_close_time fields). start defaults to today.
Only reads 8Show 8 read-only tools
get_holidaysHolidays for one calendar by code (e.g.Reads private dataNo findings
Why it is in this group
- The name "get_holidays" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "calendar": it reads calendars.
- private-dataThe input names a calendar (input.calendar), and the tool reads: it reads calendars.
Description, as the server wrote it Holidays for one calendar by code (e.g. USD.FX). start defaults to today; pass an earlier start for historical holidays, end to bound forward dates. Rows carry original_date when a holiday is observed on a shifted date, plus half-day and early-close details.
get_weekendsWeekend definitions and working weekends for one calendar code (e.g.Reads private dataNo findings
Why it is in this group
- The name "get_weekends" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "calendar": it reads calendars.
- private-dataThe input names a calendar (input.calendar), and the tool reads: it reads calendars.
Description, as the server wrote it Weekend definitions and working weekends for one calendar code (e.g. USD.FX). weekend_days is the definition in force today (ISO weekday numbers); weekend_definitions carries the full history.
list_calendarsList published holiday calendars available to your plan.Reads private dataNo findings
Why it is in this group
- The name "list_calendars" says "list": a word for reading.
What it can reach
- private-dataThe name "list_calendars" says "list" and "calendar": it reads calendars.
- private-dataThe description's first sentence says "list" and "calendar": it reads calendars.
- private-dataThe input names a calendar (input.calendar_type), and the tool reads: it reads calendars.
Description, as the server wrote it List published holiday calendars available to your plan. Optional calendar_type filters by family (CURRENCY_FX, CURRENCY_NON_CLEARING, FINANCIAL_CENTRE, PAYMENT_SYSTEM, EXCHANGE_TRADING, EXCHANGE_SETTLEMENT).
list_currenciesList covered currencies (ISO 4217) with issuing country and issuer.No findings
Why it is in this group
- The name "list_currencies" says "list": a word for reading.
Description, as the server wrote it List covered currencies (ISO 4217) with issuing country and issuer.
list_exchangesList covered exchanges (ISO 10383 MIC) with country, city, and timezone.No findings
Why it is in this group
- The name "list_exchanges" says "list": a word for reading.
Description, as the server wrote it List covered exchanges (ISO 10383 MIC) with country, city, and timezone.
list_financial_centresList covered financial centres (UN/LOCODE) with country and timezone.No findings
Why it is in this group
- The name "list_financial_centres" says "list": a word for reading.
Description, as the server wrote it List covered financial centres (UN/LOCODE) with country and timezone.
list_payment_systemsList covered payment systems with operator, type, currency, and country.No findings
Why it is in this group
- The name "list_payment_systems" says "list": a word for reading.
Description, as the server wrote it List covered payment systems with operator, type, currency, and country.
market_statusLive open/half/closed status for exchanges, evaluated against real trading hours and today's trading holidays in each exchange's timezone.No findings
Why it is in this group
- The name "market_status" says "status": a word for reading.
Description, as the server wrote it Live open/half/closed status for exchanges, evaluated against real trading hours and today's trading holidays in each exchange's timezone. Includes next_open_at and next_close_at timestamps. Pass a MIC (e.g. XNYS) for one market or omit it for all. Requires a plan with exchange trading data (Free, Exchange, or All-in-one).
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 data3
- 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.
No check matched anything in these tool definitions. That is not a safety guarantee.
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.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http holidays https://api.tradingcalendars.com/mcpclaude mcp add --transport http holidays https://api.tradingcalendars.com/mcpRun 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.
{
"permissions": {
"allow": [
"mcp__holidays__list_calendars",
"mcp__holidays__get_holidays",
"mcp__holidays__list_currencies",
"mcp__holidays__list_exchanges",
"mcp__holidays__list_financial_centres",
"mcp__holidays__list_payment_systems",
"mcp__holidays__get_weekends",
"mcp__holidays__market_status"
],
"ask": [
"mcp__holidays__fx_market_holidays",
"mcp__holidays__currency_non_clearing_days",
"mcp__holidays__bank_holidays",
"mcp__holidays__payment_system_holidays",
"mcp__holidays__trading_holidays",
"mcp__holidays__settlement_holidays",
"mcp__holidays__is_business_day",
"mcp__holidays__add_business_days",
"mcp__holidays__business_days_between"
],
"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 holidays. Review it before you use it.
Capability tags behind 3 rules
- mcp__holidays__list_calendars private-data
- mcp__holidays__get_holidays private-data
- mcp__holidays__get_weekends 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/com.tradingcalendars/holidays/verify?hash=a947d84d89d9618e69bfeb090c27d0ad9a73e70960b0c2f644e8bc068c49babf" | jq -e '.changed == false'Pinned hash a947d84d89d9, from Nov 3, 2026, 13:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.tradingcalendars/holidays/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.tradingcalendars/holidays)Source: MCP Registry. Synced Nov 3, 2026, 13:17 UTC.