Read-only: which local LLMs a GPU or Mac can run - VRAM fit, tokens/sec, model specs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user asks whether one specific model runs on one specific machine, at what memory cost, and roughly how fast. Needs a hardware id and a model id from search_catalog. Returns a fit verdict, the memory arithmetic, and a decode-speed range with a confidence label. Memory is sized from all parameters, speed from active parameters. It does not recommend purchases and does not run anything.
Model id from search_catalog.
Hardware id from search_catalog.
Weight quantisation. One of Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16. Default Q4_K_M.
Context window in tokens that the KV cache is sized for. 512 to 262144. Default 4096.
Use this when the user asks whether one specific model runs on one specific machine, at what memory cost, and roughly how fast. Needs a hardware id and a model id from search_catalog. Returns a fit verdict, the memory arithmetic, and a decode-speed range with a confidence label. Memory is sized from all parameters, speed from active parameters. It does not recommend purchases and does not run anything.
| Argument | Type | Description |
|---|---|---|
| model_id* | string | Model id from search_catalog. |
| hardware_id* | string | Hardware id from search_catalog. |
| quantisation | string | Weight quantisation. One of Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16. Default Q4_K_M. |
| context_length | integer | Context window in tokens that the KV cache is sized for. 512 to 262144. Default 4096. |
{
"type": "object",
"required": [
"hardware_id",
"model_id"
],
"properties": {
"model_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*$",
"maxLength": 80,
"minLength": 1,
"description": "Model id from search_catalog."
},
"hardware_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*$",
"maxLength": 80,
"minLength": 1,
"description": "Hardware id from search_catalog."
},
"quantisation": {
"enum": [
"Q2_K",
"Q3_K_M",
"Q4_K_M",
"Q5_K_M",
"Q6_K",
"Q8_0",
"F16"
],
"type": "string",
"default": "Q4_K_M",
"description": "Weight quantisation. One of Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16. Default Q4_K_M."
},
"context_length": {
"type": "integer",
"default": 4096,
"maximum": 262144,
"minimum": 512,
"description": "Context window in tokens that the KV cache is sized for. 512 to 262144. Default 4096."
}
}
}Use this when the user compares two to four machines. Needs hardware ids from search_catalog. Returns memory, bandwidth, memory type, release year, status and a dated price where one is recorded, side by side. A price of null means none is on record. It does not check any model against the machines; use check_hardware_fit for that.
| Argument | Type | Description |
|---|---|---|
| hardware_ids* | array | Two to four hardware ids from search_catalog. |
{
"type": "object",
"required": [
"hardware_ids"
],
"properties": {
"hardware_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*$",
"maxLength": 80,
"minLength": 1
},
"maxItems": 4,
"minItems": 2,
"description": "Two to four hardware ids from search_catalog."
}
}
}Use this when the user asks about one model's size, architecture, context window or licence. Needs a model id from search_catalog. Returns total and active parameters, weight size per quantisation, context length, licence, release date and sources. It does not say whether the model fits any machine; use check_hardware_fit for that.
| Argument | Type | Description |
|---|---|---|
| model_id* | string | Model id from search_catalog. |
{
"type": "object",
"required": [
"model_id"
],
"properties": {
"model_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*$",
"maxLength": 80,
"minLength": 1,
"description": "Model id from search_catalog."
}
}
}Use this when the user asks what models a given machine can run. Needs a hardware id from search_catalog. Returns up to 20 catalogue models ranked for that machine, each with a fit verdict and a speed range, optionally filtered to one use such as coding. It covers only models in the catalogue, at one quantisation and context length per call, and leaves out models that do not fit.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum models, 1 to 20. Default 10. |
| use_case | string | Only list models tagged for this use. One of coding, chat, reasoning, agents, vision. Omit for all models. |
| hardware_id* | string | Hardware id from search_catalog. |
| quantisation | string | Weight quantisation. One of Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16. Default Q4_K_M. |
| context_length | integer | Context window in tokens that the KV cache is sized for. 512 to 262144. Default 4096. |
{
"type": "object",
"required": [
"hardware_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Maximum models, 1 to 20. Default 10."
},
"use_case": {
"enum": [
"coding",
"chat",
"reasoning",
"agents",
"vision"
],
"type": "string",
"description": "Only list models tagged for this use. One of coding, chat, reasoning, agents, vision. Omit for all models."
},
"hardware_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*$",
"maxLength": 80,
"minLength": 1,
"description": "Hardware id from search_catalog."
},
"quantisation": {
"enum": [
"Q2_K",
"Q3_K_M",
"Q4_K_M",
"Q5_K_M",
"Q6_K",
"Q8_0",
"F16"
],
"type": "string",
"default": "Q4_K_M",
"description": "Weight quantisation. One of Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16. Default Q4_K_M."
},
"context_length": {
"type": "integer",
"default": 4096,
"maximum": 262144,
"minimum": 512,
"description": "Context window in tokens that the KV cache is sized for. 512 to 262144. Default 4096."
}
}
}Use this first when the user names a GPU, Mac, mini PC or language model and you need its id for the other tools. Matches names and common aliases in a fixed catalogue of local-LLM hardware and models. It does not return specs, fit or speed, and it does not search the web.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Search hardware or models. Required. |
| limit | integer | Maximum matches, 1 to 10. Default 5. |
| query* | string | Hardware or model name as the user wrote it, e.g. "4090", "m4 max 64", "llama 3.3 70b". |
{
"type": "object",
"required": [
"query",
"kind"
],
"properties": {
"kind": {
"enum": [
"hardware",
"model"
],
"type": "string",
"description": "Search hardware or models. Required."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum matches, 1 to 10. Default 5."
},
"query": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]*$",
"maxLength": 80,
"minLength": 1,
"description": "Hardware or model name as the user wrote it, e.g. \"4090\", \"m4 max 64\", \"llama 3.3 70b\"."
}
}
}