FitLLM MCP
An auditable cross-platform calculator that determines if a local LLM fits on a specific NVIDIA GPU or Apple Silicon Mac by computing exact VRAM and KV-cache requirements based on model architecture, quantization, and context length.
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.
https://fitllm.run/api/mcpWhat its tools do
3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to fitllm.run ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Calculate VRAM requirements for a specific LLM model
- Determine if a model fits on a given GPU or Mac
- Get auditable memory breakdowns for model deployment
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- fitllm 1.1.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 3 advertised
- Resources
- 4 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Tools
3 advertised
check_llm_fit — Check if an LLM fits on hardware
Check whether a specific local LLM fits in the memory of a specific GPU or Apple Silicon Mac. Returns fits/tight/won't-fit verdict with the memory breakdown (weights, KV cache, linear-attention state when present, runtime overhead, reserve), max context, and a concrete fix if it doesn't fit. Use this whenever a user asks anything like "can I run <model> on my <GPU/Mac>?", "will <model> fit in <N>GB?", or "what do I need to run <model>?". Estimates using curated, config-derived architecture fields (MLA, sliding-window, hybrid attention, MoE modeled).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"model"
],
"properties": {
"ctx": {
"type": "integer",
"minimum": 1024,
"description": "Alias of context_tokens — accepted because the REST API uses this name. Do not pass both with different values."
},
"env": {
"enum": [
"linux-headless",
"linux-display",
"windows-display"
],
"type": "string",
"description": "Discrete-GPU OS reserve: windows-display (default, 2 GB/card) · linux-display (1.2 GB) · linux-headless (0.6 GB, a second card with no display). Not for Macs or DGX Spark-class systems."
},
"gpu": {
"type": "string",
"description": "GPU name, fuzzy — e.g. \"RTX 4090\", \"RX 7900 XTX\", \"A100 80GB\". Multi-GPU rigs: join with + — e.g. \"RTX 5090 + RTX 3090\" (VRAM pools across cards). Provide gpu OR mac_ram_gb."
},
"model": {
"type": "string",
"description": "LLM name, fuzzy — e.g. \"GLM-4.7-Flash\", \"gpt-oss-20b\", \"gemma 31b\""
},
"quant": {
"type": "string",
"description": "Weight quantization. GPU: Q4_K_M(default)/Q5_K_M/Q6_K/Q8_0/FP16. Mac: 4/8(default)/16 (bits)."
},
"kv_bits": {
"enum": [
16,
8,
4
],
"type": "number",
"description": "KV-cache quantization bits (default 16 = F16)"
},
"gpu_count": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Number of identical copies of the gpu (e.g. gpu=\"RTX 3090\", gpu_count=2 for a 2×3090 rig; gpu=\"DGX Spark 128GB\", gpu_count=2 or 4 for linked units under vLLM+Ray or TensorRT-LLM). Default 1."
},
"mac_ram_gb": {
"type": "integer",
"maximum": 2048,
"minimum": 8,
"description": "Apple Silicon unified memory in GB — e.g. 16, 64, 512. Provide gpu OR mac_ram_gb."
},
"context_tokens": {
"type": "integer",
"minimum": 1024,
"description": "Context length in tokens (default 8192). Alias: ctx (same field as the REST API)."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}what_fits_on_hardware — What LLMs fit on this hardware
Rank which popular local LLMs fit on a given GPU or Apple Silicon Mac (at ~4-bit quantization, 8K context) — models that fit come first, biggest first, with max context each. Use when a user asks "what can I run on my <GPU/Mac/N GB>?", "best local model for my machine?", or gives hardware without naming a model.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"gpu": {
"type": "string",
"description": "GPU name, fuzzy. Multi-GPU rigs: join with + (e.g. \"RTX 5090 + RTX 3090\"). Provide gpu OR mac_ram_gb."
},
"gpu_count": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Number of identical copies of the gpu. Default 1."
},
"mac_ram_gb": {
"type": "integer",
"maximum": 2048,
"minimum": 8,
"description": "Apple Silicon unified memory GB. Provide gpu OR mac_ram_gb."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_supported — List supported models & hardware
List the built-in model names and hardware names this fit-checker knows (for mapping user wording to exact names). Standard text-only HuggingFace transformer configs can also be checked via fitllm.run; unsupported architectures are rejected.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
4 advertised
models — FitLLM model catalog
Built-in local LLM catalog with the architecture fields the fit engine uses (layers, KV heads/dims, sliding window, MLA, hybrid attention, MoE). JSON.
fitllm://modelshardware — FitLLM hardware catalog
GPUs (VRAM, bandwidth, source-cited) and Apple Silicon chips (unified memory tiers) known to the engine. JSON.
fitllm://hardwarecensus — FitLLM Fit Census (14,210 verdicts)
Model × device × quant verdicts computed by the engine — starter matrix inline; full CSV/JSON at fitllm.run/data. CC0 data.
fitllm://censusengine — FitLLM engine — direct access
The open MIT calculation engine behind every verdict: source, npm package, conformance vectors, versions. Agents may fetch and run it directly.
fitllm://engine90-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.
- 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
- 799 ms
- 95th percentile latency
- 799 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 799 ms · metadata changed · 3 tool(s), 4 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http fitllm-mcp https://fitllm.run/api/mcpCodex
codex mcp add fitllm-mcp --url https://fitllm.run/api/mcpCursor
{
"mcpServers": {
"fitllm-mcp": {
"url": "https://fitllm.run/api/mcp"
}
}
}Cline
{
"mcpServers": {
"fitllm-mcp": {
"type": "streamableHttp",
"url": "https://fitllm.run/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"fitllm-mcp": {
"type": "http",
"url": "https://fitllm.run/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http fitllm-mcp https://fitllm.run/api/mcpClaude Desktop
https://fitllm.run/api/mcpWindsurf
{
"mcpServers": {
"fitllm-mcp": {
"serverUrl": "https://fitllm.run/api/mcp"
}
}
}Let your agent find its tools
Find servers like FitLLM MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run FitLLM 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.