Skip to content

CosVoice

by cosvoice.com · remote · no sign-in to list tools · v1.0.0 · published by com.cosvoice

A real phone number and email for your AI Chief of Staff. Calls, bookings by phone, summaries.

Deletes · 1Final · 4Changes · 9

27 tools: 1 can delete or cancel things, 4 do something that can't be undone, 9 change things and 13 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http cosvoice https://cosvoice.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "remove_contact" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "remove_contact" says "remove": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

27 tools

Deletes or cancels 1Claude Code: deny
  • remove_contactRemove a number from the contacts list (not the owner).1 finding

    Why it is in this group

    • The name "remove_contact" says "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "remove_contact" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "remove_contact" says "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Remove a number from the contacts list (not the owner).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
Can't be undone 4Claude Code: ask
  • forward_emailForward one received email to one of the line's own inboxes: its forwarding, notification or Bot inbox, or the owner's sign-in address (defaults to the forwarding inbox).No findings

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Forward one received email to one of the line's own inboxes: its forwarding, notification or Bot inbox, or the owner's sign-in address (defaults to the forwarding inbox). It cannot forward to any other address, and a new inbox must be confirmed by its owner first.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • place_callHave the line call a real number and hold a live voice conversation on the owner's behalf.No findings

    Why it is in this group

    • The name "place_call" says "call": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Have the line call a real number and hold a live voice conversation on the owner's behalf. Brief it like a human assistant: who to ask for, what you want, acceptable fallbacks, what to do on voicemail. Set connect_owner when the owner wants to be put through once a human is reached (the line waits on hold, then rings the owner). Asynchronous: poll get_call or wait for the call.completed webhook.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • send_emailSend an email from the line's own address (handle@cosvoice.com).No findings

    Why it is in this group

    • The name "send_email" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Send an email from the line's own address (handle@cosvoice.com). Reply to a message the line received by passing reply_to_email_id (recipient and subject fill in, threading is kept), or write to the owner. The line may only email people who have emailed it first, its owner, or its Bot inbox. Plain text; keep it short and sign as the line.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • send_textSend an SMS from the line's number.No findings

    Why it is in this group

    • The name "send_text" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Send an SMS from the line's number. Respects STOP opt-outs. Read the delivery field in the result: while CosVoice's carrier registration (10DLC) is in progress, texts from the line may be filtered by US carriers and not arrive; texts to the line and calls always work.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Changes things 9Claude Code: ask
  • ack_instructionsMark owner instructions (texts the owner sent to the line) as handled so they stop being attached to tool results.No findings

    Why it is in this group

    • The description's first verb is "mark": a word for a change.
    Description, as the server wrote it
    Mark owner instructions (texts the owner sent to the line) as handled so they stop being attached to tool results. Pass the ids from the OWNER INSTRUCTIONS notice, or all: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • add_contactTeach the line a number.No findings

    Why it is in this group

    • The name "add_contact" says "add": a word for a change.
    Description, as the server wrote it
    Teach the line a number. Roles: approved (reaches the owner), vip (interrupts), blocked (polite wall).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • annotate_callAttach a note to a call (what you did about it, a decision, context for the owner).No findings

    Why it is in this group

    • The name "annotate_call" says "call": a word for a change.
    Description, as the server wrote it
    Attach a note to a call (what you did about it, a decision, context for the owner). Shows in the dashboard next to the debrief.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • book_reservationReserve a table by phone: the line calls the venue, negotiates the time, answers the host's questions (name, callback, email), records policies, and never pays.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Reserve a table by phone: the line calls the venue, negotiates the time, answers the host's questions (name, callback, email), records policies, and never pays. Give the venue's phone number, party size, date/time, and the acceptable window or fallbacks. Returns reservation_id and call_id; read the outcome with get_call or list_reservations before telling the owner anything is confirmed. Statuses: confirmed, alternative_confirmed, waitlisted, hold, requires_online, needs_owner, callback_later, no_availability, declined_by_venue, voicemail, not_reached.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • create_lineSet up the phone line: claim a number (pick one from search_numbers or just give an area code), name the persona, and register the owner's mobile.No findings

    Why it is in this group

    • The name "create_line" says "create": a word for a change.
    Description, as the server wrote it
    Set up the phone line: claim a number (pick one from search_numbers or just give an area code), name the persona, and register the owner's mobile. An account can own several lines; each needs its own paid plan (if none is waiting, this returns a checkout link). Ask the owner before opting them in to texts.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • recent_activityEverything since a timestamp: calls, texts, emails.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Everything since a timestamp: calls, texts, emails. Catch-up when webhooks were missed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • set_bot_pushHave CosVoice start YOU the moment something arrives, instead of you polling.No findings

    Why it is in this group

    • The name "set_bot_push" says "set": a word for a change.
    Description, as the server wrote it
    Have CosVoice start YOU the moment something arrives, instead of you polling. Give it the webhook URL and key of a routine of yours that has a Webhook trigger (Grok Bot: Routines → New → trigger Webhook; the URL and a crsr_ key appear). CosVoice POSTs a JSON body with what_to_do plus the ids when the owner texts an instruction, an email arrives, or a call finishes; that body becomes the routine's input. Pass an empty url to turn it off. events limits which moments wake you (default all three).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • set_webhookSet (or clear with an empty url) the HTTPS webhook that receives call.completed, message.received, and email.received.No findings

    Why it is in this group

    • The name "set_webhook" says "set": a word for a change.
    Description, as the server wrote it
    Set (or clear with an empty url) the HTTPS webhook that receives call.completed, message.received, and email.received. Returns the signing secret once.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • update_settingsChange any of: name, voice, greeting, instructions, owner_name, owner_phone, timezone, notify_email, agent_email, morning_brief (daily digest on/off), morning_brief_hour (0–23 loca…No findings

    Why it is in this group

    • The name "update_settings" says "update": a word for a change.
    Description, as the server wrote it
    Change any of: name, voice, greeting, instructions, owner_name, owner_phone, timezone, notify_email, agent_email, morning_brief (daily digest on/off), morning_brief_hour (0–23 local), forward_email, forward_mode (relay|raw|off), sms_opt_in, answer_rings (0|1|2). Only the fields you pass change.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
Only reads 13Claude Code: allow
  • get_accountWho this key belongs to and whether a line exists yet.No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    Who this key belongs to and whether a line exists yet.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_callStatus, structured notes, outcome, transcript, and annotations for one call.No findings

    Why it is in this group

    • The name "get_call" says "get": a word for reading.
    Description, as the server wrote it
    Status, structured notes, outcome, transcript, and annotations for one call.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_emailFull text of one email the line received.No findings

    Why it is in this group

    • The name "get_email" says "get": a word for reading.
    Description, as the server wrote it
    Full text of one email the line received.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_lineNumber, email identity, persona, owner, and minutes remaining this period.No findings

    Why it is in this group

    • The name "get_line" says "get": a word for reading.
    Description, as the server wrote it
    Number, email identity, persona, owner, and minutes remaining this period.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_settingsPersona, voice, greeting, standing instructions, owner, notifications, forwarding, webhook, Bot push, SMS consent.No findings

    Why it is in this group

    • The name "get_settings" says "get": a word for reading.
    Description, as the server wrote it
    Persona, voice, greeting, standing instructions, owner, notifications, forwarding, webhook, Bot push, SMS consent.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_callsRecent calls with summaries, newest first.No findings

    Why it is in this group

    • The name "list_calls" says "list": a word for reading.
    Description, as the server wrote it
    Recent calls with summaries, newest first.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_contactsOwner, approved, VIP, and blocked numbers.No findings

    Why it is in this group

    • The name "list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    Owner, approved, VIP, and blocked numbers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_emailsEmail received at and sent from the line's address, newest first (direction inbound|outbound), with forwarding status.No findings

    Why it is in this group

    • The name "list_emails" says "list": a word for reading.
    Description, as the server wrote it
    Email received at and sent from the line's address, newest first (direction inbound|outbound), with forwarding status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_historyUnified history of calls, texts, and email with optional search.No findings

    Why it is in this group

    • The name "list_history" says "list": a word for reading.
    Description, as the server wrote it
    Unified history of calls, texts, and email with optional search. The same table as the dashboard.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_integrationsPartner integrations available through this line (groceries, food, reservations, travel…), with status and connect links.No findings

    Why it is in this group

    • The name "list_integrations" says "list": a word for reading.
    Description, as the server wrote it
    Partner integrations available through this line (groceries, food, reservations, travel…), with status and connect links. Partner tools appear as <partner>__<tool>.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_messagesRecent texts to and from the line.No findings

    Why it is in this group

    • The name "list_messages" says "list": a word for reading.
    Description, as the server wrote it
    Recent texts to and from the line.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_reservationsRecent reservation requests with their status and the venue's stated policies.No findings

    Why it is in this group

    • The name "list_reservations" says "list": a word for reading.
    Description, as the server wrote it
    Recent reservation requests with their status and the venue's stated policies.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • search_numbersFind available phone numbers in a US area code for a new line.No findings

    Why it is in this group

    • The name "search_numbers" says "search": a word for reading.
    Description, as the server wrote it
    Find available phone numbers in a US area code for a new line.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http cosvoice https://cosvoice.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__cosvoice__get_account",
      "mcp__cosvoice__search_numbers",
      "mcp__cosvoice__get_line",
      "mcp__cosvoice__list_reservations",
      "mcp__cosvoice__get_call",
      "mcp__cosvoice__list_calls",
      "mcp__cosvoice__list_messages",
      "mcp__cosvoice__list_emails",
      "mcp__cosvoice__get_email",
      "mcp__cosvoice__list_contacts",
      "mcp__cosvoice__get_settings",
      "mcp__cosvoice__list_history",
      "mcp__cosvoice__list_integrations"
    ],
    "ask": [
      "mcp__cosvoice__create_line",
      "mcp__cosvoice__place_call",
      "mcp__cosvoice__book_reservation",
      "mcp__cosvoice__annotate_call",
      "mcp__cosvoice__send_text",
      "mcp__cosvoice__ack_instructions",
      "mcp__cosvoice__send_email",
      "mcp__cosvoice__forward_email",
      "mcp__cosvoice__add_contact",
      "mcp__cosvoice__update_settings",
      "mcp__cosvoice__set_bot_push",
      "mcp__cosvoice__set_webhook",
      "mcp__cosvoice__recent_activity"
    ],
    "deny": [
      "mcp__cosvoice__remove_contact"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as cosvoice. Review it before you use it.