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 or Pico). Returns name, ip, port, online (live /hello probe), type (pi/pico), version, has_default_key, and last_updated_at. Unreachable agents are included (online=false). The LAN is scanned automatically every hour (last_updated_at indicates the last scan time). You can pass rescan=true to forcefully sweep the LAN for new agents right now, but avoid doing this unless the user explicitly asks to find new hardware, as active scanning takes a long time. If has_default_key is true for any agent, explicitly tell the user they are using an insecure default key and ask if they want you 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 the agent in place: runs |
| 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
Each tool has a distinct domain and action: GPIO read/write/scan/config/watched, sensor config/read, config load/read/write, agent lifecycle, and agent listing. Overlaps such as GPIO read-all versus scan are differentiated by scan returning pin metadata while read returns values, so selection is clear.
All tools use the mcp_ prefix and snake_case with a domain_action pattern, which is highly predictable. Minor deviations include mcp_agents_list (plural domain) versus mcp_agent_* (singular) and mcp_gpio_watched using an adjective rather than a verb.
With 14 tools, the set is well-scoped for bridging to hardware agents, covering GPIO, sensors, configuration, and agent lifecycle without obvious redundancy. Each tool earns its place and the count stays within a manageable range.
The surface covers most core operations: GPIO read/write/config/scan, sensor config/read, config load/read/write, agent list/restart/upgrade/logs. Minor gaps remain, such as no explicit sensor listing tool or dedicated agent start/stop operations, but they are largely workaroundable via existing tools.