Serveur MCP

OperatorNest tools

com.operatornest/tools
Finance et investissement Productivité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Estimates AI API and subscription costs and calculates meeting times, recurring schedules, and cron execution previews.

ai_api_cost
AI API cost
Estimate USD per request, day and month from token counts, caching and published batch discounts. Use for an API workload budget, not chat subscriptions. Model IDs use providerId/id from https://operatornest.com/api/models?subset=pricing; some catalog records are unavailable through MCP. Rates are from the dated catalog snapshot returned with the result.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['inputTokens', 'cachedInputTokens', 'outputTokens', 'requestsPerDay', 'requestsPerMonth', 'modelIds'], 'properties': {'modelIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'uniqueItems': True}, 'inputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'outputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'batchModelIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'minItems': 0, 'description': 'Optional model IDs using a published batch discount.', 'uniqueItems': True}, 'requestsPerDay': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'requestsPerMonth': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'cachedInputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['tool', 'input', 'units', 'method', 'assumptions', 'provenance', 'estimates'], 'properties': {'tool': {'const': 'ai-api-cost-calculator'}, 'input': {'type': 'object', 'required': ['inputTokens', 'cachedInputTokens', 'outputTokens', 'requestsPerDay', 'requestsPerMonth', 'modelIds'], 'properties': {'modelIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'uniqueItems': True}, 'inputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'outputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'batchModelIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'minItems': 0, 'description': 'Optional model IDs using a published batch discount.', 'uniqueItems': True}, 'requestsPerDay': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'requestsPerMonth': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}, 'cachedInputTokens': {'type': 'integer', 'maximum': 100000000, 'minimum': 0}}, 'additionalProperties': False}, 'units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'method': {'type': 'string'}, 'estimates': {'type': 'array', 'items': {'type': 'object', 'required': ['modelId', 'name', 'perRequest', 'perDay', 'perMonth', 'longContext', 'batch', 'ratesPerMillion', 'sourceUrl', 'note'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'batch': {'type': 'boolean'}, 'perDay': {'type': ['number', 'null']}, 'modelId': {'type': 'string'}, 'perMonth': {'type': ['number', 'null']}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'perRequest': {'type': ['number', 'null']}, 'longContext': {'type': 'boolean'}, 'ratesPerMillion': {'type': 'object', 'required': ['input', 'cachedInput', 'output'], 'properties': {'input': {'type': ['number', 'null']}, 'output': {'type': ['number', 'null']}, 'cachedInput': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
ai_subscription_stack_cost
AI subscription stack cost
Total selected AI chat and coding subscriptions in USD and identify overlapping capabilities. Returns monthly charges, annual billing or twelve-charge estimates, plans and dated official sources. Use for reviewing a subscription stack, not API token costs.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['planIds'], 'properties': {'planIds': {'type': 'array', 'items': {'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'], 'type': 'string'}, 'maxItems': 18, 'minItems': 0, 'uniqueItems': True}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['tool', 'input', 'method', 'assumptions', 'units', 'plans', 'monthlyTotal', 'annualTotal', 'overlap', 'provenance'], 'properties': {'tool': {'const': 'ai-subscription-cost-calculator'}, 'input': {'type': 'object', 'required': ['planIds'], 'properties': {'planIds': {'type': 'array', 'items': {'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'], 'type': 'string'}, 'maxItems': 18, 'minItems': 0, 'uniqueItems': True}}, 'additionalProperties': False}, 'plans': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'provider', 'name', 'monthly', 'annual', 'capabilities', 'modelFamilies', 'source', 'modelSource', 'checked'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'annual': {'type': ['number', 'null']}, 'source': {'type': 'string'}, 'checked': {'type': 'string'}, 'monthly': {'type': 'number'}, 'provider': {'type': 'string'}, 'annualNote': {'type': 'string'}, 'sourceNote': {'type': 'string'}, 'modelSource': {'type': 'string'}, 'capabilities': {'type': 'object', 'additionalProperties': {'type': 'boolean'}}, 'modelFamilies': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'units': {'type': 'object', 'required': ['totals'], 'properties': {'totals': {'const': 'USD'}}, 'additionalProperties': False}, 'method': {'type': 'string'}, 'overlap': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'planIds'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'planIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'required': ['checked', 'sources'], 'properties': {'checked': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['planId', 'url', 'checked'], 'properties': {'url': {'type': 'string'}, 'planId': {'type': 'string'}, 'checked': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'annualTotal': {'type': 'number'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'monthlyTotal': {'type': 'number'}}, 'additionalProperties': False}
cron_next_runs
Cron next runs
Preview 1–10 cron matches strictly after a supplied UTC instant within 366 days, in an IANA time zone. Supports numeric stars, lists, ranges, steps and weekday names for GitHub, Cloudflare, Quartz and AWS dialects. L, W, # and named months are rejected. This does not install or run a schedule.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['expression', 'dialect', 'zone', 'after', 'count'], 'properties': {'zone': {'type': 'string', 'pattern': '\\S', 'maxLength': 100, 'minLength': 1}, 'after': {'type': 'string', 'format': 'date-time', 'maxLength': 30, 'description': 'UTC ISO instant from 2000 through 2100; matches are strictly after this instant.'}, 'count': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'dialect': {'enum': ['github', 'cloudflare', 'quartz', 'aws'], 'type': 'string'}, 'expression': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['tool', 'input', 'method', 'assumptions', 'runs', 'searchDays', 'provenance'], 'properties': {'runs': {'type': 'array', 'items': {'type': 'object', 'required': ['startUtc', 'label'], 'properties': {'label': {'type': 'string'}, 'startUtc': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'maxItems': 10}, 'tool': {'const': 'cron-expression-generator'}, 'input': {'type': 'object', 'required': ['expression', 'dialect', 'zone', 'after', 'count'], 'properties': {'zone': {'type': 'string', 'pattern': '\\S', 'maxLength': 100, 'minLength': 1}, 'after': {'type': 'string', 'format': 'date-time', 'maxLength': 30, 'description': 'UTC ISO instant from 2000 through 2100; matches are strictly after this instant.'}, 'count': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'dialect': {'enum': ['github', 'cloudflare', 'quartz', 'aws'], 'type': 'string'}, 'expression': {'type': 'string', 'pattern': '\\S', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, 'method': {'type': 'string'}, 'provenance': {'type': 'object', 'required': ['sourceUrl', 'checked'], 'properties': {'checked': {'type': 'string'}, 'sourceUrl': {'type': 'string'}}, 'additionalProperties': False}, 'searchDays': {'const': 366}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
meeting_time_zones
Meeting time zones
Find 30-minute meeting times inside 09:00–17:00 for 2–8 people in IANA time zones. The date is local to the first person. Applies daylight saving changes; does not read calendars or send invitations.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['date', 'people'], 'properties': {'date': {'type': 'string', 'format': 'date', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Real date from 2000-01-01 to 2100-12-31.'}, 'people': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'zone'], 'properties': {'name': {'type': 'string', 'pattern': '\\S', 'maxLength': 80, 'minLength': 1}, 'zone': {'type': 'string', 'pattern': '\\S', 'maxLength': 100, 'minLength': 1, 'description': 'An IANA time zone supported by Intl.DateTimeFormat, such as America/New_York.'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 2}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['tool', 'input', 'units', 'method', 'assumptions', 'provenance', 'rows', 'overlapCount', 'bestSlots'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'startUtc', 'inside', 'labels', 'score'], 'properties': {'score': {'type': 'number'}, 'start': {'type': 'integer', 'description': 'Unix epoch milliseconds.'}, 'inside': {'type': 'array', 'items': {'type': 'boolean'}}, 'labels': {'type': 'array', 'items': {'type': 'string'}}, 'startUtc': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}}, 'tool': {'const': 'meeting-time-zone-planner'}, 'input': {'type': 'object', 'required': ['date', 'people'], 'properties': {'date': {'type': 'string', 'format': 'date', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Real date from 2000-01-01 to 2100-12-31.'}, 'people': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'zone'], 'properties': {'name': {'type': 'string', 'pattern': '\\S', 'maxLength': 80, 'minLength': 1}, 'zone': {'type': 'string', 'pattern': '\\S', 'maxLength': 100, 'minLength': 1, 'description': 'An IANA time zone supported by Intl.DateTimeFormat, such as America/New_York.'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 2}}, 'additionalProperties': False}, 'units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'method': {'type': 'string'}, 'bestSlots': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'startUtc', 'inside', 'labels', 'score'], 'properties': {'score': {'type': 'number'}, 'start': {'type': 'integer', 'description': 'Unix epoch milliseconds.'}, 'inside': {'type': 'array', 'items': {'type': 'boolean'}}, 'labels': {'type': 'array', 'items': {'type': 'string'}}, 'startUtc': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'maxItems': 3}, 'provenance': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'overlapCount': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
recurring_schedule
Recurring schedule
Estimate monthly hours for weekly, biweekly and monthly tasks and return recurrence rules plus a complete RFC 5545 calendar. Use to prepare a schedule; no task is executed or calendar updated. Times float in the importing calendar’s local time zone.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['startDate', 'tasks'], 'properties': {'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'frequency', 'day', 'monthday', 'minutes', 'time', 'owner'], 'properties': {'day': {'enum': ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'], 'type': 'string'}, 'time': {'type': 'string', 'pattern': '^([01][0-9]|2[0-3]):[0-5][0-9]$'}, 'owner': {'enum': ['delegate', 'keep', 'decide'], 'type': 'string'}, 'title': {'type': 'string', 'pattern': '\\S', 'maxLength': 80, 'minLength': 1}, 'minutes': {'type': 'integer', 'maximum': 1440, 'minimum': 1}, 'monthday': {'type': 'integer', 'maximum': 28, 'minimum': 1}, 'frequency': {'enum': ['weekly', 'biweekly', 'monthly'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 0}, 'startDate': {'type': 'string', 'format': 'date', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Real date from 2000-01-01 to 2100-12-31.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['tool', 'input', 'units', 'method', 'assumptions', 'provenance', 'monthlyHours', 'schedules', 'ics'], 'properties': {'ics': {'type': 'string', 'description': 'RFC 5545 calendar with CRLF folding and floating local times.'}, 'tool': {'const': 'recurring-task-planner'}, 'input': {'type': 'object', 'required': ['startDate', 'tasks'], 'properties': {'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'frequency', 'day', 'monthday', 'minutes', 'time', 'owner'], 'properties': {'day': {'enum': ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'], 'type': 'string'}, 'time': {'type': 'string', 'pattern': '^([01][0-9]|2[0-3]):[0-5][0-9]$'}, 'owner': {'enum': ['delegate', 'keep', 'decide'], 'type': 'string'}, 'title': {'type': 'string', 'pattern': '\\S', 'maxLength': 80, 'minLength': 1}, 'minutes': {'type': 'integer', 'maximum': 1440, 'minimum': 1}, 'monthday': {'type': 'integer', 'maximum': 28, 'minimum': 1}, 'frequency': {'enum': ['weekly', 'biweekly', 'monthly'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 0}, 'startDate': {'type': 'string', 'format': 'date', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Real date from 2000-01-01 to 2100-12-31.'}}, 'additionalProperties': False}, 'units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'method': {'type': 'string'}, 'schedules': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'frequency', 'day', 'monthday', 'minutes', 'time', 'owner', 'firstDate', 'recurrenceRule'], 'properties': {'day': {'enum': ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'], 'type': 'string'}, 'time': {'type': 'string', 'pattern': '^([01][0-9]|2[0-3]):[0-5][0-9]$'}, 'owner': {'enum': ['delegate', 'keep', 'decide'], 'type': 'string'}, 'title': {'type': 'string', 'pattern': '\\S', 'maxLength': 80, 'minLength': 1}, 'minutes': {'type': 'integer', 'maximum': 1440, 'minimum': 1}, 'monthday': {'type': 'integer', 'maximum': 28, 'minimum': 1}, 'firstDate': {'type': 'string', 'format': 'date'}, 'frequency': {'enum': ['weekly', 'biweekly', 'monthly'], 'type': 'string'}, 'recurrenceRule': {'type': 'string'}}, 'additionalProperties': False}}, 'provenance': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'monthlyHours': {'type': 'number'}}, 'additionalProperties': False}
Ajouté
cron_next_runs
3 October 2026 02:40
Ajouté
ai_subscription_stack_cost
3 October 2026 02:40
Ajouté
recurring_schedule
3 October 2026 02:40
Ajouté
meeting_time_zones
3 October 2026 02:40
Ajouté
ai_api_cost
3 October 2026 02:40