Specs of FPV drone parts and every Betaflight/INAV CLI setting by release; checks a pasted diff
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.
Checks a pasted `diff all` / `dump` against a release: every `set` line whose setting does not exist, was renamed or removed, or whose value is out of range or not in the value list, plus lines that only repeat the firmware default. The release of the paste is read from its `# Betaflight / ... X.Y.Z` or `# INAV/<target> X.Y.Z` header, which also picks the firmware when none is given. Other commands (aux, serial, resource) are counted, not checked.
The CLI text, up to 100 KB
Release to check against (default: latest)
Firmware (fw_check_cli: default is the one the paste's header names)
Checks a pasted `diff all` / `dump` against a release: every `set` line whose setting does not exist, was renamed or removed, or whose value is out of range or not in the value list, plus lines that only repeat the firmware default. The release of the paste is read from its `# Betaflight / ... X.Y.Z` or `# INAV/<target> X.Y.Z` header, which also picks the firmware when none is given. Other commands (aux, serial, resource) are counted, not checked.
| Argument | Type | Description |
|---|---|---|
| text* | string | The CLI text, up to 100 KB |
| version | string | Release to check against (default: latest) |
| firmware | string | Firmware (fw_check_cli: default is the one the paste's header names) |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The CLI text, up to 100 KB"
},
"version": {
"type": "string",
"description": "Release to check against (default: latest)"
},
"firmware": {
"enum": [
"betaflight",
"inav"
],
"type": "string",
"default": "betaflight",
"description": "Firmware (fw_check_cli: default is the one the paste's header names)"
}
},
"additionalProperties": false
}What changed in the CLI settings between two releases: added, removed, renamed (only sourced renames) and changed (range, values, default) settings.
| Argument | Type | Description |
|---|---|---|
| to | string | Newer release (default: latest) |
| from* | string | Older release, e.g. 4.5 |
| firmware | string | Firmware (fw_check_cli: default is the one the paste's header names) |
{
"type": "object",
"required": [
"from"
],
"properties": {
"to": {
"type": "string",
"description": "Newer release (default: latest)"
},
"from": {
"type": "string",
"description": "Older release, e.g. 4.5"
},
"firmware": {
"enum": [
"betaflight",
"inav"
],
"type": "string",
"default": "betaflight",
"description": "Firmware (fw_check_cli: default is the one the paste's header names)"
}
},
"additionalProperties": false
}One CLI setting of a firmware release: type, allowed range or values, firmware default (with no board config), the source line (settings.c or settings.yaml), and its history across releases (renames, range and default changes). Old names are followed through sourced renames.
| Argument | Type | Description |
|---|---|---|
| name* | string | Setting name, as in `set <name> = ...` |
| version | string | Release, e.g. 2026.6.2 or 4.5 (default: latest) |
| firmware | string | Firmware (fw_check_cli: default is the one the paste's header names) |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Setting name, as in `set <name> = ...`"
},
"version": {
"type": "string",
"description": "Release, e.g. 2026.6.2 or 4.5 (default: latest)"
},
"firmware": {
"enum": [
"betaflight",
"inav"
],
"type": "string",
"default": "betaflight",
"description": "Firmware (fw_check_cli: default is the one the paste's header names)"
}
},
"additionalProperties": false
}The full spec sheet of one part by its slug (the last segment of its fpv-db.com URL, e.g. iflight-xing2-2207 for /motors/iflight-xing2-2207/): specs, bench thrust table where measured, VTX table where published, the sources the specs were verified against, and caveats.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| type | string | Part type, if known |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
},
"type": {
"enum": [
"motor",
"quad",
"battery",
"prop",
"stack",
"camera",
"vtx"
],
"type": "string",
"description": "Part type, if known"
}
},
"additionalProperties": false
}Finds published parts of one type by spec. `filters` maps a spec field to a number (equals, or any element of a list), a string (case-insensitive substring) or {min, max} (numeric range). `query` matches brand and model. An unknown field returns the type's field list. Example: type=motor, filters={"stator": "2207", "weight_g": {"max": 33}}.
| Argument | Type | Description |
|---|---|---|
| type* | string | |
| limit | integer | |
| query | string | Words that must appear in brand + model |
| filters | object |
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"motor",
"quad",
"battery",
"prop",
"stack",
"camera",
"vtx"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"description": "Words that must appear in brand + model"
},
"filters": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
}