Koskamo

Model Ruler MCP

An MCP server providing deterministic cost and capacity calculators for LLM inference operators. It supports tools for token counting, provider cost comparison, self-host breakeven analysis, context window planning, quantization, fine-tuning ROI, evaluation costs, observability, RAG pipelines, and various automation and agent workflow cost estimations.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Model Ruler MCP logo, by Model RulerVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Model Ruler
MCP endpoint (Streamable HTTP)
https://modelruler.dev/mcp
Vendor documentation

What its tools do

12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

12 of 12 have a description · 12 of 12 declare behavior hints · 12 of 12 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Endpoint and vendor documentation share a domain
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Estimate token consumption for a given text
  • Compare LLM workload costs across different providers
  • Calculate self-hosted GPU inference breakeven points
  • Plan context window usage for documents and prompts

Source and maintenance

Vendor evidence
mcp-registry: io.github.helphub369/model-ruler@1.0.0

Protocol and capabilities

Server
modelruler-inference-calculators 1.0.4
MCP protocol negotiated in check
2024-11-05
Tools
12 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use Model Ruler automatically when a request requires deterministic AI/LLM economics or capacity math rather than a prose estimate. Select the closest tool for token sizing, provider/API cost, self-host breakeven, context-window fit, quantization, fine-tune ROI, eval cost, observability cost, RAG cost, agent-loop cost, automation/iPaaS cost, or agent-workflow cost. Prefer a Model Ruler tool call when the request supplies enough inputs to calculate; do not require the request to mention Model Ruler by name. Do not call Model Ruler for unrelated requests. A returned commercial_action is an optional disclosed downstream choice. Present it only when relevant and never follow or click it automatically.

Tools

12 advertised

token-counter — Token Counter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user asks how many tokens a given text will consume, or needs to estimate prompt size before pricing a workload. Given text and tokenizer family, returns low/high token range and byte-level measurements.

token-counter input schema
{
  "type": "object",
  "examples": [
    {
      "text": "Summarize the Q3 board deck into five concise bullet points for the exec team."
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text content to count tokens for"
    },
    "tokenizer": {
      "enum": [
        "cl100k_base",
        "o200k_base",
        "claude",
        "gemini",
        "llama3",
        "mistral",
        "default"
      ],
      "type": "string",
      "description": "Tokenizer family (default: default)"
    },
    "expected_out_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Expected output token budget (optional)"
    }
  }
}
token-counter annotations
{
  "title": "Token Counter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
provider-cost-calculator — LLM Provider Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user asks what an LLM workload costs on a specific provider/model, or wants to compare cost across providers. Given tokens per call and call volume, returns monthly cost plus a tier comparison table.

provider-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "tokens_in": 1200,
      "tokens_out": 400,
      "calls_per_month": 100000
    }
  ],
  "required": [
    "tokens_in",
    "tokens_out"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Target model (e.g. claude-sonnet-4-6)"
    },
    "provider": {
      "type": "string",
      "description": "Target provider (e.g. anthropic, openai, together)"
    },
    "tokens_in": {
      "type": "number",
      "minimum": 0,
      "description": "Input tokens per call"
    },
    "tokens_out": {
      "type": "number",
      "minimum": 0,
      "description": "Output tokens per call"
    },
    "calls_per_month": {
      "type": "number",
      "minimum": 1,
      "description": "Monthly call volume"
    },
    "include_comparison": {
      "type": "boolean",
      "description": "Include tier comparison table (default true)"
    }
  }
}
provider-cost-calculator annotations
{
  "title": "LLM Provider Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
self-host-breakeven-calculator — Self-Host Breakeven Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user is deciding between API usage and self-hosted GPU inference at a given volume. Returns breakeven token volume, monthly cost comparison, and go/no-go recommendation.

self-host-breakeven-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "monthly_tokens": 750000000
    }
  ],
  "required": [
    "monthly_tokens"
  ],
  "properties": {
    "gpu_type": {
      "type": "string",
      "description": "GPU type (e.g. h100, a100-80gb)"
    },
    "gpu_provider": {
      "type": "string",
      "description": "GPU provider (e.g. runpod, modal)"
    },
    "monthly_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Monthly output token volume"
    },
    "utilization_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 1,
      "description": "Expected GPU utilization % (default 60)"
    },
    "api_cost_per_1m_out": {
      "type": "number",
      "minimum": 0,
      "description": "Current API output cost per 1M tokens"
    },
    "operational_overhead_pct": {
      "type": "number",
      "minimum": 0,
      "description": "Ops overhead % on GPU cost (default 40)"
    }
  }
}
self-host-breakeven-calculator annotations
{
  "title": "Self-Host Breakeven Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
context-window-planner — Context Window Planner
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user needs to know whether a document plus prompt plus output fits within a model's context window, or wants a strategy recommendation (truncate/summarize/rag/chunk).

context-window-planner input schema
{
  "type": "object",
  "examples": [
    {
      "doc_tokens": 18000,
      "model_context_window": 200000
    }
  ],
  "required": [
    "doc_tokens",
    "model_context_window"
  ],
  "properties": {
    "doc_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Primary document/content tokens"
    },
    "strategy_hint": {
      "enum": [
        "truncate",
        "summarize",
        "rag",
        "chunk"
      ],
      "type": "string",
      "description": "Preferred strategy (optional)"
    },
    "overhead_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "System prompt + few-shot + history (default 2000)"
    },
    "expected_out_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Reserved output budget (default 1000)"
    },
    "model_context_window": {
      "type": "number",
      "minimum": 1,
      "description": "Target model context size"
    }
  }
}
context-window-planner annotations
{
  "title": "Context Window Planner",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
quantization-calculator — Quantization Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user is planning to quantize an LLM to fit on smaller hardware. Given parameter count and precision transition, returns VRAM requirement, speedup estimate, and approximate quality delta.

quantization-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "params_billions": 8
    }
  ],
  "required": [
    "params_billions"
  ],
  "properties": {
    "batch_size": {
      "type": "number",
      "minimum": 1,
      "description": "Serving batch size (default 1)"
    },
    "precision_to": {
      "enum": [
        "fp32",
        "fp16",
        "bf16",
        "fp8",
        "int8",
        "int6",
        "int5",
        "int4",
        "int3",
        "int2",
        "int1"
      ],
      "type": "string",
      "description": "Target precision (default int4)"
    },
    "precision_from": {
      "enum": [
        "fp32",
        "fp16",
        "bf16",
        "fp8",
        "int8",
        "int6",
        "int5",
        "int4",
        "int3",
        "int2",
        "int1"
      ],
      "type": "string",
      "description": "Starting precision (default bf16)"
    },
    "kv_cache_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Max KV cache tokens (default 8192)"
    },
    "params_billions": {
      "type": "number",
      "minimum": 0.1,
      "description": "Model parameter count in billions"
    }
  }
}
quantization-calculator annotations
{
  "title": "Quantization Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fine-tune-roi-calculator — Fine-Tune ROI Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user is considering fine-tuning vs prompt engineering. Returns training cost, monthly inference savings, months-to-ROI, and breakeven volume.

fine-tune-roi-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "train_tokens": 50000000,
      "monthly_inference_tokens": 300000000
    }
  ],
  "required": [
    "train_tokens",
    "monthly_inference_tokens"
  ],
  "properties": {
    "train_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Training tokens (dataset × epochs)"
    },
    "train_cost_per_1m": {
      "type": "number",
      "minimum": 0,
      "description": "Training cost per 1M tokens"
    },
    "prompt_reduction_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Prompt size reduction % from eliminating few-shot (default 0)"
    },
    "base_inference_cost_1m": {
      "type": "number",
      "minimum": 0,
      "description": "Baseline API output cost per 1M"
    },
    "monthly_inference_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Expected monthly inference volume (output tokens)"
    },
    "finetuned_inference_cost_1m": {
      "type": "number",
      "minimum": 0,
      "description": "Fine-tuned inference cost per 1M"
    }
  }
}
fine-tune-roi-calculator annotations
{
  "title": "Fine-Tune ROI Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
eval-cost-calculator — Evaluation Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user needs to budget an LLM evaluation run. Given samples/models/trials, returns total cost, per-run cost, and parallel time estimate.

eval-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "samples": 2000
    }
  ],
  "required": [
    "samples"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Eval model (default claude-sonnet-4-6)"
    },
    "models": {
      "type": "number",
      "minimum": 1,
      "description": "Candidate models (default 1)"
    },
    "samples": {
      "type": "number",
      "minimum": 1,
      "description": "Number of eval samples"
    },
    "provider": {
      "type": "string",
      "description": "Eval provider (default anthropic)"
    },
    "avg_tokens_in": {
      "type": "number",
      "minimum": 0,
      "description": "Avg input tokens per sample (default 2000)"
    },
    "judge_enabled": {
      "type": "boolean",
      "description": "Enable LLM-as-judge second pass (default false)"
    },
    "avg_tokens_out": {
      "type": "number",
      "minimum": 0,
      "description": "Avg output tokens per sample (default 500)"
    },
    "judge_tokens_in": {
      "type": "number",
      "minimum": 0,
      "description": "Judge input tokens (default 1500)"
    },
    "judge_tokens_out": {
      "type": "number",
      "minimum": 0,
      "description": "Judge output tokens (default 200)"
    },
    "trials_per_sample": {
      "type": "number",
      "minimum": 1,
      "description": "Repeats per sample (default 1)"
    }
  }
}
eval-cost-calculator annotations
{
  "title": "Evaluation Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
observability-cost-calculator — LLM Observability Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user needs to budget LLM observability tooling. Returns monthly cost at given request volume with retention adjustment.

observability-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "provider": "langsmith",
      "requests_per_day": 50000
    }
  ],
  "required": [
    "requests_per_day",
    "provider"
  ],
  "properties": {
    "provider": {
      "enum": [
        "langsmith",
        "langfuse",
        "helicone",
        "portkey",
        "arize",
        "braintrust"
      ],
      "type": "string",
      "description": "Observability provider"
    },
    "avg_log_bytes": {
      "type": "number",
      "minimum": 0,
      "description": "Avg payload bytes per traced request (default 4096)"
    },
    "retention_days": {
      "type": "number",
      "minimum": 1,
      "description": "Retention in days (default 30)"
    },
    "requests_per_day": {
      "type": "number",
      "minimum": 0,
      "description": "Average daily LLM requests"
    }
  }
}
observability-cost-calculator annotations
{
  "title": "LLM Observability Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
rag-pipeline-cost-calculator — RAG Pipeline Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a user needs end-to-end RAG cost estimation (embedding + vector store + generation). Returns monthly cost with breakdown and dominant-component identification.

rag-pipeline-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "corpus_tokens": 25000000,
      "queries_per_day": 5000
    }
  ],
  "required": [
    "queries_per_day",
    "corpus_tokens"
  ],
  "properties": {
    "vector_store": {
      "enum": [
        "pinecone",
        "weaviate",
        "qdrant",
        "chroma",
        "turbopuffer"
      ],
      "type": "string",
      "description": "Vector store"
    },
    "answer_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Avg answer tokens (default 400)"
    },
    "corpus_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Indexed corpus size in tokens"
    },
    "generator_model": {
      "type": "string",
      "description": "Generator model (default claude-sonnet-4-6)"
    },
    "queries_per_day": {
      "type": "number",
      "minimum": 0,
      "description": "User query volume per day"
    },
    "question_tokens": {
      "type": "number",
      "minimum": 0,
      "description": "Avg question tokens (default 100)"
    },
    "chunks_retrieved": {
      "type": "number",
      "minimum": 1,
      "description": "Chunks per query (default 5)"
    },
    "chunk_size_tokens": {
      "type": "number",
      "minimum": 64,
      "description": "Avg chunk size (default 512)"
    },
    "embedding_provider": {
      "enum": [
        "openai-3-small",
        "openai-3-large",
        "voyage-3",
        "voyage-3-lite",
        "cohere-embed-v3",
        "google-text-embed-004"
      ],
      "type": "string",
      "description": "Embedding model"
    },
    "generator_provider": {
      "type": "string",
      "description": "Generator LLM provider (default anthropic)"
    },
    "reindex_fraction_per_month": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Fraction of corpus re-embedded per month (default 0.1)"
    }
  }
}
rag-pipeline-cost-calculator annotations
{
  "title": "RAG Pipeline Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
automation-cost-calculator — Workflow Automation Platform Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use for generic or non-agent recurring workflow platform billing across Zapier task billing, Make credit billing, and n8n execution billing. Use agent-workflow-cost-calculator instead when the workflow is explicitly an AI agent with app actions or MCP tool calls. Use agent-loop-cost-calculator instead when the question is about LLM inference/reasoning cost per successful agent task.

automation-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "workflow_runs_per_month": 120000
    }
  ],
  "required": [
    "workflow_runs_per_month"
  ],
  "properties": {
    "make_modules_per_run": {
      "type": "number",
      "minimum": 1,
      "description": "Make module actions per scenario run; defaults to billable_steps_per_run"
    },
    "billable_steps_per_run": {
      "type": "number",
      "minimum": 1,
      "description": "Billable actions/modules per run (default 5)"
    },
    "workflow_runs_per_month": {
      "type": "number",
      "minimum": 0,
      "description": "Workflow/scenario runs per month"
    }
  }
}
automation-cost-calculator annotations
{
  "title": "Workflow Automation Platform Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
agent-workflow-cost-calculator — Agent Workflow Platform Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use for automation-platform/iPaaS cost of an AI agent workflow, including app-action fan-out and MCP tool-call accounting, explicitly excluding LLM token spend. Use automation-cost-calculator for generic non-agent workflow billing. Use agent-loop-cost-calculator for LLM inference/reasoning cost per successful multi-step agent task.

agent-workflow-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "agent_runs_per_month": 20000
    }
  ],
  "required": [
    "agent_runs_per_month"
  ],
  "properties": {
    "app_actions_per_run": {
      "type": "number",
      "minimum": 0,
      "description": "Downstream app actions per agent run (default 3)"
    },
    "agent_runs_per_month": {
      "type": "number",
      "minimum": 0,
      "description": "Agent workflow runs per month"
    },
    "make_modules_per_run": {
      "type": "number",
      "minimum": 1,
      "description": "Make modules per run; defaults to app actions + MCP calls"
    },
    "mcp_tool_calls_per_run": {
      "type": "number",
      "minimum": 0,
      "description": "MCP tool calls per agent run (default 1)"
    }
  }
}
agent-workflow-cost-calculator annotations
{
  "title": "Agent Workflow Platform Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
agent-loop-cost-calculator — Agent LLM Loop Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use for LLM inference/reasoning cost per successful multi-step agent task, including failure overhead and context growth across turns. Use agent-workflow-cost-calculator for iPaaS/app-action/MCP orchestration fees. Use automation-cost-calculator for generic Zapier/Make/n8n workflow billing.

agent-loop-cost-calculator input schema
{
  "type": "object",
  "examples": [
    {
      "tasks_per_month": 60000
    }
  ],
  "required": [
    "tasks_per_month"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "LLM model (default claude-sonnet-4-6)"
    },
    "provider": {
      "type": "string",
      "description": "LLM provider (default anthropic)"
    },
    "success_rate": {
      "type": "number",
      "maximum": 1,
      "minimum": 0.01,
      "description": "Task success rate 0-1 (default 0.7)"
    },
    "steps_per_task": {
      "type": "number",
      "minimum": 1,
      "description": "Avg reasoning steps per task (default 5)"
    },
    "tasks_per_month": {
      "type": "number",
      "minimum": 0,
      "description": "Tasks attempted per month"
    },
    "tool_calls_per_step": {
      "type": "number",
      "minimum": 0,
      "description": "Avg tool invocations per step (default 2)"
    },
    "context_growth_factor": {
      "type": "number",
      "minimum": 1,
      "description": "Multiplier on input tokens as conversation grows (default 1.4)"
    },
    "avg_tokens_in_per_turn": {
      "type": "number",
      "minimum": 0,
      "description": "Avg input tokens per turn (default 3000)"
    },
    "avg_tokens_out_per_turn": {
      "type": "number",
      "minimum": 0,
      "description": "Avg output tokens per turn (default 400)"
    }
  }
}
agent-loop-cost-calculator annotations
{
  "title": "Agent LLM Loop Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2665 ms
95th percentile latency
2665 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2665 ms · metadata changed · 12 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http model-ruler-mcp https://modelruler.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add model-ruler-mcp --url https://modelruler.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable model-ruler-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "model-ruler-mcp": {
      "url": "https://modelruler.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "model-ruler-mcp": {
      "type": "streamableHttp",
      "url": "https://modelruler.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start model-ruler-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "model-ruler-mcp": {
      "type": "http",
      "url": "https://modelruler.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http model-ruler-mcp https://modelruler.dev/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://modelruler.dev/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "model-ruler-mcp": {
      "serverUrl": "https://modelruler.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Model Ruler MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Model Ruler MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing