Skip to main content
Glama
voiceplays

voiceplays

by himanshu748

voiceplays

An Alexa+ MCP add-on that runs your saved rote procedures by voice. Ask for something in your own words, it finds the matching procedure, starts it in the background and tells you how it went when you ask. Procedures that need arguments are refused by name. Procedures not tagged read-only are off unless you enable them, and even then need a confirmation code on a second turn. It is a self-hosted MCP server on Streamable HTTP, protocol version 2025-11-25, with OAuth 2.0 client_credentials for Alexa+.

Run it

Needs Node 22+ and rote with at least one saved play (rote play list).

npm install
export VOICEPLAYS_TOKEN=$(openssl rand -hex 32)
npm start

In a second terminal:

curl -s -X POST http://127.0.0.1:8787/mcp -H "Authorization: Bearer $VOICEPLAYS_TOKEN" -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_procedure","arguments":{"phrase":"disk space"}}}'

Copy .env.example to .env to keep settings; npm start loads it.

Related MCP server: Fleetline

Tools

Tool

What it does

find_procedure(phrase)

Up to three matches, ranked by name, then tags, then description

start_procedure(name, confirmation?)

Starts the play and returns at once

procedure_result(name)

Still running, finished with a spoken summary, failed, or stopped at the time limit

Plays run 3s to several minutes, which no voice turn can wait for, so start and result are separate calls. A run past JOB_TIMEOUT_MS (15 minutes) is stopped along with every process it started.

Safety limits

  • Auth on every request. A static bearer token for local use, OAuth client_credentials for Alexa+. The server refuses to start without one.

  • Localhost by default with Host header validation always on, so a web page cannot reach it through DNS rebinding.

  • Plays not tagged effect-read-only are refused unless listed in VOICEPLAYS_ALLOW_WRITES. Listed ones return a four-digit code first and run only when it comes back within two minutes. The code forces a second turn; it cannot prove a person spoke, so the allowlist is the real limit.

  • Registry plays are refused unless listed in VOICEPLAYS_APPROVED_REGISTRY. rote asks for approval before running them, and a voice turn cannot answer, so listing a play is your standing approval and the server passes --yes for it only.

  • Plays with required parameters are refused by name.

Alexa+ setup (not yet tested against Alexa+)

  1. Expose the server over HTTPS, for example cloudflared tunnel --url http://127.0.0.1:8787.

  2. Set PUBLIC_URL to that origin, plus VOICEPLAYS_CLIENT_ID and VOICEPLAYS_CLIENT_SECRET (openssl rand -hex 32).

  3. Register PUBLIC_URL/mcp with the Alexa AI CLI, giving it the client ID and secret.

The server publishes /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server, and issues one-hour tokens at /oauth/token for grant_type=client_credentials, scope mcp:service, resource=PUBLIC_URL/mcp. Issued tokens live in memory, so a restart makes Alexa+ fetch a new one.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables voice-controlled local automation and laser engraving, allowing users to generate engraving previews and G-code from spoken text and send jobs to a laser engraver after confirmation.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables a voice assistant to operate a local agent fleet over MCP Streamable HTTP, allowing users to dispatch missions, monitor parallel worker execution, and collect reports hands-free.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Know what your cloud agents did without reading logs. Heard MCP lets Claude, ChatGPT, Devin, Copilot and other cloud agents brief you out loud on your Mac, by name: what they got done, what's blocking them, or the decision they need. "Scout finished: the CI fix is merged." Answer out loud and the agent picks up your reply and keeps going. Hosted, OAuth sign-in, nothing to install.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables hands-free voice collaboration with a coding agent: you speak requirements aloud and hear only short, plain-language progress and completion summaries while the agent edits code, runs tests, and fixes bugs in the background. It also handles continuous speech recognition with automatic turn detection, barge-in interruption, and spoken approval prompts before risky operations.
      1
      MIT