Skip to main content
Glama
bvandevliet

Betaflight MCP

by bvandevliet

set_pid_sliders

Set simplified PID and filter sliders on Betaflight flight controllers, automatically enabling tuning mode if disabled.

Instructions

Set Betaflight simplified filter and tuning slider values. Provide only the sliders you want to change; all others keep their current values. The FC recalculates actual PID gains immediately via MSP (equivalent to moving sliders in Configurator). Call cli_save afterwards to persist to EEPROM. If pids_mode is currently 0 (disabled), it is automatically enabled (set to 1) unless you specify otherwise.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
d_gainNoD-term / Damping gain (0.0–2.0). Controls the P:D balance. 1.0 = default.
i_gainNoI-term gain (0.0–2.0). Controls integral strength (drift/wobble correction). 1.0 = default.
masterNoMaster multiplier (0.0–2.0). Scales all PID gains proportionally. 1.0 = default.
pi_gainNoPI gain (0.0–2.0). Scales P and I together relative to D. 1.0 = default.
pitch_piNoPitch PI gain (0.0–2.0). Additional pitch-axis PI adjustment for roll/pitch latency matching.
dmax_gainNoD Max gain (0.0–2.0). Scales d_max values. 1.0 = default.
pids_modeNoSimplified tuning mode: 0 = off, 1 = roll+pitch only, 2 = roll+pitch+yaw.
feedforwardNoFeedforward gain (0.0–2.0). Controls feedforward strength. 1.0 = default.
gyro_filterNoEnable simplified gyro filter slider. When true, the gyro_filter_multiplier controls gyro LPF cutoffs.
dterm_filterNoEnable simplified D-term filter slider. When true, the dterm_filter_multiplier controls D-term LPF cutoffs.
roll_pitch_ratioNoRoll/Pitch ratio (0.0–2.0). Adjusts pitch gains relative to roll. 1.0 = equal.
gyro_filter_multiplierNoGyro filter multiplier (0.1–2.0). Scales gyro lowpass cutoff frequencies. 1.0 = default. Firmware minimum is 0.1 (raw 10).
dterm_filter_multiplierNoD-term filter multiplier (0.1–2.0). Scales D-term lowpass cutoff frequencies. 1.0 = default. Firmware minimum is 0.1 (raw 10).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the FC recalculates PID gains immediately via MSP (equivalent to Configurator sliders) and that pids_mode is automatically enabled if currently disabled unless specified otherwise. These side effects are well communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at 4 sentences, with each sentence adding essential information: purpose, partial update mechanism, immediate effect and persistence requirement, and automatic mode change. No redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, no output schema), the description covers the core behavioral aspects: what it does, how to use partial updates, immediate effect, persistence need, and automatic mode change. It could mention error handling or validation, but overall it is sufficiently complete for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds critical behavioral context: partial updates are supported (only changed sliders need be provided) and automatic pids_mode behavior. This adds value beyond the schema descriptions of each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Set Betaflight simplified filter and tuning slider values.' It specifies that it modifies slider values and that only provided sliders are changed. This distinguishes it from sibling tools that set individual parameters or perform other actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage guidance: 'Provide only the sliders you want to change; all others keep their current values.' It also advises to call cli_save afterwards to persist. However, it does not explicitly contrast with alternative tools like set_simplified_* or explain when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bvandevliet/betaflight-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server