RevDesk Product MCP

Give AI agents secure access to RevDesk calling, SMS, phone numbers, caller IDs, and usage.

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
76%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,312Tokens (tool definitions)
~783 BTypical response size
Moderate attention impact (1.03% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "revdesk-product": {
      "url": "https://mcp.revdesk.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.revdesk.com/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🔴send_sms(to, from, message)

Send a text message from one of the account's RevDesk phone numbers. Both numbers must be E.164 (+14155550123). Use list_phone_numbers to find a valid 'from' number.

Input Schema

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\+[1-9]\\d{1,14}$",
      "description": "Destination number in E.164 format"
    },
    "from": {
      "type": "string",
      "pattern": "^\\+[1-9]\\d{1,14}$",
      "description": "One of the account's RevDesk numbers, E.164"
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1600,
      "description": "Message body"
    }
  },
  "required": [
    "to",
    "from",
    "message"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴place_call(to_number, from_number, record)

Place an outbound phone call from one of the account's RevDesk numbers to a destination. The call is bridged server-side (no audio flows through the AI). Returns a call id for status checks.

Input Schema

{
  "type": "object",
  "properties": {
    "to_number": {
      "type": "string",
      "pattern": "^\\+[1-9]\\d{1,14}$",
      "description": "Destination number in E.164 format"
    },
    "from_number": {
      "type": "string",
      "pattern": "^\\+[1-9]\\d{1,14}$",
      "description": "One of the account's RevDesk numbers, E.164"
    },
    "record": {
      "description": "Record the call (default true)",
      "type": "boolean"
    }
  },
  "required": [
    "to_number",
    "from_number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_calls(status, limit)

List recent calls with status, duration, and cost. Most recent first.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by status, e.g. COMPLETED, FAILED, NO_ANSWER",
      "type": "string"
    },
    "limit": {
      "description": "Max results (default 20)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_call(call_id)

Get the current status and details of a single call by id.

Input Schema

{
  "type": "object",
  "properties": {
    "call_id": {
      "type": "string",
      "description": "Call id from place_call or list_calls"
    }
  },
  "required": [
    "call_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴hangup_call(call_id)

Hang up an in-progress call by id.

Input Schema

{
  "type": "object",
  "properties": {
    "call_id": {
      "type": "string",
      "description": "Call id of an active call"
    }
  },
  "required": [
    "call_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_phone_numbers

List the phone numbers owned by this account (usable as 'from' numbers).

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_available_numbers(area_code, contains, country, limit)

Search phone numbers available for purchase, by area code or digit pattern.

Input Schema

{
  "type": "object",
  "properties": {
    "area_code": {
      "description": "3-digit US area code",
      "type": "string",
      "pattern": "^\\d{3}$"
    },
    "contains": {
      "description": "Digit pattern the number should contain",
      "type": "string"
    },
    "country": {
      "description": "ISO country code (default US)",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "limit": {
      "description": "Max results (default 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴buy_phone_number(phone_number, area_code, name)

Purchase a phone number for this account. Provide an exact number from search_available_numbers, or just an area code to auto-pick. Billing applies to the RevDesk account.

Input Schema

{
  "type": "object",
  "properties": {
    "phone_number": {
      "description": "Exact number to purchase, E.164",
      "type": "string"
    },
    "area_code": {
      "description": "3-digit area code to pick from",
      "type": "string",
      "pattern": "^\\d{3}$"
    },
    "name": {
      "description": "Display name for the number",
      "type": "string",
      "maxLength": 120
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_caller_ids

List verified caller IDs and their CNAM display names.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_usage

Current-month usage rollup: calls placed, minutes used, active numbers, spend.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools