UnlimitedTTS

com.unlimitedttsPublished by unlimitedtts.comv0.1.0Updated Oct 24, 2026

Quote-first, non-custodial x402 text-to-speech with spend policy, MP3 artifacts, and receipts.

VerifiedSTDIODesktop onlyFinanceMedia & Design

Overview

AI-generated overview

A local MCP server that lets an assistant list voices, get a priced quote, and synthesize text to speech paid per call in USDC via x402, with spend limits and a

What you can do
List available voices, with results cached for five minutes from the service's docs and voice endpoints. Request a quote for an exact synthesis body without paying, check it against local spend policy, reserve rolling budget, and receive a short-lived token. Synthesize speech once a wallet has signed the returned payment requirement, verifying the token and body hash before one paid retry. On success, commit the budget, write a sanitized receipt, and store the MP3 privately with restricted permissions, returning metadata plus audio content.
When to use it
Use it when an assistant needs to produce spoken audio from text and you are willing to pay per synthesis in USDC on Base through an external wallet. It suits setups that want a quote-first, non-custodial flow with per-call and rolling 24-hour spend caps rather than a subscription TTS service.
Requirements
Runs locally over stdio as an npm package, needing Node.js 20 or newer. A separate wallet tool must sign the x402 payment requirement; the server itself never takes a seed phrase or private key. Configure spend caps, an absolute output directory, and optionally the environment, API origin, allowed networks, assets and payees, approval threshold, and quote token secret via environment variables. Network access to the TTS API is required.
Before you install
Synthesis spends real USDC on Base mainnet by default, so set per-call and rolling 24-hour caps deliberately and check the staging environment before testing. Synthesis is irreversible and the server never automatically submits a second payment; an unknown payment outcome permanently quarantines that quote. MP3 files and receipts are written to the configured output directory, so choose an approved path. Payee changes should come only from trusted configuration.

Installation

In SourceWeft

  1. Open UnlimitedTTS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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 and the unlimitedtts agent 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 a seed phrase or private key.

Install and build

Node.js 20 or newer and pnpm are required.

bash
pnpm install --frozen-lockfilepnpm check

Run the local server from this checkout:

bash
pnpm --filter @unlimitedtts/mcp buildnode packages/mcp/dist/cli.js

Generic MCP configuration after npm publication:

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

OpenClaw local development:

bash
pnpm --filter @unlimitedtts/openclaw buildopenclaw plugins install -l ./packages/openclawopenclaw plugins enable unlimitedttsopenclaw gateway restartopenclaw plugins inspect unlimitedtts --runtime --jsonopenclaw plugins doctor

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 automatically submits or authorizes a second payment.

Configuration

Environment variableDefault
UNLIMITEDTTS_ENVIRONMENTproduction; set staging explicitly for the staging API and Base Sepolia
UNLIMITEDTTS_API_ORIGINhttps://api.unlimitedtts.com
UNLIMITEDTTS_ALLOWED_NETWORKSeip155:8453
UNLIMITEDTTS_ALLOWED_ASSETSBase USDC contract
UNLIMITEDTTS_ALLOWED_PAYEESPayee pinned from the verified 30 July 2026 release contract
UNLIMITEDTTS_MAX_USDC_PER_CALL0.10
UNLIMITEDTTS_ROLLING_24H_USDC1.00
UNLIMITEDTTS_APPROVAL_THRESHOLD_USDC0.05
UNLIMITEDTTS_REQUIRE_APPROVALfirst-payment-and-over-threshold
UNLIMITEDTTS_OUTPUT_DIRECTORY.unlimitedtts-artifacts under the server working directory
UNLIMITEDTTS_QUOTE_TOKEN_SECRETRandom per process; configure a secret for multi-instance deployments

Payee rotation must be released through trusted configuration. The server never learns an allowed 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://staging-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 completed v1 features.

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

Source: README.md at commit b39ec17

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts