mcp-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| --host | No | Explicit bind address; wins over --local. | |
| --http | No | Serves Streamable HTTP at POST /mcp instead of stdio, on all interfaces (0.0.0.0). HTTP mode is key-gated and requires mcp.api_key from every caller. | |
| --port | No | HTTP listen port. | 8315 |
| --local | No | Binds the HTTP listener to loopback (127.0.0.1) only. | |
| --config | No | Keep both config files in this folder instead of ~/.ctrlpi/. | |
| --no-scan | No | Never sweep the LAN, at startup or after. A first run with no config still sweeps once. | |
| --rotate-keys | No | Replace the shipped default key on any agent still using it with a random one, and record the date under key_set. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mcp_agents_listA | List configured agents (Pi, Pico or ESP32). Returns name, ip, port, online (live /hello probe), type (pi/pico/esp32), version, has_default_key, and last_updated_at (UTC "YYYY-MM-DD HH:MM:SS", when the agent list was last saved; every sweep saves it). Unreachable agents are included (online=false). The LAN is swept automatically every hour. Pass rescan=true to sweep it now, but only when the user asks to find new hardware: a sweep takes 10 seconds or more. If has_default_key is true for any agent, tell the user that agent is on the insecure default key and ask whether to change it. |
| mcp_gpio_readB | Read a GPIO pin value on |
| mcp_gpio_writeA | Write a value to a GPIO pin on |
| mcp_gpio_scanA | Scan all hardware GPIO pins on |
| mcp_gpio_configA | Configure a GPIO pin on |
| mcp_gpio_watchedB | List the GPIO pins that are currently being actively watched (the ones emitting hardware interrupts/webhooks). |
| mcp_sensor_configA | Configure a named sensor on |
| mcp_sensor_readA | Read sensors on |
| mcp_config_readB | Read |
| mcp_config_writeA | Update |
| mcp_config_loadA | Load a full config onto |
| mcp_agent_restartA | Restart |
| mcp_agent_upgradeA | Upgrade |
| mcp_agent_logsA | Read the last 50 lines of |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
The surface splits cleanly by resource: GPIO (read/write/config/scan/watched), config (read/write/load), sensors (config/read), and agent lifecycle (list/restart/upgrade/logs). The only real overlaps are config_write vs config_load (partial dict update vs full-document load) and gpio_read with 'all' vs gpio_scan, but the descriptions make the intended distinctions (nested grouping, backup-then-load, pin metadata vs raw values).
All tools share a predictable prefix + domain_action shape (mcp_gpio_read, mcp_config_write, mcp_sensor_read, mcp_agent_restart). Minor deviations: mcp_agents_list uses the plural 'agents' where the lifecycle tools use 'agent', and mcp_gpio_watched is an adjective rather than a verb (a list operation). Overall still readable and largely uniform.
14 tools spread across four coherent domains (GPIO, sensors, config, agent lifecycle) with no filler entries. Each tool covers a distinct operation needed by a device bridge, well within the 3-15 sweet spot.
GPIO has full lifecycle coverage (scan, read, write, configure, watched-list) and config supports read/write/load including a reset path; sensors support configure/read plus removal via remove=true. Gaps are minor: no explicit agent add/remove/rename (relying on the hourly LAN sweep) and no dedicated sensor list beyond the config read's sensors group.