Business Days & SLA
REMOTE · VESSARK.COM · SCANNED AUG 3
Business-day, SLA, cron and recurrence calculations — offline, holiday-aware, no network.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 32 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2497 tokens (~78/item across 32 items; 32 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 57% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · vessark.com
claude mcp add --transport http vessark-business-days-mcp https://vessark.com/mcp
[mcp_servers.vessark-business-days-mcp] url = "https://vessark.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vessark-business-days-mcp": {
"type": "remote",
"url": "https://vessark.com/mcp",
"enabled": true
}
}
} openclaw mcp add vessark-business-days-mcp --url https://vessark.com/mcp --transport streamable-http
mcp_servers:
vessark-business-days-mcp:
url: "https://vessark.com/mcp" {
"mcpServers": {
"vessark-business-days-mcp": {
"type": "http",
"url": "https://vessark.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +2
- Tool “last_business_day_of_month” rewrote its description, which is the text the model reads security
- Tool “previous_business_day” rewrote its description, which is the text the model reads security
- Tool “next_business_day” rewrote its description, which is the text the model reads security
- Tool “first_business_day_of_month” rewrote its description, which is the text the model reads security
- Schema quality: 63 → 78 ▼ functional
- Tool coverage: 43% → 57% ▲ functional
- Stability: unverified → 0.03 ▲ functional
- “first_business_day_of_month” reworded the description of “country” cosmetic
- “first_business_day_of_month” reworded the description of “subdivision” cosmetic
- “first_business_day_of_month” reworded the description of “year” cosmetic
- “last_business_day_of_month” reworded the description of “country” cosmetic
- “last_business_day_of_month” reworded the description of “subdivision” cosmetic
- “last_business_day_of_month” reworded the description of “year” cosmetic
- “next_business_day” reworded the description of “country” cosmetic
- “next_business_day” reworded the description of “subdivision” cosmetic
- “previous_business_day” reworded the description of “country” cosmetic
- “previous_business_day” reworded the description of “subdivision” cosmetic
- 27 Jul 26 58
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://vessark.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=vessark.com | CN=YE2,O=Let's Encrypt,C=US | 26 Jul 2026 | 24 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6670226beba4d85dce33b39d5dc8155e5a4 |
| SANs: vessark.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of vessark.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| vessark.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://vessark.com/mcp | Verified | 200 | |
| http (plaintext) | http://vessark.com/mcp | HTTPS enforced | 308 | https://vessark.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_business_days ~84
Move a number of working days forward or backward from a date, skipping weekends and public holidays. Use a negative number to count backwards. Zero returns the date unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| date | string | yes | Calendar date, YYYY-MM-DD. |
| days | integer | yes | Working days to move; may be negative. |
| subdivision | string | — | — |
No output schema declared.
No examples provided.
business_days_between ~103
Counts the working days between two dates, excluding weekends and public holidays. The range is half-open — the start date counts and the end date does not — so Monday to Tuesday is one working day. The result is negative when the end precedes the start.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| end_date | string | yes | Calendar date, YYYY-MM-DD. |
| start_date | string | yes | Calendar date, YYYY-MM-DD. |
| subdivision | string | — | — |
No output schema declared.
No examples provided.
create_invoice ~69
Create a draft invoice for a customer of the connected workspace. Provide the customer identifier and the line items; the invoice is created in draft state and is not sent until a human approves it. Invoicing requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | — |
| customer_id | string | yes | — |
No output schema declared.
No examples provided.
explain_cron_expression ~70
Translate a five-field cron expression into plain English. Supports ranges, lists, steps, and month or weekday names. This describes the expression; it never schedules or executes anything.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | A five-field cron expression, e.g. '30 9 * * MON-FRI'. |
No output schema declared.
No examples provided.
explain_recurrence_rule ~63
Describes an iCalendar recurrence rule (RRULE) in plain English. Nothing is scheduled or executed.
| Name | Type | Req | Description |
|---|---|---|---|
| rule | string | yes | An RFC 5545 recurrence rule, e.g. 'FREQ=WEEKLY;BYDAY=MO,WE'. |
No output schema declared.
No examples provided.
find_similar_tickets ~69
Given the text of a support ticket, returns previously resolved tickets whose descriptions are semantically similar, so an agent can reuse an earlier resolution rather than starting from scratch. Searches the ticket history of the connected Vessark workspace and requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| ticket_text | string | yes | — |
No output schema declared.
No examples provided.
first_business_day_of_month ~183
Returns the first working day of a calendar month, scanning forward from the 1st past weekends and public holidays for the chosen country or subdivision. Read-only; nothing is scheduled. Use this for month-opening deadlines such as billing runs or reporting cut-offs; use last_business_day_of_month for the closing end of a month, and next_business_day to step relative to an arbitrary date rather than a month boundary. Country defaults to US; subdivision narrows the holiday set (e.g. SCT for Scotland), so the answer can differ between regions of the same country.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code. Defaults to US. |
| month | integer | yes | 1-12. |
| subdivision | string | — | Optional subdivision code, e.g. SCT. |
| year | integer | yes | Four-digit calendar year. |
No output schema declared.
No examples provided.
get_account_balance ~33
Get the balance of a billing account in your workspace (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | — |
No output schema declared.
No examples provided.
get_customer_record ~73
Retrieves the full customer record for a given customer identifier, including account status, plan tier, and the primary contact on file. Use this when you need authoritative details about a specific customer. Reads from the connected workspace's customer database, which requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | yes | The customer's unique identifier. |
No output schema declared.
No examples provided.
get_env_config ~33
Returns the environment configuration for a deployment in the connected workspace. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| deployment | string | yes | — |
No output schema declared.
No examples provided.
is_business_day ~81
Returns whether a date is a working day, accounting for weekends and public holidays in the given country or subdivision.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code. Defaults to US. |
| date | string | yes | Calendar date, YYYY-MM-DD. |
| subdivision | string | — | Optional subdivision code, e.g. SCT. |
No output schema declared.
No examples provided.
last_business_day_of_month ~184
Returns the last working day of a calendar month, scanning backwards from the final calendar day past weekends and public holidays for the chosen country or subdivision. Read-only; nothing is scheduled. Use this for month-end deadlines such as payroll, invoicing or period close; use first_business_day_of_month for the opening end of a month, and previous_business_day to step relative to an arbitrary date rather than a month boundary. Country defaults to US; subdivision narrows the holiday set (e.g. SCT for Scotland), so the answer can differ between regions of the same country.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code. Defaults to US. |
| month | integer | yes | 1-12. |
| subdivision | string | — | Optional subdivision code, e.g. SCT. |
| year | integer | yes | Four-digit calendar year. |
No output schema declared.
No examples provided.
list_api_keys ~32
List the API keys for a service in your workspace (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | yes | — |
No output schema declared.
No examples provided.
list_directory ~33
Lists the entries in a directory of the workspace's file storage. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | — |
No output schema declared.
No examples provided.
list_transactions ~32
Lists recent transactions for an account in the connected workspace. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | — |
No output schema declared.
No examples provided.
lookup_order_status ~33
Look up the status of an order in your workspace (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | — |
No output schema declared.
No examples provided.
next_business_day ~153
Returns the first working day strictly after the given date, stepping over weekends and public holidays for the chosen country or subdivision. Read-only and idempotent. The date itself is never returned even if it is a working day — use is_business_day to test a single date, add_business_days to move a known number of working days, or previous_business_day to step backwards. Country defaults to US; subdivision narrows the holiday set (e.g. SCT for Scotland).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code. Defaults to US. |
| date | string | yes | Calendar date, YYYY-MM-DD. |
| subdivision | string | — | Optional subdivision code, e.g. SCT. |
No output schema declared.
No examples provided.
next_cron_occurrences ~126
Computes when a five-field cron expression would next fire after a given start time, returning up to 60 timestamps. A pure calculation over the expression: no job is created, stored, or executed.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | — | How many occurrences to return, 1-60. Defaults to 5. |
| expression | string | yes | A five-field cron expression, e.g. '30 9 * * MON-FRI'. |
| start | string | yes | Occurrences are computed after this, e.g. 2026-07-27T09:00. |
No output schema declared.
No examples provided.
next_recurrence_occurrences ~152
Expand an iCalendar recurrence rule (RRULE) into its next occurrences from a start date and time, honouring INTERVAL, COUNT, UNTIL, BYDAY, BYMONTHDAY, and BYMONTH. A pure calculation: it creates no schedule, stores nothing, and runs nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | — | How many occurrences to return, 1-60. Defaults to 5. |
| rule | string | yes | An RFC 5545 recurrence rule, e.g. 'FREQ=WEEKLY;BYDAY=MO,WE'. |
| start | string | yes | Occurrences begin at or after this, e.g. 2026-07-27T09:00. |
No output schema declared.
No examples provided.
post_status_update ~66
Publishes a status update to the connected Vessark workspace's internal status page, notifying subscribed teams that the operational state of a service has changed. Publishing requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | — | — |
| service | string | yes | — |
| state | string | yes | — |
No output schema declared.
No examples provided.
previous_business_day ~156
Returns the last working day strictly before the given date, stepping back over weekends and public holidays for the chosen country or subdivision. Read-only and idempotent. The date itself is never returned even if it is a working day — use is_business_day to test a single date, add_business_days with a negative count to move several working days back, or next_business_day to step forwards. Country defaults to US; subdivision narrows the holiday set (e.g. SCT for Scotland).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | ISO 3166-1 alpha-2 country code. Defaults to US. |
| date | string | yes | Calendar date, YYYY-MM-DD. |
| subdivision | string | — | Optional subdivision code, e.g. SCT. |
No output schema declared.
No examples provided.
query_metrics ~72
Query the time-series metrics store of the connected workspace. Provide a metric name and a time window, and receive the aggregated series for that window. Use this to inspect operational trends before taking action. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| metric | string | yes | — |
| window | string | — | e.g. 1h |
No output schema declared.
No examples provided.
read_file ~32
Read the contents of a file from your workspace's storage (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | — |
No output schema declared.
No examples provided.
rotate_service_token ~56
Rotates the authentication token for a service account in the connected Vessark workspace and returns the newly issued token. The previous token is invalidated once rotation completes. Rotation requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| service_account | string | yes | — |
No output schema declared.
No examples provided.
search_internal_docs ~30
Search your workspace's internal documentation (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search terms. |
No output schema declared.
No examples provided.
send_email ~43
Send an email from your workspace's address (requires Business-tier authorization).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | — |
| subject | string | yes | — |
| to | string | yes | — |
No output schema declared.
No examples provided.
send_slack_message ~43
Posts a message to a Slack channel through the workspace's Slack connection. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | — |
| text | string | yes | — |
No output schema declared.
No examples provided.
sla_due_time ~161
Works out when a service-level agreement falls due, counting only business hours on working days. If the clock starts outside business hours it waits until the next working day opens. Business hours default to 09:00-17:00 and times are wall-clock in the calendar's own locality.
| Name | Type | Req | Description |
|---|---|---|---|
| business_hours | number | yes | How many business hours are allowed. |
| closes | string | — | Closing time, HH:MM. Defaults to 17:00. |
| country | string | — | — |
| opens | string | — | Opening time, HH:MM. Defaults to 09:00. |
| start | string | yes | When the clock starts, e.g. 2026-07-27T09:00. |
| subdivision | string | — | — |
No output schema declared.
No examples provided.
validate_cron_expression ~57
Checks whether a five-field cron expression is syntactically valid. Parsing only; nothing is scheduled or run.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | A five-field cron expression, e.g. '30 9 * * MON-FRI'. |
No output schema declared.
No examples provided.
validate_recurrence_rule ~65
Check whether an iCalendar recurrence rule (RRULE) is valid and supported. Parsing only; nothing is scheduled.
| Name | Type | Req | Description |
|---|---|---|---|
| rule | string | yes | An RFC 5545 recurrence rule, e.g. 'FREQ=WEEKLY;BYDAY=MO,WE'. |
No output schema declared.
No examples provided.
web_search ~43
Runs a web search on the workspace's behalf and returns ranked results. Requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum results. |
| query | string | yes | — |
No output schema declared.
No examples provided.
write_report ~67
Write a generated report to the connected workspace's reports area. Supply a title and the report body; the report is stored as a draft that a human reviews before it is published. Writing to the workspace requires Business-tier authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | — |
| title | string | yes | — |
No output schema declared.
No examples provided.