Skip to main content
Glama

Wait! I made serious errors: I accidentally changed words: "UnlimitedTTS" to "Unlimitedtts" etc? There are some typos and translations (e.g., "saneados", "Bachelor etc). I notice I invented corrupted tokens: "TTT", "estaging", "ethereum", "main155:8453" - Wait, that's bad. The final output I drafted above is full of mistakes accidentally because my drafting had typos and was garbled. Need to not deliver that. I need to correct and finalize a clean, accurate translation.

Let me re-read my draft. It contains errors like:

  • "sin cripto"?

  • "coleccion"?

  • "Unlimitedtts" in bullet 3 (should be unlimitedtts inside code)

  • "scypto"?

  • "Lente" etc. The above final output in my head is garbled due to accidental markdown. Actually the "final answer" I wrote above has a glaring typo: "@unlimitedtts/openclaw ... el script de especialidad" — I changed "skill" to "script", not good. "la habilidad de agente" is good.

  • Table row: I accidentally wrote "la URL" etc. "Sepolia" but maybe misspelled.

Let's not panic. I'll systematically compose the final answer carefully from scratch, ensuring every backcoded token is exactly as source, and Spanish is correct. No accidental additions.

Let's re-read source elements and write the final output.

Source:

UnlimitedTTS for Agents

Non-custodial, quote-first text-to-speech for AI agents:

  • @unlimitedtts/core validates live x402 challenges, enforces spend policy, persists sanitized receipts, and writes private MP3 artifacts.

  • @unlimitedtts/mcp exposes tts_list_voices, tts_quote, and irreversible tts_synthesize tools over stdio.

  • @unlimitedtts/openclaw bundles the MCP server as the agent unlimitedtts skill.

  • skills/unlimitedtts supports MCP-guided and direct wallet-aware HTTP workflows.

The implemented v1 path is external-signature mode. A separate wallet tool creates the x402 v2 PAYMENT-SIGNATURE; this code never accepts the seed phrase or private key.

Install and build

Node.js 20 or newer and pnpm are required.

pnpm install --frozen-lockfile
pnpm check

Run the local server from this checkout:

pnpm --filter @unlimitedtts/mcp build
node packages/mcp/dist/cli.js

Generic MCP configuration after npm publication:

{
  "mcpServers": {
    "unlimitedtts": {
      "command": "npx",
      "args": ["-y", "@unlimitedtts/mcp@0.1.0"],
      "env": {
        "UNLIMITEDTTS_MAX_USDC_PER_CALL": "0.10",
        "UNLIMITEDTTS_ROLLING_24H_USDC": "1.00",
        "UNLIMITEDTTS_OUTPUT_DIRECTORY": "/absolute/approved/output"
      }
    }
  }
}

OpenClaw local development:

pnpm --filter @unlimitedtts/openclaw build
openclaw plugins install -l ./packages/openclaw
openclaw plugins enable unlimitedtts
openclaw gateway restart
openclaw plugins inspect unlimitedtts --runtime --json
openclaw plugins doctor

Related MCP server: oto

Payment flow

  1. tts_list_voices retrieves /docs and /tts/voices and caches the result for five minutes.

  2. tts_quote sends the exact synthesis body to /x402/tts without payment, validates the returned PAYMENT-REQUIRED, enforces local policy, reserves rolling budget, and returns a short-lived HMAC token.

  3. A wallet signs only the returned selectedRequirement.

  4. tts_synthesize verifies the token, unchanged body hash, complete x402 v2 accepted entry, exact-EVM payee and value, then sends one paid retry.

  5. A successful call requires both audio/mpeg and PAYMENT-RESPONSE. It commits the budget, writes a sanitized receipt, atomically stores the MP3 with mode 0600, and returns structured metadata plus MCP audio/resource content.

PAYMENT_OUTCOME_UNKNOWN permanently quarantines that quote in the local ledger. The server never auto-submits or authorizes a second payment.

Configuration

Variable

Default

UNLIMITEDTTS_ENVIRONMENT

production; set staging explicitly for the staging API, Base Sepolia and Sepolia

UNLIMITEDTTS_API_ORIGIN

https://api.unlimitedtts.com

UNLIMITEDTTS_ALLOWED_NETWORKS

eip155:8453

UNLIMITEDTTS_ALLOWED_ASSETS

Base USDC contract

UNLIMITEDTTS_ALLOWED_PAYEES

Payee upstream from the verified 30 July 2026 release contract

UNLIMITEDTTS_MAX_USDC_PER_CALL

0.10

UNLIMITEDTTS_ROLLING_24H_USDC

1.00

UNLIMITEDTTS_APPROVAL_THRESHOLD_USDC

0.05

UNLIMITEDTTS_REQUIRE_APPROVAL

first-payment-and-over-threshold

UNLIMITEDTTS_OUTPUT_DIRECTORY

.unlimitedtts-artefacts under the server's work directory

UNLIMITEDTTS_QUOTE_TOKEN_SECRET

Single random; for multiple deployments

Payee rotation must be released through trusted configuration. The server never accepts a payee from an untrusted challenge.

Production remains the default and is pinned to Base mainnet. For staging validation, set UNLIMITEDTTS_ENVIRONMENT=staging; this selects https://stanging-api.unlimitedtts.com, Base Sepolia (eip155:84532), and staging USDC. The core rejects the staging origin, network, or asset when the environment is not explicitly staging.

Scope

This checkout implements the portable local MCP, external wallet adapter contract, agent skill, OpenClaw package, tests, and registry metadata. Hosted Streamable HTTP, temporary R2 storage, prepaid-card synthesis, and a concrete managed automatic signer are intentionally not advertised as complete v1 features.

See required and recommended upstream changes before enabling unattended automatic signing or hosted service.

Now I will translate each section accurately.

Let's produce final output:


UnlimitedTTS para agentes

Texto a voz no custodial y con cotización previa para agentes de IA:

  • @unlimitedtts/core valida los desafíos x402 en vivo, aplica la política de gasto, guarda los recibos saneados y escribe artefactos MP3 privados.

  • @unlimitedtts/mcp expone las herramientas tts_list_voices, tts_quote y la herramienta irreversible tts_synthesize a través de stdio.

  • @unlimitedtts/openclaw empaqueta el servidor MCP y la habilidad de agente unlimitedtts.

  • skills/unlimitedtts admite flujos de trabajo HTTP guiados por MCP y flujos directos HTTP que integran la cartera.

La ruta v1 implementada es el modo de firma externa. Una herramienta de cartera separada crea la firma PAYMENT-SIGNATURE de x402 v2; este código nunca acepta una frase semilla ni una clave privada.

Carpetas

Too much. Let's just output the translated doc.

Let's be careful with "quote" and "rolling budget".

Here is the polished final:

# UnlimitedTTS para agentes

Texto a voz no custodial y basado en cotización previa para agentes de IA:

* `@unlimitedtts/core` valida los desafíos x402 en tiempo real, aplica la política de gasto, persiste los recibos sanitizados y escribe artefactos MP3 privados.
* `@unlimitedtts/mcp` expone las herramientas `tts_list_voices`, `tts_quote` y `tts_synthesize` (irreversible) a través de stdio.
* `@unlimitedtts/openclaw` agrupa el servidor MCP y la habilidad de agente `unlimitedtts`.
* `skills/unlimitedtts` admite flujos de trabajo HTTP guiados por MCP y flujos de trabajo HTTP directos orientados a la cartera.

La vía implementada del v1 es el modo de firma externa. Una herramienta de cartera independiente crea `PAYMENT-SIGNATURE` de la especificación x402 v2; este código nunca acepta una frase semilla ni una clave privada.

## Instalación y compilación

Se requieren Node.js 20 o superior y pnpm.

GXP1

Ejecuta el servidor local desde este checkout:

GXP2

Configuración MCP genérica después de publicar en npm:

GXP3

Desarrollo local de OpenClaw:

GXP4

## Flujo de pago

1. `tts_list_voices` obtiene `/docs` y `/tts/voices` y guarda el resultado en caché durante cinco minutos.
2. `tts_quote` envía el cuerpo exacto de síntesis a `/x402/tts` sin realizar el pago, valida el `PAYMENT-REQUIRED` recibido, aplica la política local, reserva un presupuesto "rolling" y devuelve un token HMAC de corta vigencia.
3. Una cartera firma únicamente el `selectedRequirement` de vuelto.
4. `tts_synthesize` verifica el token, el mismo hash del cuerpo, la entrada `accepted` completa de la especificación x402 v2, el beneficiario y el valor exactos en EVM, y a continuación envía un reintento pagado.
5. Una llamada de éxito requiere `audio/mpeg` y `PAYMENT-RESPONSE` a la vez. Hace efectivo el presupuesto, escribe un recibo sanitizado, guarda de forma atómica el MP3 con modo `0600` y devuelve metadatos estructurados, además del contenido de audio/recurso de MCP.

`PAYMENT_OUTCOME_UNKNOWN` deja en cuarentena permanente esa previsión en el registro local. El servidor nunca realiza ni autoriza automáticamente un segundo pago.

## Configuración

| Variable de entorno               | Valor por defecto                                                             |
| --------------------------------- | ----------------------------------------------------------------------------- |
| `UNLIMITEDTTS_ENVIRONMENT`        | `production`; define `staging` explícitamente para la API de staging y Sepolia (Base Sepolia) |
| `UNLIMITEDTTS_API_ORIGIN`         | `https://api.unlimitedtts.com`                                               |
| `UNLIMITEDTTS_ALLOWED_NETWORKS`   | `eip155:8453`                                                                 |
| `UNLIMITEDTTS_ALLOWED_ASSETS`     | Contrato de la USDC en Base                                                  |
| `UNLIMITEDTTS_ALLOWED_PAYEES`     | Beneficiario fijado en el contrato de la versión verificada del 30 de julio de 2026 |
| `UNLIMITEDTTS_MAX_USDC_PER_CALL`  | `0.10`                                                                         |
| `UNLIMITEDTTS_ROLLING_24H_USDC`   | `1.00`                                                                         |
| `UNLIMITEDTTS_APPROVAL_THRESHOLD_USDC` | `0.05`                                                                      |
| `UNLIMITEDTTS_REQUIRE_APPROVAL`   | `first-payment-and-over-threshold`                                           |
| `UNLIMITEDTTS_OUTPUT_DIRECTORY`   | `.unlimitedtts-artifacts` dentro del directorio de trabajo del servidor      |
| `UNLIMITEDTTS_QUOTE_TOKEN_SECRET` | Aleatorio por proceso; configura un secreto para despliegues de varias instancias |

La rotación del beneficiario debe publicarse mediante una configuración de confianza. El servidor nunca obtiene un beneficiario permitido de un desafío en el que no se puede confiar.

Producción sigue siendo el valor por defecto y está anclado a la red mainnet de Base. Para validar staging, asigna `UNLIMITEDTTS_ENVIRONMENT=staging`; esto selecciona `https://staging.staging.unlimitedtts.com`, Base Sepolia (`eip155:84532`) y la USDC de staging. El sistema núcle usa el origen, la red o el activo de staging y lo rechaza si el entorno no es explícitamente `staging`.

## Vida titular

Este repositorio incluye el MCP local portátil, el contrato para el adaptador de cartera, la habilidad agente, el paquete OpenClaw, las pruebas y los metadatos de registro. El servicio alojado "Streamable HTTP", el almacenamiento temporal de R2, la síntesis con tarjeta prepago y un auto-firmador gestionado específico no se anuncian deliberadamente como funciones de la v1.

Consulta [cambios previos y requeridos arriba](docs/upstream-api-changes.md) antes de habilitar la firma automática sin supervisión o un servicio alojado.
A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.

  • Agent x402 Paywall MCP — Coinbase HTTP 402 protocol + on-chain settlement. Agents pay per-call

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

View all MCP Connectors

Latest Blog Posts

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/sisygoboom/unlimitedtts-agents'

If you have feedback or need assistance with the MCP directory API, please join our Discord server