# set_pid

A write tool on the Pypi:labmcp Alicat MCP server.

Agent View of the PolicyLayer registry record for `set_pid`. HTML page: https://policylayer.com/tools/lab-instrument-mcps/set-pid

## Facts

- Tool: `set_pid`
- Server: Pypi:labmcp Alicat (`pypi:labmcp-alicat`) — https://policylayer.com/tools/lab-instrument-mcps.md
- Install: `npx -y pypi:labmcp-alicat`
- Homepage: https://github.com/K-Dense-AI/lab-instrument-mcps
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_pid",
    "arguments": {}
  }
}
```

## Why set_pid is rated Medium

This tool modifies flight controller PID parameters, which are critical configuration settings that affect aircraft flight dynamics. While reversible (can be reconfigured), incorrect PID values could cause loss of aircraft stability, crashes, or safety hazards.

From the tool's own definition: "Tool name 'set_pid' on iNAV flight controller MCP server; PID (Proportional-Integral-Derivative) parameters are core flight control tuning values that directly affect aircraft stability and behavior."

## Use case

AI agents use set_pid to create or update resources in Pypi:labmcp Alicat, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Pypi:labmcp Alicat environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Pypi:labmcp Alicat:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "set_pid": {
      "limits": [
        {
          "counter": "set_pid_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Pypi:labmcp Alicat (241)

- `clear_calibration` — Destructive — https://policylayer.com/tools/lab-instrument-mcps/clear-calibration.md
- `clear_protection_trip` — Destructive — https://policylayer.com/tools/lab-instrument-mcps/clear-protection-trip.md
- `clear_results` — Destructive — https://policylayer.com/tools/lab-instrument-mcps/clear-results.md
- `stop_run` — Destructive — https://policylayer.com/tools/lab-instrument-mcps/stop-run.md
- `abort_measurement` — Execute — https://policylayer.com/tools/lab-instrument-mcps/abort-measurement.md
- `acquire_spectrum` — Execute — https://policylayer.com/tools/lab-instrument-mcps/acquire-spectrum.md
- `acquire_time_lapse` — Execute — https://policylayer.com/tools/lab-instrument-mcps/acquire-time-lapse.md
- `acquire_z_stack` — Execute — https://policylayer.com/tools/lab-instrument-mcps/acquire-z-stack.md
- `all_heaters_off` — Execute — https://policylayer.com/tools/lab-instrument-mcps/all-heaters-off.md
- `all_outputs_off` — Execute — https://policylayer.com/tools/lab-instrument-mcps/all-outputs-off.md
- `aspirate_ul` — Execute — https://policylayer.com/tools/lab-instrument-mcps/aspirate-ul.md
- `auto_phase` — Execute — https://policylayer.com/tools/lab-instrument-mcps/auto-phase.md
- `auto_range` — Execute — https://policylayer.com/tools/lab-instrument-mcps/auto-range.md
- `autofocus` — Execute — https://policylayer.com/tools/lab-instrument-mcps/autofocus.md
- `autoscale` — Execute — https://policylayer.com/tools/lab-instrument-mcps/autoscale.md
- `calibrate` — Execute — https://policylayer.com/tools/lab-instrument-mcps/calibrate.md
- `call_command` — Execute — https://policylayer.com/tools/lab-instrument-mcps/call-command.md
- `cancel_command` — Execute — https://policylayer.com/tools/lab-instrument-mcps/cancel-command.md
- `close_shutter` — Execute — https://policylayer.com/tools/lab-instrument-mcps/close-shutter.md
- `configure_board` — Execute — https://policylayer.com/tools/lab-instrument-mcps/configure-board.md
- `deactivate_modules` — Execute — https://policylayer.com/tools/lab-instrument-mcps/deactivate-modules.md
- `device_clear` — Execute — https://policylayer.com/tools/lab-instrument-mcps/device-clear.md
- `disable_watchdog` — Execute — https://policylayer.com/tools/lab-instrument-mcps/disable-watchdog.md
- `dispense_ul` — Execute — https://policylayer.com/tools/lab-instrument-mcps/dispense-ul.md
- `enable_watchdog` — Execute — https://policylayer.com/tools/lab-instrument-mcps/enable-watchdog.md
- `force_trigger` — Execute — https://policylayer.com/tools/lab-instrument-mcps/force-trigger.md
- `frequency_sweep` — Execute — https://policylayer.com/tools/lab-instrument-mcps/frequency-sweep.md
- `hold_valve` — Execute — https://policylayer.com/tools/lab-instrument-mcps/hold-valve.md
- `home_robot` — Execute — https://policylayer.com/tools/lab-instrument-mcps/home-robot.md
- `infuse` — Execute — https://policylayer.com/tools/lab-instrument-mcps/infuse.md
- …and 211 more: https://policylayer.com/tools/lab-instrument-mcps.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=lab-instrument-mcps · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/lab-instrument-mcps
