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
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools