OperatorNest tools
Calculate API and subscription costs, meeting time zones, recurring schedules and cron matches.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- HIGH
- MEDIUMai_api_cost에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"tools": {
"url": "https://operatornest.com/mcp"
}
}
}원격 엔드포인트
https://operatornest.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢ai_api_cost(inputTokens, cachedInputTokens, outputTokens, requestsPerDay, requestsPerMonth, ...)
Estimate API workload costs in USD per request, day and month, with rates and dated snapshot provenance. Use for token budgets; use ai_subscription_stack_cost for chat or coding subscriptions. Model IDs use providerId/id from https://operatornest.com/api/models?subset=pricing, filtered to the MCP catalog; the OSS bundle lists accepted IDs in src/data/pricing-snapshot.json. Rates stay offline until the catalog is updated; missing rates return null. Cached tokens are part of total input; published batch and long-context rates apply only when eligible. Non-token charges are excluded.
입력 스키마
{
"type": "object",
"properties": {
"inputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Total input tokens per request, including cached input tokens.",
"examples": [
10000
]
},
"cachedInputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Cached portion of inputTokens per request; must not exceed inputTokens. Use 0 without caching.",
"examples": [
5000
]
},
"outputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Generated output tokens per request.",
"examples": [
2000
]
},
"requestsPerDay": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Requests used to scale the daily estimate, independent of requestsPerMonth.",
"examples": [
100
]
},
"requestsPerMonth": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Requests used to scale the monthly estimate; not inferred from the daily count.",
"examples": [
3000
]
},
"modelIds": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"uniqueItems": true,
"description": "Unique providerId/id values from the MCP pricing catalog. Unknown or unavailable IDs fail validation.",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Model ID accepted by the MCP pricing catalog."
}
},
"batchModelIds": {
"type": "array",
"minItems": 0,
"maxItems": 20,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Selected model ID with a published batch discount."
},
"description": "Optional subset of modelIds to price with published batch discounts. Omission or [] uses standard rates; IDs without a published discount are rejected.",
"examples": [
[]
]
}
},
"required": [
"inputTokens",
"cachedInputTokens",
"outputTokens",
"requestsPerDay",
"requestsPerMonth",
"modelIds"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"tool": {
"const": "ai-api-cost-calculator",
"description": "Calculator identifier for this result."
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"inputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Total input tokens per request, including cached input tokens.",
"examples": [
10000
]
},
"cachedInputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Cached portion of inputTokens per request; must not exceed inputTokens. Use 0 without caching.",
"examples": [
5000
]
},
"outputTokens": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Generated output tokens per request.",
"examples": [
2000
]
},
"requestsPerDay": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Requests used to scale the daily estimate, independent of requestsPerMonth.",
"examples": [
100
]
},
"requestsPerMonth": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Requests used to scale the monthly estimate; not inferred from the daily count.",
"examples": [
3000
]
},
"modelIds": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"uniqueItems": true,
"description": "Unique providerId/id values from the MCP pricing catalog. Unknown or unavailable IDs fail validation.",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Model ID accepted by the MCP pricing catalog."
}
},
"batchModelIds": {
"type": "array",
"minItems": 0,
"maxItems": 20,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Selected model ID with a published batch discount."
},
"description": "Optional subset of modelIds to price with published batch discounts. Omission or [] uses standard rates; IDs without a published discount are rejected.",
"examples": [
[]
]
}
},
"required": [
"inputTokens",
"cachedInputTokens",
"outputTokens",
"requestsPerDay",
"requestsPerMonth",
"modelIds"
],
"description": "Normalized inputs used for this calculation."
},
"units": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Units for the numeric and time fields in this result."
},
"method": {
"type": "string",
"description": "Calculation or ranking method applied to the inputs."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limits and assumptions to retain when presenting the result."
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Dated data sources or runtime time-zone information used for this result."
},
"estimates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"modelId": {
"type": "string",
"description": "Selected providerId/id from the pricing catalog."
},
"name": {
"type": "string",
"description": "Display name of the selected model or plan."
},
"perRequest": {
"type": [
"number",
"null"
],
"description": "Estimated USD per request; null when any required rate is unlisted."
},
"perDay": {
"type": [
"number",
"null"
],
"description": "Estimated USD per day at requestsPerDay; null when rates are unlisted."
},
"perMonth": {
"type": [
"number",
"null"
],
"description": "Estimated USD per month at requestsPerMonth; null when rates are unlisted."
},
"longContext": {
"type": "boolean",
"description": "Whether published long-context rate multipliers apply."
},
"batch": {
"type": "boolean",
"description": "Whether a requested published batch discount was applied."
},
"ratesPerMillion": {
"type": "object",
"properties": {
"input": {
"type": [
"number",
"null"
],
"description": "Uncached-input USD rate per million tokens; null means unlisted."
},
"cachedInput": {
"type": [
"number",
"null"
],
"description": "Cached-input USD rate per million tokens; falls back to the input rate when absent."
},
"output": {
"type": [
"number",
"null"
],
"description": "Output USD rate per million tokens; null means unlisted."
}
},
"required": [
"input",
"cachedInput",
"output"
],
"additionalProperties": false,
"description": "USD rates per million tokens after long-context multipliers, before batch discounts; null means unlisted."
},
"sourceUrl": {
"type": "string",
"format": "uri",
"description": "Official rate or scheduler syntax reference URL."
},
"note": {
"type": "string",
"description": "Catalog note about pricing limitations."
}
},
"required": [
"modelId",
"name",
"perRequest",
"perDay",
"perMonth",
"longContext",
"batch",
"ratesPerMillion",
"sourceUrl",
"note"
],
"additionalProperties": false
},
"description": "Cost estimates in selected-model order."
}
},
"required": [
"tool",
"input",
"units",
"method",
"assumptions",
"provenance",
"estimates"
],
"additionalProperties": false,
"description": "API token cost estimates with normalized inputs, USD units, rate assumptions and catalog snapshot provenance."
}🟢meeting_time_zones(date, people)
Find shared 30-minute meeting slots inside 09:00–17:00 for 2–8 participants. Use to compare workday overlap; use recurring_schedule for repeating task calendars or cron_next_runs for scheduler previews. Returns all candidates, overlap count and up to three best slots ranked nearest to each person’s 13:00, with UTC starts and local labels. The date belongs to the first participant’s zone; daylight saving uses runtime IANA data. No calendar availability or holiday lookup, invitations or calendar writes.
입력 스키마
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"minLength": 10,
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Meeting date in the first person’s local time zone, from 2000-01-01 to 2100-12-31.",
"examples": [
"2026-10-05"
]
},
"people": {
"type": "array",
"minItems": 2,
"maxItems": 8,
"description": "Participants in display order. The first person determines the local date; all must fit a full half-hour inside 09:00–17:00.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S",
"description": "Participant label used in the returned local-time display.",
"examples": [
"Sam"
]
},
"zone": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S",
"description": "IANA time zone supported by Intl.DateTimeFormat.",
"examples": [
"America/New_York",
"Asia/Kolkata"
]
}
},
"required": [
"name",
"zone"
]
}
}
},
"required": [
"date",
"people"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"tool": {
"const": "meeting-time-zone-planner",
"description": "Calculator identifier for this result."
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"date": {
"type": "string",
"format": "date",
"minLength": 10,
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Meeting date in the first person’s local time zone, from 2000-01-01 to 2100-12-31.",
"examples": [
"2026-10-05"
]
},
"people": {
"type": "array",
"minItems": 2,
"maxItems": 8,
"description": "Participants in display order. The first person determines the local date; all must fit a full half-hour inside 09:00–17:00.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S",
"description": "Participant label used in the returned local-time display.",
"examples": [
"Sam"
]
},
"zone": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S",
"description": "IANA time zone supported by Intl.DateTimeFormat.",
"examples": [
"America/New_York",
"Asia/Kolkata"
]
}
},
"required": [
"name",
"zone"
]
}
}
},
"required": [
"date",
"people"
],
"description": "Normalized inputs used for this calculation."
},
"units": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Units for the numeric and time fields in this result."
},
"method": {
"type": "string",
"description": "Calculation or ranking method applied to the inputs."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limits and assumptions to retain when presenting the result."
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Dated data sources or runtime time-zone information used for this result."
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"description": "Unix epoch milliseconds."
},
"startUtc": {
"type": "string",
"format": "date-time",
"description": "Start instant in ISO 8601 UTC."
},
"inside": {
"type": "array",
"items": {
"type": "boolean"
},
"description": "Whether each participant’s full half-hour fits their 09:00–17:00 workday, in input order."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Local start labels for participants in input order."
},
"score": {
"type": "number",
"description": "Sum of absolute hours from 13:00 at each participant’s slot midpoint; lower ranks first."
}
},
"required": [
"start",
"startUtc",
"inside",
"labels",
"score"
],
"additionalProperties": false
},
"description": "All candidate half-hour starts on the first participant’s local date, in chronological order."
},
"overlapCount": {
"type": "integer",
"minimum": 0,
"description": "Number of candidate slots inside every participant’s workday."
},
"bestSlots": {
"type": "array",
"maxItems": 3,
"items": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"description": "Unix epoch milliseconds."
},
"startUtc": {
"type": "string",
"format": "date-time",
"description": "Start instant in ISO 8601 UTC."
},
"inside": {
"type": "array",
"items": {
"type": "boolean"
},
"description": "Whether each participant’s full half-hour fits their 09:00–17:00 workday, in input order."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Local start labels for participants in input order."
},
"score": {
"type": "number",
"description": "Sum of absolute hours from 13:00 at each participant’s slot midpoint; lower ranks first."
}
},
"required": [
"start",
"startUtc",
"inside",
"labels",
"score"
],
"additionalProperties": false
},
"description": "Up to three shared slots ranked by score, then earliest UTC start; [] means no overlap."
}
},
"required": [
"tool",
"input",
"units",
"method",
"assumptions",
"provenance",
"rows",
"overlapCount",
"bestSlots"
],
"additionalProperties": false,
"description": "Meeting candidates and ranked shared slots with normalized participants, local labels and DST assumptions."
}🟢recurring_schedule(startDate, tasks)
Prepare weekly, biweekly or monthly task calendars and estimate monthly effort for up to 20 tasks. Use to draft a recurring work plan; use cron_next_runs to preview existing cron syntax or meeting_time_zones for shared workday slots. Returns monthly hours, first dates, recurrence rules and an RFC 5545 calendar. Times float in the importing calendar’s local zone; weekly estimates use 52/12 runs per month and biweekly 26/12. owner is a planning label, with no assignment or execution. No calendar is updated; an empty task list returns zero hours and no events.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"format": "date",
"minLength": 10,
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest date for the first occurrence of each task, from 2000-01-01 to 2100-12-31.",
"examples": [
"2026-10-05"
]
},
"tasks": {
"type": "array",
"minItems": 0,
"maxItems": 20,
"description": "Tasks to include in the estimate and calendar. [] returns zero hours and a calendar with no events.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S",
"description": "Task label used as the calendar event summary.",
"examples": [
"Investor update"
]
},
"frequency": {
"type": "string",
"enum": [
"weekly",
"biweekly",
"monthly"
],
"description": "Repeat every week, every two weeks from the first matching weekday, or every month."
},
"day": {
"type": "string",
"enum": [
"MO",
"TU",
"WE",
"TH",
"FR",
"SA",
"SU"
],
"description": "Weekday for weekly/biweekly tasks. Required but ignored for monthly tasks.",
"examples": [
"MO"
]
},
"monthday": {
"type": "integer",
"minimum": 1,
"maximum": 28,
"description": "Day of month for monthly tasks, limited to dates present in every month. Required but ignored for weekly/biweekly tasks.",
"examples": [
1
]
},
"minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "Estimated minutes per run; used for event duration and monthly hours.",
"examples": [
35
]
},
"time": {
"type": "string",
"minLength": 5,
"maxLength": 5,
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
"description": "24-hour HH:mm start time, floating in the importing calendar’s local time zone.",
"examples": [
"09:00"
]
},
"owner": {
"type": "string",
"enum": [
"delegate",
"keep",
"decide"
],
"description": "Planning label: delegate to an operator, keep for yourself, or decide later. Included in the calendar note; does not assign or execute work."
}
},
"required": [
"title",
"frequency",
"day",
"monthday",
"minutes",
"time",
"owner"
]
}
}
},
"required": [
"startDate",
"tasks"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"tool": {
"const": "recurring-task-planner",
"description": "Calculator identifier for this result."
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"startDate": {
"type": "string",
"format": "date",
"minLength": 10,
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest date for the first occurrence of each task, from 2000-01-01 to 2100-12-31.",
"examples": [
"2026-10-05"
]
},
"tasks": {
"type": "array",
"minItems": 0,
"maxItems": 20,
"description": "Tasks to include in the estimate and calendar. [] returns zero hours and a calendar with no events.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S",
"description": "Task label used as the calendar event summary.",
"examples": [
"Investor update"
]
},
"frequency": {
"type": "string",
"enum": [
"weekly",
"biweekly",
"monthly"
],
"description": "Repeat every week, every two weeks from the first matching weekday, or every month."
},
"day": {
"type": "string",
"enum": [
"MO",
"TU",
"WE",
"TH",
"FR",
"SA",
"SU"
],
"description": "Weekday for weekly/biweekly tasks. Required but ignored for monthly tasks.",
"examples": [
"MO"
]
},
"monthday": {
"type": "integer",
"minimum": 1,
"maximum": 28,
"description": "Day of month for monthly tasks, limited to dates present in every month. Required but ignored for weekly/biweekly tasks.",
"examples": [
1
]
},
"minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "Estimated minutes per run; used for event duration and monthly hours.",
"examples": [
35
]
},
"time": {
"type": "string",
"minLength": 5,
"maxLength": 5,
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
"description": "24-hour HH:mm start time, floating in the importing calendar’s local time zone.",
"examples": [
"09:00"
]
},
"owner": {
"type": "string",
"enum": [
"delegate",
"keep",
"decide"
],
"description": "Planning label: delegate to an operator, keep for yourself, or decide later. Included in the calendar note; does not assign or execute work."
}
},
"required": [
"title",
"frequency",
"day",
"monthday",
"minutes",
"time",
"owner"
]
}
}
},
"required": [
"startDate",
"tasks"
],
"description": "Normalized inputs used for this calculation."
},
"units": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Units for the numeric and time fields in this result."
},
"method": {
"type": "string",
"description": "Calculation or ranking method applied to the inputs."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limits and assumptions to retain when presenting the result."
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Unit or source detail for the named field."
},
"description": "Dated data sources or runtime time-zone information used for this result."
},
"monthlyHours": {
"type": "number",
"description": "Estimated monthly hours using 52/12 weekly, 26/12 biweekly and one monthly run."
},
"schedules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "\\S",
"description": "Task label used as the calendar event summary.",
"examples": [
"Investor update"
]
},
"frequency": {
"type": "string",
"enum": [
"weekly",
"biweekly",
"monthly"
],
"description": "Repeat every week, every two weeks from the first matching weekday, or every month."
},
"day": {
"type": "string",
"enum": [
"MO",
"TU",
"WE",
"TH",
"FR",
"SA",
"SU"
],
"description": "Weekday for weekly/biweekly tasks. Required but ignored for monthly tasks.",
"examples": [
"MO"
]
},
"monthday": {
"type": "integer",
"minimum": 1,
"maximum": 28,
"description": "Day of month for monthly tasks, limited to dates present in every month. Required but ignored for weekly/biweekly tasks.",
"examples": [
1
]
},
"minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "Estimated minutes per run; used for event duration and monthly hours.",
"examples": [
35
]
},
"time": {
"type": "string",
"minLength": 5,
"maxLength": 5,
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
"description": "24-hour HH:mm start time, floating in the importing calendar’s local time zone.",
"examples": [
"09:00"
]
},
"owner": {
"type": "string",
"enum": [
"delegate",
"keep",
"decide"
],
"description": "Planning label: delegate to an operator, keep for yourself, or decide later. Included in the calendar note; does not assign or execute work."
},
"firstDate": {
"type": "string",
"format": "date",
"description": "First occurrence on or after startDate."
},
"recurrenceRule": {
"type": "string",
"description": "RFC 5545 RRULE matching the task frequency and day."
}
},
"required": [
"title",
"frequency",
"day",
"monthday",
"minutes",
"time",
"owner",
"firstDate",
"recurrenceRule"
],
"additionalProperties": false
},
"description": "Normalized tasks with their first occurrence and recurrence rule, in input order."
},
"ics": {
"type": "string",
"description": "RFC 5545 calendar with CRLF folding and floating local times."
}
},
"required": [
"tool",
"input",
"units",
"method",
"assumptions",
"provenance",
"monthlyHours",
"schedules",
"ics"
],
"additionalProperties": false,
"description": "Monthly effort estimate, normalized recurrence rules and an importable floating-time calendar."
}🟢ai_subscription_stack_cost(planIds)
Total selected AI chat and coding subscriptions in USD and identify overlapping capabilities. Use to review a subscription stack; use ai_api_cost for API token charges. Select unique planIds from the schema enum; [] returns zero totals and no plans. Returns monthly and annual totals, selected plans, capability groups and dated official sources. Annual totals use published annual billing or twelve monthly charges; taxes, regional differences and promotions are excluded. Bundled rates are dated estimates, without live billing lookup or subscription changes.
입력 스키마
{
"type": "object",
"properties": {
"planIds": {
"type": "array",
"minItems": 0,
"maxItems": 18,
"uniqueItems": true,
"description": "Unique subscription IDs from the enum. An empty list returns zero totals and no selected plans.",
"examples": [
[
"chatgpt-plus",
"claude-pro"
],
[]
],
"items": {
"type": "string",
"enum": [
"chatgpt-go",
"chatgpt-plus",
"chatgpt-pro",
"claude-pro",
"claude-max-5x",
"claude-max-20x",
"google-ai-pro",
"google-ai-ultra-5x",
"google-ai-ultra-20x",
"supergrok",
"supergrok-plus",
"perplexity-pro",
"perplexity-max",
"microsoft-365-premium",
"mistral-pro",
"manus-pro",
"genspark-plus",
"cursor-pro"
],
"description": "ID of a plan in the bundled subscription catalog."
}
}
},
"required": [
"planIds"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"tool": {
"const": "ai-subscription-cost-calculator",
"description": "Calculator identifier for this result."
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"planIds": {
"type": "array",
"minItems": 0,
"maxItems": 18,
"uniqueItems": true,
"description": "Unique subscription IDs from the enum. An empty list returns zero totals and no selected plans.",
"examples": [
[
"chatgpt-plus",
"claude-pro"
],
[]
],
"items": {
"type": "string",
"enum": [
"chatgpt-go",
"chatgpt-plus",
"chatgpt-pro",
"claude-pro",
"claude-max-5x",
"claude-max-20x",
"google-ai-pro",
"google-ai-ultra-5x",
"google-ai-ultra-20x",
"supergrok",
"supergrok-plus",
"perplexity-pro",
"perplexity-max",
"microsoft-365-premium",
"mistral-pro",
"manus-pro",
"genspark-plus",
"cursor-pro"
],
"description": "ID of a plan in the bundled subscription catalog."
}
}
},
"required": [
"planIds"
],
"description": "Normalized inputs used for this calculation."
},
"method": {
"type": "string",
"description": "Calculation or ranking method applied to the inputs."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limits and assumptions to retain when presenting the result."
},
"units": {
"type": "object",
"properties": {
"totals": {
"const": "USD",
"description": "Currency for subscription totals."
}
},
"required": [
"totals"
],
"additionalProperties": false,
"description": "Units for the numeric and time fields in this result."
},
"plans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Catalog identifier for a plan or capability."
},
"provider": {
"type": "string",
"description": "Public subscription provider name."
},
"name": {
"type": "string",
"description": "Display name of the selected model or plan."
},
"monthly": {
"type": "number",
"description": "Published USD monthly charge."
},
"annual": {
"type": [
"number",
"null"
],
"description": "Published USD annual charge; null if only monthly billing is listed."
},
"annualNote": {
"type": "string",
"description": "Qualification about annual billing."
},
"capabilities": {
"type": "object",
"additionalProperties": {
"type": "boolean",
"description": "Whether the plan offers this capability."
},
"description": "Capability IDs mapped to whether the selected plan includes them."
},
"modelFamilies": {
"type": "array",
"items": {
"type": "string"
},
"description": "Model family labels listed for the plan."
},
"source": {
"type": "string",
"description": "Official plan pricing URL."
},
"modelSource": {
"type": "string",
"description": "Official source for plan model access."
},
"checked": {
"type": "string",
"description": "Date the referenced catalog or scheduler source was checked."
},
"sourceNote": {
"type": "string",
"description": "Qualification about the source or plan availability."
}
},
"required": [
"id",
"provider",
"name",
"monthly",
"annual",
"capabilities",
"modelFamilies",
"source",
"modelSource",
"checked"
],
"additionalProperties": false
},
"description": "Selected plans with published USD charges and dated sources, in input order."
},
"monthlyTotal": {
"type": "number",
"description": "Sum of selected monthly USD charges; zero for an empty stack."
},
"annualTotal": {
"type": "number",
"description": "Sum of published annual charges or twelve monthly charges per plan; excludes taxes, regional changes and promotions."
},
"overlap": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Catalog identifier for a plan or capability."
},
"label": {
"type": "string",
"description": "Human-readable capability label."
},
"planIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Selected plans offering this capability; more than one ID indicates overlap."
}
},
"required": [
"id",
"label",
"planIds"
],
"additionalProperties": false
},
"description": "Capability groups and selected plan IDs; more than one plan ID indicates overlap."
},
"provenance": {
"type": "object",
"properties": {
"checked": {
"type": "string",
"description": "Date the referenced catalog or scheduler source was checked."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"planId": {
"type": "string",
"description": "Selected plan ID corresponding to this source."
},
"url": {
"type": "string",
"description": "Official plan pricing URL."
},
"checked": {
"type": "string",
"description": "Date the referenced catalog or scheduler source was checked."
}
},
"required": [
"planId",
"url",
"checked"
],
"additionalProperties": false
},
"description": "Official pricing sources for the selected plans."
}
},
"required": [
"checked",
"sources"
],
"additionalProperties": false,
"description": "Dated data sources or runtime time-zone information used for this result."
}
},
"required": [
"tool",
"input",
"method",
"assumptions",
"units",
"plans",
"monthlyTotal",
"annualTotal",
"overlap",
"provenance"
],
"additionalProperties": false,
"description": "Subscription totals, capability overlap and dated plan sources with normalized selection."
}🟢cron_next_runs(expression, dialect, zone, after, count)
Preview up to 10 cron matches strictly after a supplied UTC instant, within a 366-day search. Use to check existing scheduler syntax; use recurring_schedule to draft task recurrence calendars or meeting_time_zones for participant overlap. Returns UTC starts, local labels, normalized inputs and a dated syntax source; fewer matches or [] means the search window ended. Supports numeric stars, lists, ranges, steps and weekday names in the selected dialect; rejects L, W, # and named months. cloudflare requires UTC; other zones follow runtime daylight saving transitions. No schedule is installed or run.
입력 스키마
{
"type": "object",
"properties": {
"expression": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Cron fields in the selected dialect: five for github/cloudflare, six or seven for quartz, six for aws (optional cron(...) wrapper). Supports *, lists, ranges, steps and weekday names; rejects L, W, # and named months. Quartz/aws require ? in exactly one day field.",
"examples": [
"0 9 * * 1-5"
]
},
"dialect": {
"type": "string",
"enum": [
"github",
"cloudflare",
"quartz",
"aws"
],
"description": "Scheduler syntax and weekday numbering. github uses 0 or 7 for Sunday and 1–6 for Monday–Saturday; the others use 1–7 for Sunday–Saturday.",
"examples": [
"github"
]
},
"zone": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S",
"description": "IANA time zone for matching local cron fields. cloudflare requires UTC. Daylight saving transitions follow the runtime time-zone database.",
"examples": [
"UTC",
"America/New_York"
]
},
"after": {
"type": "string",
"format": "date-time",
"minLength": 20,
"maxLength": 24,
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$",
"description": "UTC ISO instant from 2000 through 2100; matches are strictly after this instant. Only Z offsets are accepted.",
"examples": [
"2026-10-02T00:00:00Z"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum matches to return. The list may be shorter or empty if no further matches occur within the 366-day search.",
"examples": [
3
]
}
},
"required": [
"expression",
"dialect",
"zone",
"after",
"count"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"tool": {
"const": "cron-expression-generator",
"description": "Calculator identifier for this result."
},
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"expression": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Cron fields in the selected dialect: five for github/cloudflare, six or seven for quartz, six for aws (optional cron(...) wrapper). Supports *, lists, ranges, steps and weekday names; rejects L, W, # and named months. Quartz/aws require ? in exactly one day field.",
"examples": [
"0 9 * * 1-5"
]
},
"dialect": {
"type": "string",
"enum": [
"github",
"cloudflare",
"quartz",
"aws"
],
"description": "Scheduler syntax and weekday numbering. github uses 0 or 7 for Sunday and 1–6 for Monday–Saturday; the others use 1–7 for Sunday–Saturday.",
"examples": [
"github"
]
},
"zone": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "\\S",
"description": "IANA time zone for matching local cron fields. cloudflare requires UTC. Daylight saving transitions follow the runtime time-zone database.",
"examples": [
"UTC",
"America/New_York"
]
},
"after": {
"type": "string",
"format": "date-time",
"minLength": 20,
"maxLength": 24,
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$",
"description": "UTC ISO instant from 2000 through 2100; matches are strictly after this instant. Only Z offsets are accepted.",
"examples": [
"2026-10-02T00:00:00Z"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum matches to return. The list may be shorter or empty if no further matches occur within the 366-day search.",
"examples": [
3
]
}
},
"required": [
"expression",
"dialect",
"zone",
"after",
"count"
],
"description": "Normalized inputs used for this calculation."
},
"method": {
"type": "string",
"description": "Calculation or ranking method applied to the inputs."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limits and assumptions to retain when presenting the result."
},
"runs": {
"type": "array",
"maxItems": 10,
"items": {
"type": "object",
"properties": {
"startUtc": {
"type": "string",
"format": "date-time",
"description": "Start instant in ISO 8601 UTC."
},
"label": {
"type": "string",
"description": "Start formatted in the requested IANA time zone."
}
},
"required": [
"startUtc",
"label"
],
"additionalProperties": false
},
"description": "Chronological cron matches strictly after after, up to count; may be shorter or empty within the search window."
},
"searchDays": {
"const": 366,
"description": "Maximum search window in days."
},
"provenance": {
"type": "object",
"properties": {
"sourceUrl": {
"type": "string",
"description": "Official rate or scheduler syntax reference URL."
},
"checked": {
"type": "string",
"description": "Date the referenced catalog or scheduler source was checked."
}
},
"required": [
"sourceUrl",
"checked"
],
"additionalProperties": false,
"description": "Dated data sources or runtime time-zone information used for this result."
}
},
"required": [
"tool",
"input",
"method",
"assumptions",
"runs",
"searchDays",
"provenance"
],
"additionalProperties": false,
"description": "Bounded cron preview with normalized syntax, UTC starts, local labels and scheduler source."
}커뮤니티
증거