Stock exchange trading days, hours, live market status (28 exchanges) and holidays (247 countries).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use when an agent must know if a date is a business day in a country, or compute a due date: weekend or holiday (with name), previous/next business day, date plus N business days (add=), business days until a date (to=). 247 countries, 2026-2028, optional state/province (region=), local weekends (e.g. Fri-Sat). Bad input: HTTP 400, no charge. Price: 0.002 USDC per successful call (x402).
2-letter ISO country code, e.g. AT, DE, US, GB, FR, JP, IN, BR, AE. 247 countries; free list: GET /v1/holiday-countries.
Optional end date YYYY-MM-DD (>= date): count business days from date to it, both included.
Optional: number of business days to add (negative = go back), -260 to 260.
Day as YYYY-MM-DD. Optional, default: today (UTC).
Optional state/province for regional holidays, e.g. BY or DE-BY (Bavaria), CA (California), 9 (Vienna). Listed per country in GET /v1/holiday-countries.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http handelskalender-api https://handelskalender-api.pages.dev/mcp
Use when an agent must know if a date is a business day in a country, or compute a due date: weekend or holiday (with name), previous/next business day, date plus N business days (add=), business days until a date (to=). 247 countries, 2026-2028, optional state/province (region=), local weekends (e.g. Fri-Sat). Bad input: HTTP 400, no charge. Price: 0.002 USDC per successful call (x402).
| Argument | Type | Description |
|---|---|---|
| to | string | Optional end date YYYY-MM-DD (>= date): count business days from date to it, both included. |
| add | string | Optional: number of business days to add (negative = go back), -260 to 260. |
| date | string | Day as YYYY-MM-DD. Optional, default: today (UTC). |
| region | string | Optional state/province for regional holidays, e.g. BY or DE-BY (Bavaria), CA (California), 9 (Vienna). Listed per country in GET /v1/holiday-countries. |
| country* | string | 2-letter ISO country code, e.g. AT, DE, US, GB, FR, JP, IN, BR, AE. 247 countries; free list: GET /v1/holiday-countries. |
{
"type": "object",
"required": [
"country"
],
"properties": {
"to": {
"type": "string",
"description": "Optional end date YYYY-MM-DD (>= date): count business days from date to it, both included."
},
"add": {
"type": "string",
"description": "Optional: number of business days to add (negative = go back), -260 to 260."
},
"date": {
"type": "string",
"description": "Day as YYYY-MM-DD. Optional, default: today (UTC)."
},
"region": {
"type": "string",
"description": "Optional state/province for regional holidays, e.g. BY or DE-BY (Bavaria), CA (California), 9 (Vienna). Listed per country in GET /v1/holiday-countries."
},
"country": {
"type": "string",
"description": "2-letter ISO country code, e.g. AT, DE, US, GB, FR, JP, IN, BR, AE. 247 countries; free list: GET /v1/holiday-countries."
}
}
}Use when an agent needs to know right now which stock exchanges are open: open, lunch break, pre-market, after-hours or closed (with holiday name), local time, exact next open and close in UTC. One call checks up to 28 exchanges (default all) incl. NYSE, Nasdaq, LSE, Xetra, Euronext, Tokyo, HKEX, Shanghai, ASX. Official exchange calendars only; unknown exchange: HTTP 400, no charge. Price: 0.002 USDC per successful call (x402).
| Argument | Type | Description |
|---|---|---|
| exchanges | string | Comma-separated MIC codes or names, e.g. XNYS,XETR,XTKS. Optional, default: all exchanges. |
{
"type": "object",
"properties": {
"exchanges": {
"type": "string",
"description": "Comma-separated MIC codes or names, e.g. XNYS,XETR,XTKS. Optional, default: all exchanges."
}
}
}Use when an agent needs all public holidays of a country for a year (planning deliveries, payments, deadlines, staffing). 247 countries, 2026-2028, optional state/province (region=) for regional holidays. English and local names, weekend days of the country, moon-dependent dates flagged as estimated. Bad input: HTTP 400 before payment, no charge. Price: 0.002 USDC per successful call (x402).
| Argument | Type | Description |
|---|---|---|
| year | string | Year, e.g. 2027. Optional, default: current year. Covered: 2026-2028. |
| region | string | Optional state/province for regional holidays, e.g. BY or DE-BY (Bavaria), CA (California), 9 (Vienna). Listed per country in GET /v1/holiday-countries. |
| country* | string | 2-letter ISO country code, e.g. AT, DE, US, GB, FR, JP, IN, BR, AE. 247 countries; free list: GET /v1/holiday-countries. |
{
"type": "object",
"required": [
"country"
],
"properties": {
"year": {
"type": "string",
"description": "Year, e.g. 2027. Optional, default: current year. Covered: 2026-2028."
},
"region": {
"type": "string",
"description": "Optional state/province for regional holidays, e.g. BY or DE-BY (Bavaria), CA (California), 9 (Vienna). Listed per country in GET /v1/holiday-countries."
},
"country": {
"type": "string",
"description": "2-letter ISO country code, e.g. AT, DE, US, GB, FR, JP, IN, BR, AE. 247 countries; free list: GET /v1/holiday-countries."
}
}
}Use when an agent plans ahead and needs every closure of a stock exchange for a whole year: holiday names, half days, late openings, regular hours, count of trading days. 28 exchanges incl. NYSE, Nasdaq, LSE, Xetra, Euronext, SIX, Tokyo, HKEX, Shanghai, ASX. Official exchange calendars only; bad input or uncovered year: HTTP 400, no charge. Price: 0.002 USDC per successful call (x402).
| Argument | Type | Description |
|---|---|---|
| year | string | Year, e.g. 2026. Optional, default: current year. |
| exchange* | string | Exchange MIC code, e.g. XNYS (NYSE), XNAS (Nasdaq), XLON (London), XETR (Xetra), XPAR (Paris), XTKS (Tokyo), XHKG (Hong Kong). Common names also work (NYSE, Xetra, LSE). Free list: GET /v1/exchanges. |
{
"type": "object",
"required": [
"exchange"
],
"properties": {
"year": {
"type": "string",
"description": "Year, e.g. 2026. Optional, default: current year."
},
"exchange": {
"type": "string",
"description": "Exchange MIC code, e.g. XNYS (NYSE), XNAS (Nasdaq), XLON (London), XETR (Xetra), XPAR (Paris), XTKS (Tokyo), XHKG (Hong Kong). Common names also work (NYSE, Xetra, LSE). Free list: GET /v1/exchanges."
}
}
}Use when an agent needs to know if a stock exchange trades on a given day (default today) before scheduling orders, reports or alerts. 28 exchanges incl. NYSE, Nasdaq, LSE, Xetra, Euronext, SIX, Tokyo, HKEX, Shanghai, ASX. Returns holiday name, hours in local time + UTC, half days, lunch breaks, pre/after-market (Nasdaq, Xetra), live status, next open/close, previous/next trading day. Official exchange calendars only; bad input: HTTP 400, no charge. Price: 0.002 USDC per successful call (x402).
| Argument | Type | Description |
|---|---|---|
| date | string | Day as YYYY-MM-DD. Optional, default: today in the exchange's time zone. |
| exchange* | string | Exchange MIC code, e.g. XNYS (NYSE), XNAS (Nasdaq), XLON (London), XETR (Xetra), XPAR (Paris), XTKS (Tokyo), XHKG (Hong Kong). Common names also work (NYSE, Xetra, LSE). Free list: GET /v1/exchanges. |
{
"type": "object",
"required": [
"exchange"
],
"properties": {
"date": {
"type": "string",
"description": "Day as YYYY-MM-DD. Optional, default: today in the exchange's time zone."
},
"exchange": {
"type": "string",
"description": "Exchange MIC code, e.g. XNYS (NYSE), XNAS (Nasdaq), XLON (London), XETR (Xetra), XPAR (Paris), XTKS (Tokyo), XHKG (Hong Kong). Common names also work (NYSE, Xetra, LSE). Free list: GET /v1/exchanges."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 9, 2026.