@vora/voice — Voice for Autonomous AI Agents
Make phone calls, close deals, book meetings. Full-stack voice AI: brain + voice + ears.
Install
npx @vora/voiceOr add to your MCP config:
{
"mcpServers": {
"vora-voice": {
"command": "npx",
"args": ["@vora/voice"]
}
}
}Related MCP server: Agent Negotiation MCP
Tools
Tool | What it does |
| Create account. Vora interviews you about your business (3-5 turns). |
| Build a persistent voice agent for a specific use case. |
| Make an outbound phone call. Returns structured outcome. |
| Check results, history, analytics, AI recommendations. |
| 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-improvePayment
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 paymentsLanguages
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 toolsvora_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.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | Your voice agent ID from vora_create_agent. | |
| phone | Yes | Phone number in E.164 format. E.g., +15551234567, +971501234567, +919876543210. | |
| lead_context | No | Everything you know about this lead. Name, title, company, size, how you found them, previous interactions, interests. Free-form text — the more the better. | |
| specific_objective | No | Override or refine the agent's default objective for this call. E.g., 'They downloaded our pricing PDF yesterday — focus on closing, not educating.' | |
| callback_url | No | Webhook URL for async result delivery. Vora POSTs the full call result when complete. If omitted, poll vora_calls with the call_id. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| call_id | No | Get full details for a specific call. | |
| agent_id | No | Filter calls by voice agent. | |
| status | No | Filter by call status. | |
| last | No | Return last N calls. Default 10, max 100. | |
| include_analytics | No | Include aggregate metrics: conversion rate, avg duration, top objections, best call times, AI recommendations. Default false. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | Your Vora account ID from vora_register. | |
| objective | Yes | What 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.' | |
| workflow | No | Conversation workflow template. Auto-detected from objective if omitted. | |
| language | No | Primary language (ISO 639-1). Auto-detected from target market if omitted. E.g., 'ar' for Arabic, 'hi' for Hindi. | |
| additional_context | No | Extra context beyond registration. Product updates, specific campaign details, competitor info, pricing changes. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | No | Session ID from previous turn. Omit on first call. | |
| name | No | Your agent or business name. Required on first call. | |
| url | No | Your website URL. Vora will crawl it to understand your business. Highly recommended. | |
| description | No | What you do, what you sell, who your customers are. One paragraph. | |
| answers | No | Answers to questions from the previous turn. Keys are question IDs, values are your answers. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | The voice agent to update. | |
| add_objection_response | No | Add a specific objection-response pair. | |
| update_pricing | No | New pricing information. Replaces the current pricing in the pitch. | |
| update_context | No | Additional business context. New product features, changed messaging, new competitors, etc. | |
| update_objective | No | Refined calling objective based on what's working. E.g., switch from 'qualify for enterprise' to 'book demo for SMBs'. | |
| apply_learnings | No | Auto-apply Vora's recommended improvements from call analytics. Analyzes all past calls and updates objection handling, greetings, and qualification criteria. Powerful after 10+ calls. | |
| recompile | No | Full recompilation from your website URL + all accumulated context. Use when your website has significantly changed. Preserves all call learnings. |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
v0.1.0- First observed
vora_call - First observed
vora_calls - First observed
vora_create_agent - First observed
vora_register - First observed
vora_update_agent
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
LLM Orchestration MCP Agent
AI voice agents on SMB websites — fully autonomous build in 2–3 min. 23 MCP tools. EU, GDPR.
- ChamadeOAuthio.chamade
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
MCP-Native LLM Orchestration Agent
Related MCP Servers
FlicenseCqualityDmaintenanceBest VoiceAI White Label Platform for Agencies with Full MCP Connectivity to Any Platform for Custom VoiceAi & AI Chat Integrations and You Keep 100% of the Profits32-- AlicenseNot gradedqualityBmaintenanceAgent Negotiation - MCP server providing AI-powered tools and automation by MEOK AI Labs7 npm121 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceAgent Delegation - MCP server providing AI-powered tools and automation by MEOK AI Labs6 npm109 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceLets any MCP-capable AI client create and manage AI voice agents without writing HTTP code.4 npmMIT