mcp-tools
The mcp-tools server provides five read-only, deterministic MCP tools for cost, time-zone, and scheduling estimates.
Estimate AI API token costs in USD per request, day, and month from token counts, caching, batch/long-context rates, and selected model IDs.
Find shared 30-minute meeting slots for 2–8 people within 09:00–17:00, ranked near each participant’s 13:00 local time, with UTC and local labels.
Generate weekly, biweekly, or monthly recurring task schedules with monthly hours, recurrence rules, and an RFC 5545 calendar for up to 20 tasks.
Calculate monthly and annual AI subscription stack totals and identify overlapping capabilities from bundled plan IDs.
Preview 1–10 cron matches after a UTC instant across GitHub, Cloudflare, Quartz, and AWS dialects within a 366-day search window.
Rely on normalized inputs, units, method, assumptions, dated provenance, and no network calls, event creation, schedule installation, or task execution.
Supports the Cloudflare cron dialect for previewing next scheduled runs, requiring UTC and returning UTC starts with local labels.
Supports the GitHub Actions cron dialect for previewing up to 10 next scheduled runs after a UTC instant, with UTC starts and local labels.
Estimates monthly and annual costs for ChatGPT Go, Plus, and Pro subscription plans, and identifies capability overlap with other selected AI subscriptions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-tools What's the monthly cost of 2M input and 500K output tokens on GPT-4o?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OperatorNest tools
Hosted MCP endpoint: https://operatornest.com/mcp (Streamable HTTP, no API key).
Five deterministic cost, time-zone and scheduling calculations use bundled data and the same tool definitions over HTTP and stdio, returning normalized inputs, units, method, assumptions, dated sources and a link to open each result on OperatorNest. No network calls. The TypeScript source is included; calculations do not create events, install schedules or execute tasks.
Tool | Result |
| USD per request, day and month from token counts and selected model rates |
| Shared 30-minute slots within 09:00–17:00 for 2–8 people |
| Monthly hours, recurrence rules and an RFC 5545 calendar |
| Monthly and annual totals with overlapping capabilities |
| 1–10 matches after a UTC instant, within 366 days |
The justfile installs frozen dependencies, checks prerequisites and runs the build and tests:
just setup
just doctor
just checkSelf-hosting
For checkout development, run just setup to install Node 26 and pnpm 12. The published package supports Node.js 22.19 or newer.
git clone https://github.com/OperatorNest/mcp-tools.git
cd mcp-tools
pnpm install --frozen-lockfile
pnpm test:local
pnpm build
node dist/stdio.jsFor a client with stdio support, use node with the absolute path to dist/stdio.js as its argument to serve newline-delimited MCP messages on stdin/stdout, keeping protocol traffic separate from the logs written to stderr.
The package is prepared as @operatornest/mcp-tools version 1.1.0. To run a local package through npx before registry publication:
pnpm pack --out /tmp/operatornest-mcp-tools-1.1.0.tgz
npx --yes --package /tmp/operatornest-mcp-tools-1.1.0.tgz operatornest-mcp-toolsAfter npm publication, the equivalent command is npx --yes @operatornest/mcp-tools@1.1.0. Publication is a separate maintainer action.
HTTP Worker
src/worker.ts exports a standalone Worker with an /mcp endpoint. Use your own Worker configuration; wrangler.jsonc is a local starting point. Run it locally with:
pnpm dev:worker --port 8787Connect a client to http://localhost:8787/mcp. For remote hosting, follow the Worker setup documentation in your own account.
The HTTP handler uses stateless JSON responses without sessions or subscription streams, caps request bodies at 32 KiB, rejects JSON-RPC batches and returns generic errors, with CORS for HTTPS origins and local-origin access to local endpoints.
Rate limiting is optional. To enable it, configure an MCP_LIMITER rate-limit binding. When present, it uses a SHA-256 hash of CF-Connecting-IP; rejection returns HTTP 429 with Retry-After: 60. Missing client IP or a binding error returns HTTP 503. No binding means no rate limiting.
Related MCP server: mcp-agent-cost-optimizer
Client setup
These snippets connect to the hosted endpoint. Substitute your own HTTPS /mcp URL to use your HTTP instance. Setup documentation checked on 2 October 2026; account and workspace controls may affect tool access.
ChatGPT
Enable Developer mode in Settings → Security and login. In Plugins, use the plus button to create a developer-mode app with this URL and No Authentication:
https://operatornest.com/mcpSelect the app from Developer mode in the conversation's plus menu. Official instructions.
Claude
In Claude, open Customize → Connectors, select Add custom connector, and enter https://operatornest.com/mcp. Choose No sign in and add the connector. Enable it for your conversation from the plus menu's Connectors list. Organization owners may need to add it first. Official connector instructions.
For Claude Code:
claude mcp add --transport http operatornest https://operatornest.com/mcpCheck the connection with /mcp. Official instructions.
Codex
codex mcp add operatornest --url https://operatornest.com/mcpAlternatively, in ~/.codex/config.toml:
[mcp_servers.operatornest]
url = "https://operatornest.com/mcp"Cursor
Add to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects:
{
"mcpServers": {
"operatornest": { "url": "https://operatornest.com/mcp" }
}
}Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"operatornest": { "httpUrl": "https://operatornest.com/mcp" }
}
}VS Code
Add .vscode/mcp.json to your project:
{
"servers": {
"operatornest": { "type": "http", "url": "https://operatornest.com/mcp" }
}
}Start the server from the configuration file and enable its tools in Agent mode. Official instructions.
Data and limits
API rates are frozen at 2026-09-28T17:08:16.340Z in src/data/pricing-snapshot.json, containing 194 models from models.dev. This is the hosted MCP's filtered snapshot. Use the bundled modelId values; the broader website catalog can include records this server does not accept. Null rates stay unlisted. Caching falls back to the input rate when absent; batch discounts require published data. Non-token charges are excluded.
Subscription plans are in src/data/ai-plans.ts, checked on 27 September 2026 with official source links. Annual totals use published annual charges, or twelve monthly charges when no annual charge is listed. Taxes, regional differences and promotions are excluded.
Meeting and cron results use the runtime's IANA time-zone database. Recurring calendars use floating local times in the importing calendar. Cron supports numeric stars, lists, ranges, steps and weekday names across GitHub, Cloudflare, Quartz and AWS dialects; L, W, # and named months are rejected. Results describe estimates and schedule previews.
Development
pnpm check
pnpm test:local
pnpm build
pnpm dlx @modelcontextprotocol/inspector --cli node dist/stdio.js \
--method tools/call --tool-name cron_next_runs \
--tool-arg 'expression=0 9 * * 1-5' --tool-arg dialect=github \
--tool-arg zone=UTC --tool-arg after=2026-10-02T00:00:00Z --tool-arg count=1Tests validate input and output schemas, valid and invalid calls, HTTP limits, and initialize/list/call on both transports. See Inspector CLI documentation, contribution guidance, security reporting and data attribution.
MIT. Copyright (c) 2026 OperatorNest.
Available Tools
5 toolsai_api_costAI API costARead-onlyIdempotentInspect
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.
Inputs: modelIds (required), inputTokens (required), outputTokens (required), requestsPerDay (required), +3 more. Returns: API token cost estimates with normalized inputs, USD units, rate assumptions an…
ai_subscription_stack_costAI subscription stack costARead-onlyIdempotentInspect
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.
Inputs: planIds (required). Returns: Subscription totals, capability overlap and dated plan sources with normalized…
cron_next_runsCron next runsARead-onlyIdempotentInspect
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.
Inputs: zone (required), after (required), count (required), dialect (required), +1 more. Returns: Bounded cron preview with normalized syntax, UTC starts, local labels and sched…
meeting_time_zonesMeeting time zonesARead-onlyIdempotentInspect
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.
Inputs: date (required), people (required). Returns: Meeting candidates and ranked shared slots with normalized participants, local…
recurring_scheduleRecurring scheduleARead-onlyIdempotentInspect
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.
Inputs: tasks (required), startDate (required). Returns: Monthly effort estimate, normalized recurrence rules and an importable floating…
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose, and the descriptions explicitly cross-reference siblings (e.g., ai_api_cost vs. ai_subscription_stack_cost, meeting_time_zones vs. recurring_schedule vs. cron_next_runs). There is no meaningful overlap that would cause misselection.
All names use consistent snake_case noun phrases (ai_api_cost, meeting_time_zones, recurring_schedule, ai_subscription_stack_cost, cron_next_runs). No mixed conventions or vague verbs appear.
Five tools is well within the ideal 3–15 range, and each tool earns its place with a distinct capability. The set is neither bloated nor too thin for a utility server.
The surface covers AI cost estimation (API and subscriptions) and scheduling utilities (meeting overlap, recurring task plans, cron preview). Minor gaps exist, such as no holiday lookup or general time-zone conversion, but core workflows are complete and agents can work around these.
Maintenance
Related MCP Connectors
Deterministic time tools for AI agents: timezone conversion, business-day math, cron interpretation.
60+ units, live FX, timezones, and date arithmetic for AI agents.
Time and date math for AI agents: Unix timestamp conversion, DST-correct time zone conversion, durations, epoch arithmetic, cron schedules, and holiday countdowns. Eight tools, no key.
# TrueCalci Precision Compute Engine Deterministic statutory, financial, and engineering computational tools for AI agents, developers, and autonomous workflows over the Model Context Protocol (MCP). ### Capabilities (25 Verified Engines): - **Specialist FinOps:** Remote Contractor vs. W-2 Parity, S-Corp Reasonable Compensation (IRS Rev. Rul. 74-44), Solo 401(k) Shelter, Cross-Border FX Drag, Billable Capacity Floor. - **Global & Cross-Border Tax:** US Form 2555 FEIE Nomad Stacking, B2B Foreign
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceParse, validate, and explain cron expressions with pay-per-call via x402 (USDC on Base L2), returning next run times in any timezone.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables precise financial analysis of AI agent costs, including token pricing, multi-step run estimates, model comparison, and ROI versus human labor, with deterministic decimal math.-
- AlicenseNot gradedqualityBmaintenanceProvides exact, deterministic tools for math, dates, units, validation, and more to AI agents, returning precise answers with explicit assumptions and warnings instead of model guesses.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to convert schedule text to cron expressions, describe cron in natural language, and compute upcoming run times.325 npm8MIT