protogrid

Search / ai.uttera/uttera

Uttera

R2· OAuth, once

Audio for your agent: transcribe, speak, translate, summarise, plus sound effects and music.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality85good
Trust82of 100
Uptime, 30 days97%
Latency p50568 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "uttera": {
      "type": "http",
      "url": "https://mcp.uttera.ai/mcp"
    }
  }
}
claude mcp add --transport http uttera https://mcp.uttera.ai/mcp
[mcp_servers.uttera]
url = "https://mcp.uttera.ai/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "uttera": {
      "type": "remote",
      "url": "https://mcp.uttera.ai/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "uttera": {
      "type": "http",
      "url": "https://mcp.uttera.ai/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=uttera&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnV0dGVyYS5haS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "uttera": {
      "type": "http",
      "url": "https://mcp.uttera.ai/mcp"
    }
  }
}
{
  "mcpServers": {
    "uttera": {
      "httpUrl": "https://mcp.uttera.ai/mcp"
    }
  }
}
extensions:
  "uttera":
    enabled: true
    name: "uttera"
    type: streamable_http
    uri: "https://mcp.uttera.ai/mcp"
    timeout: 300

Quality 85 / 100good

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: generate_sound_effect (idempotentHint); transcribe_audio (idempotentHint); summarize_recording (idempotentHint); …
  • pass
    tools.token_costabout 1,097 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history not recorded yet
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 1,097 tokens to load them all · checked 2026-10-19 10:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness99
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-97% +updated-26d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.uttera.ai/mcp streamable-httpoauth2 AS: https://mcp.uttera.aiyes97%568 ms–2026-10-19

Tools (9)

generate_musicA finished piece of music from a description. Up to 380 s. Needs a paid plan (Startup and up). ⚠ BOTH controls cost: the price is length multiplied by steps, so 380 s at 128 steps is about eight times a 60 s at 32. Naming style, instruments and BPM helps far more than asking for «something upbeat».
generate_sound_effectOne sound effect from a description: a door, rain, footsteps. Up to 30 s. Needs a paid plan (Startup and up). The description works better in English. A fixed `seed` reproduces the same sound exactly.
identify_speakersWho speaks and when. Returns the segments with their speaker and times.
last_call_costread-onlyWhat the previous call actually cost, in credits, broken down. Worth checking before running something many times: it is the honest way to tell the user what a batch is going to cost them.
list_voicesread-onlyThe voice catalogue, with the language each one speaks.
speak_textRead text aloud. Returns audio. `voice` defaults to a Spanish one; call list_voices to see the catalogue. ⚠ Line breaks are billed: each one inserts a pause of about 1.3 s. Strip them from formatted text before sending it.
summarize_recordingSummarise a long recording: summary, full transcript, tone, speaker profile and who spoke when — all in one request and one upload.
transcribe_audioTranscribe a recording. `audio` is an https URL or base64 audio. Use this for short recordings when you want the literal text. For anything past a few minutes prefer summarize_recording: it returns the transcript too, plus who spoke and the tone, in ONE upload instead of two.
translate_recordingTranslate a recording into another language: text and, where the plan allows it, voice. `target_language` is a code such as en, es, fr, de.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.uttera/uttera",
  "title": "Uttera",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.uttera.ai/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://uttera.ai",
  "description": "Audio for your agent: transcribe, speak, translate, summarise, plus sound effects and music."
}