ThrustLab
by thrustlab.com · remote · no sign-in to list tools · v1.0.0 · published by com.thrustlab
Simulate electric UAV powertrains and search a public motor, propeller and battery database.
7 tools: 3 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http thrustlab https://thrustlab.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
7 tools
Changes things 3Claude Code: ask
estimate_propellerThrust, torque and shaft power for one propeller, from its printed size.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Thrust, torque and shaft power for one propeller, from its printed size. A closed-form momentum plus blade-element equation — no motor, no battery, no account. Give the size as it is printed: a 10x5 is `diameter_in=10`, `pitch_in=5`. `chord_ratio` is the chord at 75 % radius over the diameter: 0.065 thin electric, 0.07 sport, 0.10 slow flyer, 0.11 multirotor.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
simulate_powertrainSolve one operating point of a whole powertrain on the Fast model.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Solve one operating point of a whole powertrain on the Fast model. Battery, ESC, motor and propeller are solved together, so the answer is a real thrust and current, not a propeller curve. The numbers come back in `result` (`result.All` = system totals in SI units: thrust N, current A, power W, time s; one entry per rotor; `result.Battery`), with a share URL. No second call is needed to read them.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
sweep_powertrainSolve a powertrain across a throttle or airspeed range, up to 25 points.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Solve a powertrain across a throttle or airspeed range, up to 25 points. `sweep.steps` is the NUMBER OF POINTS, not a step size: start 40, stop 100, steps 4 gives 40, 60, 80 and 100. One sweep beats a loop of single points. The points come back in `result.points` with the share URL; no second call is needed to read them.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
Only reads 4Claude Code: allow
get_componentRead one database row by its id (`comp_…`), with provenance.No findings
Why it is in this group
- The name "get_component" says "get": a word for reading.
Description, as the server wrote it Read one database row by its id (`comp_…`), with provenance. Propeller rows give diameter, pitch, blade count, weight and maximum rpm. Blade station geometry is never returned.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_resultRead a stored result: a share `token` from a run, or a `simulation_id`.No findings
Why it is in this group
- The name "get_result" says "get": a word for reading.
Description, as the server wrote it Read a stored result: a share `token` from a run, or a `simulation_id`. `simulation_id` needs a ThrustLab API key in `Authorization: Bearer` and reads only that account's own runs.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_validation_summaryHow accurate a model is, measured against wind-tunnel and bench data.No findings
Why it is in this group
- The name "get_validation_summary" says "get": a word for reading.
Description, as the server wrote it How accurate a model is, measured against wind-tunnel and bench data. `model` is "fast", "full", or an exact report slug such as "prom-5.3". The numbers are error against measured data by partition and channel, with the envelope they were measured inside. Quote the model name with the number.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
search_componentsFind motors, propellers or batteries in the ThrustLab database.No findings
Why it is in this group
- The name "search_components" says "search": a word for reading.
Description, as the server wrote it Find motors, propellers or batteries in the ThrustLab database. `component_type` is "motor", "propeller" or "battery". `query` is a case-insensitive substring of the part name or its maker ("APC", "T-Motor", "13x6.5"). The maker sits under `spec.brand` for motors and batteries and under `spec.type` for propellers. `limit` is capped at 200 rows a page; when `has_more` is true, pass the returned `next_offset` as `offset` to read the next page. Each row carries its datasheet values, its source and the CC BY 4.0 attribution line. Pass a returned `id` to `simulate_powertrain`.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http thrustlab https://thrustlab.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__thrustlab__search_components",
"mcp__thrustlab__get_component",
"mcp__thrustlab__get_result",
"mcp__thrustlab__get_validation_summary"
],
"ask": [
"mcp__thrustlab__estimate_propeller",
"mcp__thrustlab__simulate_powertrain",
"mcp__thrustlab__sweep_powertrain"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as thrustlab. Review it before you use it.