VoltageInputMcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| voltage_doctorA | Check that everything needed for a run is present and working. Reports the session type, input-device permissions, which capture backends work, detected screen geometry, GPU memory versus the selected model profile, and whether both model backends respond. When something is missing it returns the exact command to fix it. Call this before the first run on a machine. |
| voltage_reference | Return everything needed to author and iterate on a run. Call this before your first Playbook. Sections: loop the learning loop -- how to go from a failed run to a working one, and what each failure mode actually means. Read this second. bursts the burst cookbook: how to chain inputs well, timing rules, ready-made patterns for desktop and for games, and the antipatterns that waste cycles. Read this if bursts are coming out one action at a time. burst the raw burst syntax playbook the state-machine JSON schema guards expression functions for transitions and reflexes example a complete working Playbook |
| voltage_captureA | Take a screenshot and return it to you directly. Use this to see the screen yourself -- before writing a Playbook, to pick coordinates for probes and click regions, or to work out why a run went wrong. This does not involve the local vision model.
|
| voltage_observe | Run one vision pass and return grounded elements in screen coordinates.
Use this to check that the vision model can actually find what a state depends on
before committing to it in a Playbook. If an element does not come back here, a
|
| voltage_execute_burst | Execute one input burst yourself, bypassing the local models entirely. For moments that need your judgement rather than the actuator's: opening the right application, clicking a specific confirmed target, typing something exact. Also the fastest way to sanity-check that input injection works at all. Syntax: |
| voltage_calibrateA | Verify that input injection actually reaches the compositor. Creates the virtual devices, moves the pointer to three known points, and captures after each to confirm the cursor moved. Reports whether absolute positioning works or whether the relative fallback is needed -- which cannot be known without trying, since it depends on how libinput classified the virtual device. Run this once per machine before trusting a real (non-dry-run) Playbook. |
| voltage_validate_playbook | Fully check a Playbook without running it. Validates the schema, compiles every guard expression, parses every burst, checks that transition targets and probe references exist, and reports unreachable states and dead transitions. Errors come back as a complete list, not one at a time. Always call this before voltage_run. Warnings are worth reading: "tests for X but X
is not in |
| voltage_runA | Start a Playbook. Returns immediately with a run_id; poll voltage_status.
Stop a run with voltage_stop, adjust it live with voltage_steer. The run also stops on its own budget, on any physical keyboard or mouse input from the user, and on the panic file. |
| voltage_statusA | Poll a run: current state, variables, last burst, what the vision model sees. Includes recent cycles, governor refusals, and per-stage timings so you can tell whether a slow loop is capture, vision, decision, or execution. |
| voltage_steer | Correct a live run without restarting it.
|
| voltage_stop | Stop a run and release every held key and button. Safe to call at any time, including while a burst is mid-flight -- the burst is interrupted and anything held is released. |
| voltage_pause | Pause or resume a run. Held input is not released, so a paused run can continue. |
| voltage_journal | Read a run's cycle-by-cycle record: what was seen, decided, refused, executed.
|
| voltage_diagnose | Explain why a run behaved as it did, and what to change. Call this instead of reading the journal by hand. It computes what the journal
implies but does not state -- The distinction it exists for: a burst that never ran and a burst that ran and did nothing look identical in a summary and have unrelated causes. The first is policy or grammar; the second is window focus, pointer mode, or an application that ignores synthetic input. Apply the highest-severity finding, re-run, diagnose again. Changing several things at once makes the next diagnosis uninterpretable. |
| voltage_lessons | Recall what previous runs learned about driving something. Call this before writing a Playbook for a target you have driven before. Lessons persist across sessions and are keyed by target ("minecraft", "roblox", "dolphin"), so a new Playbook can start from what the last one discovered -- which labels the vision model actually recognises, where the HUD probes are, what timing the game needs -- rather than rediscovering it. Omit |
| voltage_learnA | Record something worth carrying to the next run against this target. Write these as concrete, reusable facts, not narration: good "the health bar is at x=120..300, y=1010; region_mean on red channel works" good "vision reports 'hotbar' reliably but never 'crosshair' -- do not watch it" good "block placement needs w:100 after the right click or it does not register" bad "the run failed" bad "tried again and it worked better"
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/casualkre/voltage-input-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server