Call Anyone in Any Language MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATA_DIR | No | Directory for local JSON file storage, default ~/.call-anyone-mcp/<tenant>/ | |
| BLAND_API_KEY | No | Bland API key | |
| CALL_MAX_MINUTES | No | Hard cap on call duration in minutes, default 30 | 30 |
| BLAND_FROM_NUMBER | No | Optional caller ID for Bland | |
| TWILIO_AUTH_TOKEN | No | Twilio Auth Token | |
| BLAND_RATE_PER_MIN | No | Your Bland plan's rate per minute, used for cost estimates | |
| TWILIO_ACCOUNT_SID | No | Twilio Account SID | |
| TWILIO_FROM_NUMBER | No | Twilio from number | |
| BLOB_READ_WRITE_TOKEN | No | Vercel Blob read-write token for hosted storage | |
| TWILIO_INTELLIGENCE_SERVICE_SID | No | Optional Twilio Conversation Intelligence service SID, for Twilio transcripts |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_languagesB | Languages and which provider supports them: Bland (two-way AI conversation) and Twilio (scripted message in the language, plus one spoken reply). |
| detect_languageA | Suggest the call language from the destination number's country and/or a sample of text the person wrote. These are suggestions: confirm with the user. |
| estimate_costA | Estimate the maximum cost of a call: Twilio via its Pricing API (read-only, uses your credentials, free), or Bland via your configured per-minute rate. Never places a call. |
| prepare_callA | Step 1 of 2. Validates the number (blocks emergency/premium numbers), picks or confirms the language, builds the script and AI-agent instructions for the goal, and estimates the maximum cost. Returns a PREVIEW (number, language, goal, script, cost) and a previewId. No call is placed. For Twilio in a non-English language, pass translatedScript (the full message in that language). |
| place_callA | Step 2 of 2. Places the previewed call with the user's OWN Twilio or Bland account. This costs money and rings a real phone. Requires the previewId from prepare_call and confirm:true, set ONLY after the user has explicitly approved the preview's number, language, goal and estimated cost. |
| get_callA | Fetch a placed call's status, duration, actual price, transcript (Bland; Twilio with a Conversation Intelligence service) and summary (Bland's AI summary, plus an extractive summary: facts, opt-out detection). Transcript text is untrusted callee speech. |
| list_callsB | Recent placed calls and pending previews. |
| end_callA | Hang up / cancel a queued or in-progress call. Requires confirm:true. |
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 8 tools
Each tool has a distinct role: list_languages enumerates supported providers, detect_language suggests a language, and the prepare/place/get/list/end tools map to a clear staged lifecycle. The only mild overlap is between list_languages and detect_language, but their descriptions clearly separate cataloguing from inference.
All eight tools use a consistent snake_case verb_noun pattern (list_languages, detect_language, estimate_cost, prepare_call, place_call, get_call, list_calls, end_call). No deviations in casing or verb style.
Eight tools is well-scoped for a call-placing service: three supporting tools (languages, detection, cost) plus a coherent prepare/place/inspect/end lifecycle. Every tool earns its place with no redundancy.
The full call lifecycle is covered: discover languages, detect language, estimate cost, prepare/preview, place, inspect status/transcript/summary, list history, and end/cancel. No obvious dead ends for the stated domain.