Skip to main content
Glama

@vora/voice — Voice for Autonomous AI Agents

Make phone calls, close deals, book meetings. Full-stack voice AI: brain + voice + ears.

Install

npx @vora/voice

Or add to your MCP config:

{
  "mcpServers": {
    "vora-voice": {
      "command": "npx",
      "args": ["@vora/voice"]
    }
  }
}

Related MCP server: Agent Negotiation MCP

Tools

Tool

What it does

vora_register

Create account. Vora interviews you about your business (3-5 turns).

vora_create_agent

Build a persistent voice agent for a specific use case.

vora_call

Make an outbound phone call. Returns structured outcome.

vora_calls

Check results, history, analytics, AI recommendations.

vora_update_agent

Improve your agent based on call learnings.

Quick Start

1. vora_register → answer questions → get account_id
2. vora_create_agent → get agent_id
3. vora_call → make calls → get outcomes
4. vora_calls → check analytics
5. vora_update_agent → auto-improve

Payment

  • x402 (USDC on Base): Zero-friction. Set VORA_X402_ENABLED=true.

  • API Key: Set VORA_API_KEY=your_key. Get key from vora_register.

Pricing

What

Cost

Onboarding

Free

Agent creation

Free

Outbound calls

$0.06-0.08/min

Phone numbers

$2/mo

Environment Variables

VORA_API_URL=https://agent.voicevora.com    # API endpoint (default)
VORA_API_KEY=vora_ak_...            # API key auth
VORA_X402_ENABLED=true              # Enable x402 USDC payments

Languages

English, Arabic (all dialects), Hindi, Bengali, Tamil, Telugu, Vietnamese, Turkish, Russian, Serbian, Chinese, Japanese, Korean, Spanish, French, German, Portuguese, and 15+ more.

License

MIT

Available Tools

5 tools
vora_callA

Make an outbound phone call using your voice agent. Your agent handles the entire conversation autonomously — greeting, pitch, objection handling, qualification, closing — and returns a structured outcome.

Calls typically take 1-5 minutes. You can poll vora_calls for the result or provide a callback_url for async delivery.

The more lead_context you provide, the better the conversation. Tell Vora everything you know about who it's calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesYour voice agent ID from vora_create_agent.
phoneYesPhone number in E.164 format. E.g., +15551234567, +971501234567, +919876543210.
lead_contextNoEverything you know about this lead. Name, title, company, size, how you found them, previous interactions, interests. Free-form text — the more the better.
specific_objectiveNoOverride or refine the agent's default objective for this call. E.g., 'They downloaded our pricing PDF yesterday — focus on closing, not educating.'
callback_urlNoWebhook URL for async result delivery. Vora POSTs the full call result when complete. If omitted, poll vora_calls with the call_id.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It describes autonomous conversation, structured outcome, and async delivery, but does not disclose side effects, rate limits, cost, or auth requirements beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise paragraphs, front-loaded with the main action. Every sentence adds value, with no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Fairly complete for a call initiation tool: covers async behavior, input hints, and duration. Missing detailed return value structure (no output schema), but mentions 'structured outcome' implicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds value by explaining the role of lead_context ('Tell Vora everything you know') and specific_objective as a refinement. Does not redundantly repeat schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Make an outbound phone call using your voice agent,' specifying the resource (phone call) and distinguishing it from siblings like vora_calls and vora_create_agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides guidance on call duration (1-5 minutes), two methods for result retrieval (polling vora_calls vs. callback_url), and emphasizes providing lead_context. Lacks explicit when-not-to-use or alternatives to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vora_callsA

Query your call history, results, and analytics. Use to:

  • Check the result of a specific call (by call_id)

  • View recent call history for an agent

  • Get aggregate analytics with conversion rates, top objections, and AI recommendations

The analytics include AI-generated recommendations for improving your calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
call_idNoGet full details for a specific call.
agent_idNoFilter calls by voice agent.
statusNoFilter by call status.
lastNoReturn last N calls. Default 10, max 100.
include_analyticsNoInclude aggregate metrics: conversion rate, avg duration, top objections, best call times, AI recommendations. Default false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavior. It describes a read-only query operation, mentions AI-generated recommendations, and implies no side effects. Could explicitly state non-destructive nature, but sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficiently uses bullet points, front-loads purpose. Every sentence adds value. No redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main use cases and analytics feature. No output schema, but description hints at return content. Could mention defaults (e.g., last=10) or pagination, but adequate for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage; all parameters have descriptions. Description maps to some params (call_id, agent_id, include_analytics) but adds little extra meaning beyond listing them. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool queries call history, results, and analytics. Lists specific use cases (specific call, recent history, aggregate analytics). Distinguishes from sibling 'vora_call' (singular) by covering multiple calls and analytics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit scenarios (by call_id, agent_id, analytics). Lacks comparison with siblings like 'vora_call' for single-call vs. list/analytics. Still offers clear context for when to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vora_create_agentA

Create a persistent voice agent for a specific use case. Uses your account context (from vora_register) plus any additional details you provide.

The voice agent persists across calls and improves with every conversation it has. Vora automatically:

  • Compiles product knowledge from your website and registration context

  • Generates objection handling based on your industry

  • Selects the optimal voice, language, and speaking style

  • Builds a conversation workflow (cold call, appointment, follow-up, etc.)

You can create multiple voice agents under one account for different use cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesYour Vora account ID from vora_register.
objectiveYesWhat this voice agent does. Be specific. E.g., 'Cold call restaurant owners in Dubai to sell POS software at $99/mo' or 'Follow up with leads who downloaded our whitepaper about inventory management.'
workflowNoConversation workflow template. Auto-detected from objective if omitted.
languageNoPrimary language (ISO 639-1). Auto-detected from target market if omitted. E.g., 'ar' for Arabic, 'hi' for Hindi.
additional_contextNoExtra context beyond registration. Product updates, specific campaign details, competitor info, pricing changes.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden. It discloses key behaviors: the agent persists across calls, improves over time, and automatically compiles knowledge, generates objection handling, selects voice/language, and builds workflows. This provides sufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It starts with a clear purpose, then uses bullet points to list automatic features. Every sentence is informative without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and no output schema, the description covers prerequisites, automatic behaviors, and parameter details. It does not specify the return value (e.g., agent ID), but this is a minor gap. Overall, it provides sufficient context for using the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by noting auto-detection for 'workflow' and 'language', and clarifying 'additional_context' as extra beyond registration. This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a persistent voice agent for a specific use case.' It uses a specific verb ('create') and resource ('voice agent'), and distinguishes from sibling tools like vora_update_agent by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the prerequisite of having a registered account (via vora_register) and notes that multiple agents can be created for different use cases. It implies when to use the tool, but does not explicitly contrast with alternatives like vora_update_agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vora_registerA

Create your Vora account through conversational onboarding. Vora asks you questions about your business, products, target customers, and objectives to build a rich profile. This produces dramatically better voice agents than one-shot configuration.

Multi-turn: call this tool, answer the returned questions, call again with your answers. Repeat until status is "complete" (typically 3-5 turns).

On completion you receive an account_id and API key to use with all other Vora tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idNoSession ID from previous turn. Omit on first call.
nameNoYour agent or business name. Required on first call.
urlNoYour website URL. Vora will crawl it to understand your business. Highly recommended.
descriptionNoWhat you do, what you sell, who your customers are. One paragraph.
answersNoAnswers to questions from the previous turn. Keys are question IDs, values are your answers.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the multi-turn nature, that questions are returned, and that completion yields an account_id and API key. It does not mention error handling or rate limits, but the iterative process and outcome are well communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured in three paragraphs: purpose, multi-turn process, and outcome. It is concise enough to convey all necessary information without excessive repetition. It could be slightly more concise, but it earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multi-turn, no output schema, no annotations), the description provides a complete picture for an agent: how to start, continue, and detect completion. It mentions the expected outputs (account_id and API key) and the status check. It lacks error handling details but is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema; it only reiterates the multi-turn context. The schema already explains each parameter. Therefore, no extra value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create your Vora account through conversational onboarding.' It also distinguishes itself from siblings (vora_call, vora_calls, vora_create_agent, vora_update_agent) by focusing on account registration, which is a unique action. The multi-turn process is well explained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage guidelines: call the tool, answer questions, repeat until status 'complete'. It explains that this produces better voice agents than one-shot configuration. However, it does not explicitly contrast with siblings or state when not to use it, but the purpose is distinct enough to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vora_update_agentA

Incrementally improve your voice agent without full recompilation. Use this to:

  • Add new objection responses based on what you're hearing in calls

  • Update pricing or product information

  • Apply AI-recommended improvements from call analytics (apply_learnings)

  • Refine your objective based on what's working

  • Force a full recompile when your website has significantly changed

Changes take effect on the very next call. The apply_learnings option is powerful — Vora analyzes all your past calls and automatically updates objection handling, greetings, and qualification criteria based on what's actually converting.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesThe voice agent to update.
add_objection_responseNoAdd a specific objection-response pair.
update_pricingNoNew pricing information. Replaces the current pricing in the pitch.
update_contextNoAdditional business context. New product features, changed messaging, new competitors, etc.
update_objectiveNoRefined calling objective based on what's working. E.g., switch from 'qualify for enterprise' to 'book demo for SMBs'.
apply_learningsNoAuto-apply Vora's recommended improvements from call analytics. Analyzes all past calls and updates objection handling, greetings, and qualification criteria. Powerful after 10+ calls.
recompileNoFull recompilation from your website URL + all accumulated context. Use when your website has significantly changed. Preserves all call learnings.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so description carries full burden. Discloses that changes take effect on the next call and that apply_learnings analyzes past calls. Lacks details on permissions, error handling, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with a clear opening, bullet list of use cases, and a concluding note on effect. Could be slightly more concise, but generally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 7 parameters and no output schema, the description covers the main actions and effects. Explains each parameter's role and the overall behavior, though it could mention parameter combinations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions, but the description adds value through concrete examples (e.g., 'We already use Toast' for objection) and usage scenarios, enhancing meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is for incrementally improving a voice agent without full recompilation, listing specific use cases. It distinguishes from sibling tools like vora_create_agent (creation) and vora_call (calls) by focusing on updates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context on when to use (for incremental updates) and when to force a full recompile (website significantly changed). Does not explicitly exclude alternatives but implies usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedvora_call
    • First observedvora_calls
    • First observedvora_create_agent
    • First observedvora_register
    • First observedvora_update_agent

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: calling, querying calls, creating an agent, registering an account, and updating an agent. There is no overlap or ambiguity.

Naming Consistency5/5

All tools use the 'vora_' prefix followed by a verb or verb_noun pattern (call, calls, create_agent, register, update_agent). The naming is consistent and predictable.

Tool Count5/5

With 5 tools, the set is well-scoped for a voice agent platform. Each tool covers a distinct area without being overly numerous or sparse.

Completeness4/5

Core CRUD operations are covered (create via vora_create_agent, update via vora_update_agent, read via vora_calls, use via vora_call). However, there is no delete tool for agents or calls, and no tool to list all agents.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers