Missed-call cost, AI receptionist pricing and free trial signup; CRM tools for RingGuard sales reps
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a new lead to your pipeline. Warns if another visible lead already has the same phone number. Two-step: draft, then confirm.
Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a new lead to your pipeline. Warns if another visible lead already has the same phone number. Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| string | ||
| notes | string | |
| phone* | string | |
| state | string | |
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
| industry | string | |
| contact_name | string | |
| business_name* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"business_name",
"phone"
],
"properties": {
"city": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"notes": {
"type": "string"
},
"phone": {
"type": "string",
"minLength": 7
},
"state": {
"type": "string"
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
},
"industry": {
"type": "string"
},
"contact_name": {
"type": "string"
},
"business_name": {
"type": "string",
"minLength": 1
}
}
}Calls logged on one lead, or if no lead is given, the calls you logged in the last N days.
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| limit | integer | |
| lead_id | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"default": 7,
"maximum": 365,
"minimum": 1
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
},
"lead_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Take an unclaimed lead from the shared pool into your own pipeline. Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
| lead_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"lead_id"
],
"properties": {
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
},
"lead_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Turn a Shadow Trial signup into a lead in your pipeline at the shadow_trial stage. Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
| trial_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"trial_id"
],
"properties": {
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
},
"trial_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Search leads you can see: your own plus the unclaimed pool. Filter by name/phone text, status, industry, city or minimum lead score.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| limit | integer | |
| scope | string | |
| search | string | Text to match in business name, contact name or phone. |
| status | string | |
| industry | string | Partial match, e.g. "hvac" or "dental". |
| min_score | integer | Pipeline lead score, 1-5. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"scope": {
"enum": [
"all",
"mine",
"unclaimed"
],
"type": "string",
"default": "all"
},
"search": {
"type": "string",
"description": "Text to match in business name, contact name or phone."
},
"status": {
"enum": [
"cold",
"contacted",
"shadow_trial",
"trial_active",
"won",
"lost"
],
"type": "string"
},
"industry": {
"type": "string",
"description": "Partial match, e.g. \"hvac\" or \"dental\"."
},
"min_score": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Pipeline lead score, 1-5."
}
}
}Everything about one lead: contact info, pitch (cold-call angle, Shadow Trial pitch, pain points), deal details, call history and notes.
| Argument | Type | Description |
|---|---|---|
| lead_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Health of the automated lead-gen pipeline (job postings → AI enrichment → unclaimed pool, runs every 4 hours): when it last delivered leads and how many.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Record a call with one of your leads, optionally setting a follow-up. Some outcomes also move the lead's stage (won, trial_started, appointment_booked, not_interested, do_not_call). Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| notes | string | |
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
| lead_id* | string | |
| outcome* | string | |
| direction | string | |
| follow_up_at | string | When to follow up, as an ISO 8601 date-time with timezone, e.g. 2026-10-09T10:00:00-05:00. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"lead_id",
"outcome"
],
"properties": {
"notes": {
"type": "string"
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
},
"lead_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"outcome": {
"enum": [
"no_answer",
"left_voicemail",
"not_interested",
"follow_up",
"appointment_booked",
"trial_started",
"won",
"do_not_call"
],
"type": "string"
},
"direction": {
"enum": [
"outbound",
"inbound"
],
"type": "string",
"default": "outbound"
},
"follow_up_at": {
"type": "string",
"description": "When to follow up, as an ISO 8601 date-time with timezone, e.g. 2026-10-09T10:00:00-05:00."
}
}
}Estimate how much revenue a business loses to unanswered calls, from its own call volume and average job value. No sign-in needed. Ask the user for their numbers rather than guessing them.
| Argument | Type | Description |
|---|---|---|
| avg_job_value* | number | Average revenue from one booked job, in dollars. |
| calls_per_week* | number | Inbound calls the business gets in a typical week. |
| missed_percent | number | Share of calls that go unanswered. Default 30 is an assumption; use the business's own figure if known. |
| booking_percent | number | Share of answered calls that become a booked job. Default 50 is an assumption. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"calls_per_week",
"avg_job_value"
],
"properties": {
"avg_job_value": {
"type": "number",
"description": "Average revenue from one booked job, in dollars.",
"exclusiveMinimum": 0
},
"calls_per_week": {
"type": "number",
"description": "Inbound calls the business gets in a typical week.",
"exclusiveMinimum": 0
},
"missed_percent": {
"type": "number",
"default": 30,
"maximum": 100,
"minimum": 0,
"description": "Share of calls that go unanswered. Default 30 is an assumption; use the business's own figure if known."
},
"booking_percent": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 0,
"description": "Share of answered calls that become a booked job. Default 50 is an assumption."
}
}
}Who is signed in to RingGuard, and a quick count of their pipeline.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Your leads with a follow-up due, including overdue ones, soonest first.
| Argument | Type | Description |
|---|---|---|
| days_ahead | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days_ahead": {
"type": "integer",
"default": 7,
"maximum": 90,
"minimum": 0
}
}
}Your call activity over the last N days: totals by outcome, conversations, trials started and wins.
| Argument | Type | Description |
|---|---|---|
| days | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"default": 7,
"maximum": 365,
"minimum": 1
}
}
}Businesses that signed up for the free Shadow Trial on ringguard.online and haven't been converted to a lead yet.
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| include_converted | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"default": 14,
"maximum": 365,
"minimum": 1
},
"include_converted": {
"type": "boolean",
"default": false
}
}
}Snapshot of your pipeline: leads by stage, won deals and monthly recurring revenue, follow-ups due, the unclaimed pool and open trial signups.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Estimate what RingGuard would cost a business per month from how many calls it would handle, compared with a receptionist and an answering service. No sign-in needed.
| Argument | Type | Description |
|---|---|---|
| calls_per_month* | integer | Calls RingGuard would answer per month (overflow + after-hours). |
| avg_call_minutes | number | Average call length in minutes. Default 3 is an assumption. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"calls_per_month"
],
"properties": {
"calls_per_month": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Calls RingGuard would answer per month (overflow + after-hours)."
},
"avg_call_minutes": {
"type": "number",
"default": 3,
"description": "Average call length in minutes. Default 3 is an assumption.",
"exclusiveMinimum": 0
}
}
}Sign a business up for RingGuard's free 48-hour Shadow Trial. The RingGuard team follows up by text or call within one business day. Only call this after the person has given their details and explicitly agreed to be contacted and to the privacy policy (https://ringguard.online/privacy). No sign-in needed.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| email* | string | |
| phone* | string | |
| state | string | |
| message | string | Anything the business wants RingGuard to know. |
| industry | string | |
| contact_name* | string | |
| business_name* | string | |
| agreed_to_be_contacted* | boolean | Must be true: the person explicitly agreed to be contacted and to the privacy policy. |
Owner only. Call activity per rep over the last N days, ranked by conversations.
| Argument | Type | Description |
|---|---|---|
| days | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"default": 7,
"maximum": 365,
"minimum": 1
}
}
}The best leads to call right now: not yet won or lost, with a phone number, ranked by lead score and how much the open receptionist job is costing them. Includes the suggested cold-call angle.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| industry | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"industry": {
"type": "string"
}
}
}Reverse the most recent change you made through Claude (claim, new lead, status change, logged call or trial conversion). Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
}
}
}Move one of your leads to a new pipeline stage. Two-step: draft, then confirm.
| Argument | Type | Description |
|---|---|---|
| status* | string | |
| confirm | boolean | Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it. |
| lead_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"lead_id",
"status"
],
"properties": {
"status": {
"enum": [
"cold",
"contacted",
"shadow_trial",
"trial_active",
"won",
"lost"
],
"type": "string"
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Leave false to get a draft of the change. Only set true after the user has seen the draft and approved it."
},
"lead_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Explains RingGuard, the AI voice receptionist for trade businesses (HVAC, plumbing, roofing, towing): what it does, pricing, how it compares to a receptionist or answering service, and the free Shadow Trial. No sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"business_name",
"contact_name",
"phone",
"email",
"agreed_to_be_contacted"
],
"properties": {
"city": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 7
},
"state": {
"type": "string"
},
"message": {
"type": "string",
"description": "Anything the business wants RingGuard to know."
},
"industry": {
"type": "string"
},
"contact_name": {
"type": "string",
"minLength": 1
},
"business_name": {
"type": "string",
"minLength": 1
},
"agreed_to_be_contacted": {
"type": "boolean",
"const": true,
"description": "Must be true: the person explicitly agreed to be contacted and to the privacy policy."
}
}
}