Call2Me
Place real phone calls, read transcripts, run a live interpreter and buy numbers.
我該用這個嗎
品質與安全性
發現項目(6)
- HIGH
- LOW在 call2me_get_interpreter_web_status 中
- LOW在 call2me_create_interpreter_passcode 中
- LOW在 call2me_get_agent 中
- LOW在 call2me_get_interpreter_web_status 中
- LOW在 call2me_enable_interpreter_web 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.call2me.app/mcp"
}
}
}遠端端點
https://mcp.call2me.app/mcpstreamable-http它能做什麼
工具清單
工具(37)
🟢call2me_profile
Safe summary of the connected Call2Me account: email, name, account type. NEVER returns the API key. Use when the user asks which account they are connected to.
輸入結構描述
{
"type": "object",
"additionalProperties": false
}🟢call2me_list_agents(limit, offset)
Lists the voice assistants on the account. Use when the user wants to see their assistants, or needs to pick one for another operation.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}🟢call2me_get_agent(agent_id)
Full settings for a single assistant: language, voice, system prompt, model.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant id."
}
},
"required": [
"agent_id"
],
"additionalProperties": false
}🟢call2me_list_calls(limit, offset, agent_id)
Lists past calls: direction, duration, status, number. Pass agent_id to restrict to one assistant.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
},
"agent_id": {
"type": "string",
"description": "Restrict to this assistant's calls."
}
},
"additionalProperties": false
}🟢call2me_get_call(call_id)
Details of a single call: start and end, duration, status, cost.
輸入結構描述
{
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "The call id."
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢call2me_get_call_transcript(call_id)
Returns the conversation transcript in vCon format — who said what, with timestamps. Use when the user asks what was said on a call.
輸入結構描述
{
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "The call id."
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢call2me_list_phone_numbers
Lists the phone numbers on the account and which assistant each one is bound to.
輸入結構描述
{
"type": "object",
"additionalProperties": false
}🟢call2me_list_campaigns(limit, offset)
Lists bulk calling campaigns: status, target count, progress.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}🟢call2me_list_schedules(limit, offset)
Lists scheduled calls: when, which number, which assistant.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}🟢call2me_get_wallet
Current account balance in USD, the same wallet that calls and numbers draw on.
輸入結構描述
{
"type": "object",
"additionalProperties": false
}🟢call2me_list_interpreters(limit, offset)
Lists the live interpreters on the account: name, language pair, bound number. An interpreter connects two people who each speak their own language, translating in real time.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}🟢call2me_get_interpreter(interpreter_id)
Settings for a single interpreter: language pair, voice, transparency mode, phone number, browser session link.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string",
"description": "The interpreter id."
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}🟢call2me_list_interpreter_calls(limit, offset)
Lists sessions run through an interpreter: duration, languages, status.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}🟢call2me_get_interpreter_web_status(interpreter_id)
Shows who is currently connected to the interpreter browser session.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}🟢call2me_list_allowed_countries
Countries where a phone number can be purchased. Use before searching numbers to see which countries are open.
輸入結構描述
{
"type": "object",
"additionalProperties": false
}🟢call2me_search_numbers(country, area_code, locality, phone_number_type, limit)
Lists purchasable phone numbers in a country. DOES NOT BUY — it only shows them. The country code is required; do not guess it, ask the user or call call2me_list_allowed_countries first.
輸入結構描述
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO country code, e.g. 'US', 'TR', 'GB'."
},
"area_code": {
"type": "string",
"description": "Area code, if any."
},
"locality": {
"type": "string",
"description": "City, if any."
},
"phone_number_type": {
"type": "string",
"description": "'local' | 'toll-free' | 'mobile'"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢call2me_get_pricing
Per-minute call rates and number prices.
輸入結構描述
{
"type": "object",
"additionalProperties": false
}🟡call2me_create_agent(name, language, system_prompt)
Creates a new voice assistant. Do not call it unless the user asks explicitly; do not invent fields such as name and language — ask.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the assistant."
},
"language": {
"type": "string",
"description": "Spoken language, e.g. 'tr' or 'en'."
},
"system_prompt": {
"type": "string",
"description": "Behaviour instructions for the assistant."
}
},
"required": [
"name"
],
"additionalProperties": true
}🟡call2me_update_agent(agent_id, name, language, system_prompt)
Changes an existing assistant. Send only the fields the user named explicitly.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant to update."
},
"name": {
"type": "string"
},
"language": {
"type": "string"
},
"system_prompt": {
"type": "string"
}
},
"required": [
"agent_id"
],
"additionalProperties": true
}🟡call2me_create_schedule(agent_id, phone_number, scheduled_at, timezone, contact_name, ...)
Schedules a call for a given time. This WILL produce a REAL call — the target number is dialled when the time comes. agent_id, phone_number and scheduled_at are REQUIRED; never guess any of them, ask the user if anything is missing.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant that will place the call."
},
"phone_number": {
"type": "string",
"description": "Number to dial, E.164 (+905551234567)."
},
"scheduled_at": {
"type": "string",
"description": "ISO 8601 timestamp, e.g. 2026-10-05T14:30:00Z."
},
"timezone": {
"type": "string",
"default": "UTC"
},
"contact_name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"agent_id",
"phone_number",
"scheduled_at"
],
"additionalProperties": false
}🟡call2me_create_interpreter(name, source_language, target_language, voice_id, transparency, ...)
Creates a new live interpreter. name, source language and target language are REQUIRED — never guess any of them, ask the user.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the interpreter."
},
"source_language": {
"type": "string",
"description": "Source language code, e.g. 'tr'."
},
"target_language": {
"type": "string",
"description": "Target language code, e.g. 'en'."
},
"voice_id": {
"type": "string"
},
"transparency": {
"type": "string",
"description": "'invisible' | 'announce'"
},
"phone_number": {
"type": "string",
"description": "Number to bind to the interpreter."
}
},
"required": [
"name",
"source_language",
"target_language"
],
"additionalProperties": true
}🟡call2me_update_interpreter(interpreter_id, name, source_language, target_language, transparency)
Changes an existing interpreter. Send only the fields the user named explicitly.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
},
"name": {
"type": "string"
},
"source_language": {
"type": "string"
},
"target_language": {
"type": "string"
},
"transparency": {
"type": "string"
}
},
"required": [
"interpreter_id"
],
"additionalProperties": true
}⚪call2me_enable_interpreter_web(interpreter_id, enabled, requires_passcode)
Opens or closes the browser session link for an interpreter. Does NOT place a phone call.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
},
"enabled": {
"type": "boolean",
"default": true
},
"requires_passcode": {
"type": "boolean",
"description": "Require a passcode to join."
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}🟡call2me_create_interpreter_passcode(interpreter_id)
Mints a single-use join passcode for the browser session.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}⚪call2me_bind_number(phone_number, agent_id)
Binds a phone number to an assistant, which then answers calls to that number. Replaces any existing binding.
輸入結構描述
{
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"description": "A number on the account, E.164."
},
"agent_id": {
"type": "string",
"description": "The assistant to bind to."
}
},
"required": [
"phone_number",
"agent_id"
],
"additionalProperties": false
}⚪call2me_checkout_number(phone_number, agent_id)
Creates a checkout link for buying a number. DOES NOT BUY and DOES NOT CHARGE — the user confirms on the payment screen themselves. Use this path when the balance is insufficient.
輸入結構描述
{
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"description": "From the call2me_search_numbers result."
},
"agent_id": {
"type": "string"
}
},
"required": [
"phone_number"
],
"additionalProperties": false
}🟡call2me_create_voice_session(agent_id)
Opens a browser voice session and returns connection details. Does NOT place a phone call.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string"
}
},
"additionalProperties": true
}🔴call2me_make_outbound_call(agent_id, to_number, from_number)
Places a REAL phone call: the target number is dialled IMMEDIATELY and charged. Cannot be undone. Call this ONLY when the user explicitly asks for a call to be placed. agent_id and to_number are REQUIRED — never guess either one, never infer it from earlier conversation and never assign a default. Ask the user if anything is missing.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Id of the assistant that will place the call. If unknown, call call2me_list_agents first."
},
"to_number": {
"type": "string",
"description": "Number to dial, E.164 (+905551234567). The user must supply it explicitly."
},
"from_number": {
"type": "string",
"description": "Caller id (one of the account's numbers)."
}
},
"required": [
"agent_id",
"to_number"
],
"additionalProperties": false
}🔴call2me_end_call(call_id)
Cuts off a call in progress IMMEDIATELY. Cannot be undone — the conversation ends.
輸入結構描述
{
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "Id of the call to end."
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🔴call2me_delete_agent(agent_id)
PERMANENTLY deletes an assistant. Cannot be undone. If it is unclear which assistant is meant, NEVER guess — ask the user.
輸入結構描述
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Id of the assistant to delete."
}
},
"required": [
"agent_id"
],
"additionalProperties": false
}🔴call2me_start_interpreter_call(interpreter_id, target_number, initiator_number)
Places a REAL phone call: the target number is dialled IMMEDIATELY, both sides are connected through live translation, and the call is charged. Cannot be undone. Call this ONLY when the user explicitly asks. interpreter_id and target_number are REQUIRED — never guess either one.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string",
"description": "Interpreter to use. If unknown, call call2me_list_interpreters first."
},
"target_number": {
"type": "string",
"description": "Number to dial, E.164. The user must supply it explicitly."
},
"initiator_number": {
"type": "string",
"description": "Number of the person starting the session."
}
},
"required": [
"interpreter_id",
"target_number"
],
"additionalProperties": false
}🔴call2me_purchase_number(phone_number, agent_id)
BUYS a phone number: the balance IS CHARGED and monthly rent starts. Cannot be undone. Call this ONLY when the user explicitly asks to buy and has picked the number themselves. NEVER guess the number — show options with call2me_search_numbers first and let the user choose. If the balance is insufficient, use call2me_checkout_number.
輸入結構描述
{
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"description": "The number the user CHOSE from the call2me_search_numbers result."
},
"agent_id": {
"type": "string",
"description": "Assistant to bind the number to (optional)."
}
},
"required": [
"phone_number"
],
"additionalProperties": false
}🔴call2me_release_number(phone_number)
PERMANENTLY releases a phone number: it leaves the account, may be reassigned to someone else, and cannot be recovered. Incoming calls stop.
輸入結構描述
{
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"description": "The number to release."
}
},
"required": [
"phone_number"
],
"additionalProperties": false
}🔴call2me_unbind_number(phone_number)
Removes the number's assistant binding; calls to it are no longer answered. The number stays on the account.
輸入結構描述
{
"type": "object",
"properties": {
"phone_number": {
"type": "string"
}
},
"required": [
"phone_number"
],
"additionalProperties": false
}🔴call2me_delete_interpreter(interpreter_id)
PERMANENTLY deletes an interpreter. Cannot be undone. If it is unclear which one is meant, NEVER guess — ask the user.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}🔴call2me_end_interpreter_web(interpreter_id)
Cuts off the browser session in progress IMMEDIATELY. Cannot be undone.
輸入結構描述
{
"type": "object",
"properties": {
"interpreter_id": {
"type": "string"
}
},
"required": [
"interpreter_id"
],
"additionalProperties": false
}🔴call2me_cancel_schedule(schedule_id)
Cancels a scheduled call. Cannot be undone.
輸入結構描述
{
"type": "object",
"properties": {
"schedule_id": {
"type": "string",
"description": "Id of the schedule to cancel."
}
},
"required": [
"schedule_id"
],
"additionalProperties": false
}社群
證據