protogrid

Search / ai.oruk/speech

oruk Speech

R0· no sign-in

Hosted speech-to-text + speech emotion/tone analysis for agents. No install; trial keys built in.

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

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94strong
Trust79of 100
Uptime, 30 days98%
Latency p501116 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "speech": {
      "type": "http",
      "url": "https://oruk.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${SPEECH_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http speech https://oruk.ai/mcp --header "Authorization: Bearer ${SPEECH_TOKEN}"
[mcp_servers.speech]
url = "https://oruk.ai/mcp"
bearer_token_env_var = "SPEECH_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "speech": {
      "type": "remote",
      "url": "https://oruk.ai/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:SPEECH_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "speech": {
      "type": "http",
      "url": "https://oruk.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${SPEECH_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=speech&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb3J1ay5haS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtTUEVFQ0hfVE9LRU59In19"
}
{
  "servers": {
    "speech": {
      "type": "http",
      "url": "https://oruk.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${SPEECH_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "speech": {
      "httpUrl": "https://oruk.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${SPEECH_TOKEN}"
      }
    }
  }
}
extensions:
  "speech":
    enabled: true
    name: "speech"
    type: streamable_http
    uri: "https://oruk.ai/mcp"
    headers:
      "Authorization": "Bearer ${SPEECH_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${SPEECH_TOKEN}. The registry never accepts secret values.

Quality 94 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • 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.annotations8 of 8 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: oruk_plan_hume_migration (idempotentHint); oruk_analyze_tone (idempotentHint); oruk_check_usage (idempotentHint); …
  • pass
    tools.token_costabout 2,739 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

8 tools, about 2,739 tokens to load them all · tool set 3a7dfcbe3704 · tools last changed 2026-10-07 · checked 2026-10-20 12:45 UTC

Tool changes

  • oruk_plan_hume_migrationadded

    Return bounded planning guidance from redacted enums and counts only. No key is needed. Never send source, paths, audio, credentials or provider responses. This does not inspect customer code, generate or apply a patch, run inference, validate score equivalence or complete a migration; the separate local planner performs source-bound proposal work.

Full history: list_changes · trend: quality JSON.

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 79 / 100

no-repository
provenance55
liveness99
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-98% ~updated-44d-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://oruk.ai/mcp streamable-httpnoneyes98%1116 ms2026-07-28, 2025-03-26, 2025-06-18, 2025-11-252026-10-20

Tools (8)

oruk_analyze_speechread-onlyTranscribe English audio AND score how it was said in one call: transcript, tagged transcript, selected scores from 15 emotion and 16 speaking-style labels, and time-local segments. Use this when the user cares about both the words and the delivery — meetings, support calls, interviews, voice notes. Accepts wav/flac/mp3/m4a/ogg/webm. Up to 30 MB via audio_url or 8 MiB decoded via audio_base64; up to 60 minutes of English speech. Returns compact summaries by default. For words only use oruk_transcribe_audio; for tone only use oruk_analyze_tone.
oruk_analyze_toneread-onlyScore how speech sounds without transcribing it: selected emotion (happy, frustrated, worried, …) and speaking-style (sarcastic, confident, hesitant, warm, …) scores per acoustic segment. Runs the Resonance encoder and affect head only — the transcription decoder is never invoked, so nothing is transcribed and it consumes the same subscription audio minutes as unified analysis. Use this when the user asks about mood, delivery, sentiment, sarcasm, or emotional dynamics in audio. Up to 30 MB via audio_url or 8 MiB decoded via audio_base64; up to 60 minutes of English speech. Labels use model-specific thresholds; the highest-scoring emotion is returned if none passes, and styles can be empty. Outputs describe delivery, not probabilities of inner state. Need the words too? Use oruk_analyze_speech.
oruk_check_usageread-onlyVerify that an Oruk API key works and report the subscription, remaining audio minutes, and recent API usage. Use this after setup or to diagnose access and usage limits. Requires the Authorization header from your MCP config or a temporary api_key.
oruk_create_trial_keyMint a real, temporary oruk API key with no account required: 3 requests, expires in 30 minutes, spends from a capped shared budget. Use this when no Authorization header is configured and the user wants to try transcription or tone analysis right now. Pass the returned key as the api_key argument of the audio tools. Share the signup link with the user so they can keep using oruk afterwards (7-day free trial on self-serve plans).
oruk_get_startedread-onlyQuickstart for the oruk Speech API and this MCP server: how to get an API key, per-client MCP configuration snippets, SDK install commands, and an optional routing rule the user can add to their agent instructions. No API key required. Use this when setting oruk up for the first time or when the user asks how oruk works.
oruk_list_modelsread-onlyList oruk’s speech models with lifecycle, current subscription plans, and explicitly labeled legacy reference rates, the five API tasks, the 15 emotion and 16 speaking-style labels, and audio limits. No API key required. Use this to choose a model, estimate cost before analyzing long audio, or see which labels exist.
oruk_plan_hume_migrationread-onlyReturn bounded planning guidance from redacted enums and counts only. No key is needed. Never send source, paths, audio, credentials or provider responses. This does not inspect customer code, generate or apply a patch, run inference, validate score equivalence or complete a migration; the separate local planner performs source-bound proposal work.
oruk_transcribe_audioread-onlyTranscribe prerecorded English audio to text with time-ordered segments and word timings. Use this when only the words matter. Accepts wav/flac/mp3/m4a/ogg/webm. Up to 30 MB via audio_url or 8 MiB decoded via audio_base64; up to 60 minutes of English speech. Does not score emotion or tone — use oruk_analyze_speech for transcript + tone together, or oruk_analyze_tone for tone alone.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.oruk/speech",
  "title": "oruk Speech",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://oruk.ai/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Bearer <oruk API key>. Optional: model/pricing lookup, quickstart, and trial-key minting work without it. Get a key at https://oruk.ai/account/api-keys. Standard plans have a 7-day trial; see https://oruk.ai/pricing for current terms."
        }
      ]
    }
  ],
  "version": "1.0.1",
  "websiteUrl": "https://oruk.ai/docs/mcp",
  "description": "Hosted speech-to-text + speech emotion/tone analysis for agents. No install; trial keys built in."
}