Uhura
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UHURA_DAILY_CALLS | No | Per person: UHURA_DAILY_CALLS calls per 24 hours. | |
| ELEVENLABS_API_KEY | No | Your ElevenLabs API key, added to .env. | |
| UHURA_RETENTION_DAYS | No | Calls and transcripts are deleted after UHURA_RETENTION_DAYS. | |
| UHURA_MONTHLY_MINUTES | No | Per person: UHURA_MONTHLY_MINUTES per 30 days. A call is only dialled if the minutes left cover the longest call the agent will make (20 minutes); calls still running count at that length until their result arrives. | |
| UHURA_DAILY_REHEARSALS | No | Per person: UHURA_DAILY_REHEARSALS rehearsals per 24 hours, each closed after 10 minutes. | |
| UHURA_ALLOWED_COUNTRIES | No | Only countries in UHURA_ALLOWED_COUNTRIES can be called. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| draft_callA | Prepare a call without dialling. Returns the call id, the normalised number,
the fixed opening line, the voicemail message and the full briefing the voice agent
will receive. |
| confirm_callA | Dial a drafted call. Only use after the user approved this specific draft. |
| wait_for_eventA | Wait up to |
| answerC | Answer a question the voice agent asked mid-call. |
| send_instructionA | Queue a follow-up instruction for a running call. It reaches the agent with its next tool call, at the latest just before it hangs up, so delivery is not immediate. |
| get_callB | Status, duration, transcript and cost of a call. |
| list_callsC | The user's recent calls, newest first. |
| rehearse_callA | Start a rehearsal of a drafted call: the real agent with the real briefing, in text,
with nobody being called. Read what the agent says with wait_for_event, passing the
returned |
| rehearse_sayC | Say something to the agent in a running rehearsal, as the person being called. |
| end_rehearsalC | End a rehearsal. The draft stays unchanged and can still be confirmed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools have clearly distinct roles: draft_call prepares, confirm_call dials, rehearse_call/rehearse_say/end_rehearsal form a coherent rehearsal group, and get_call/list_calls are reads. Minor overlap exists between answer (real-call question), send_instruction (real-call follow-up), and rehearse_say (rehearsal reply), but descriptions clarify the boundaries.
Most names follow a predictable verb_noun pattern (draft_call, confirm_call, get_call, list_calls, send_instruction, rehearse_call, rehearse_say, end_rehearsal). The bare verb 'answer' and the noun-less 'wait_for_event' are minor deviations from the dominant convention.
Ten tools is well-scoped for a voice-call agent covering drafting, dialing, live interaction, and rehearsal. Each tool earns its place with no obvious redundancy.
The lifecycle is well covered: draft, confirm, event-waiting, answering, instructing, and inspecting calls, plus a full rehearsal loop. Gaps are minor, such as no way to edit or cancel a draft, but core workflows are complete.