RingGuard — AI Receptionist for Trade Businesses

Missed-call cost, AI receptionist pricing and free trial signup; CRM tools for RingGuard sales reps

我该使用它吗

质量与安全性

B
描述质量
95%
模式完整度
72%
命名质量
88%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 start_shadow_trial 中
  • LOWTool 'what_ringguard_does' description lacks action verb在 what_ringguard_does 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,688token 数(工具定义)
~1.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.88%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "ringguard": {
      "url": "https://ringguard.online/mcp"
    }
  }
}

远程端点

https://ringguard.online/mcpstreamable-http

它能做什么

工具清单

工具(21)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢what_ringguard_does

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.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢missed_call_cost(calls_per_week, avg_job_value, missed_percent, booking_percent)

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.

输入模式

{
  "type": "object",
  "properties": {
    "calls_per_week": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Inbound calls the business gets in a typical week."
    },
    "avg_job_value": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Average revenue from one booked job, in dollars."
    },
    "missed_percent": {
      "default": 30,
      "description": "Share of calls that go unanswered. Default 30 is an assumption; use the business's own figure if known.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "booking_percent": {
      "default": 50,
      "description": "Share of answered calls that become a booked job. Default 50 is an assumption.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "calls_per_week",
    "avg_job_value"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ringguard_cost_estimate(calls_per_month, avg_call_minutes)

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.

输入模式

{
  "type": "object",
  "properties": {
    "calls_per_month": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Calls RingGuard would answer per month (overflow + after-hours)."
    },
    "avg_call_minutes": {
      "default": 3,
      "description": "Average call length in minutes. Default 3 is an assumption.",
      "type": "number",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "calls_per_month"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪start_shadow_trial(business_name, contact_name, phone, email, industry, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string",
      "minLength": 1
    },
    "contact_name": {
      "type": "string",
      "minLength": 1
    },
    "phone": {
      "type": "string",
      "minLength": 7
    },
    "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,}$"
    },
    "industry": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "message": {
      "description": "Anything the business wants RingGuard to know.",
      "type": "string"
    },
    "agreed_to_be_contacted": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the person explicitly agreed to be contacted and to the privacy policy."
    }
  },
  "required": [
    "business_name",
    "contact_name",
    "phone",
    "email",
    "agreed_to_be_contacted"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢my_account

Who is signed in to RingGuard, and a quick count of their pipeline.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢find_leads(search, status, industry, city, min_score, ...)

Search leads you can see: your own plus the unclaimed pool. Filter by name/phone text, status, industry, city or minimum lead score.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Text to match in business name, contact name or phone.",
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "cold",
        "contacted",
        "shadow_trial",
        "trial_active",
        "won",
        "lost"
      ]
    },
    "industry": {
      "description": "Partial match, e.g. \"hvac\" or \"dental\".",
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "min_score": {
      "description": "Pipeline lead score, 1-5.",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    },
    "scope": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "mine",
        "unclaimed"
      ]
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢top_leads_to_call(industry, limit)

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.

输入模式

{
  "type": "object",
  "properties": {
    "industry": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lead_details(lead_id)

Everything about one lead: contact info, pitch (cold-call angle, Shadow Trial pitch, pain points), deal details, call history and notes.

输入模式

{
  "type": "object",
  "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)$"
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪claim_lead(lead_id, confirm)

Take an unclaimed lead from the shared pool into your own pipeline. Two-step: draft, then confirm.

输入模式

{
  "type": "object",
  "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)$"
    },
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡add_lead(business_name, phone, contact_name, email, industry, ...)

Add a new lead to your pipeline. Warns if another visible lead already has the same phone number. Two-step: draft, then confirm.

输入模式

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string",
      "minLength": 1
    },
    "phone": {
      "type": "string",
      "minLength": 7
    },
    "contact_name": {
      "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,}$"
    },
    "industry": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "required": [
    "business_name",
    "phone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡update_lead_status(lead_id, status, confirm)

Move one of your leads to a new pipeline stage. Two-step: draft, then confirm.

输入模式

{
  "type": "object",
  "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)$"
    },
    "status": {
      "type": "string",
      "enum": [
        "cold",
        "contacted",
        "shadow_trial",
        "trial_active",
        "won",
        "lost"
      ]
    },
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "required": [
    "lead_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪log_call(lead_id, outcome, notes, follow_up_at, direction, ...)

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.

输入模式

{
  "type": "object",
  "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)$"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "no_answer",
        "left_voicemail",
        "not_interested",
        "follow_up",
        "appointment_booked",
        "trial_started",
        "won",
        "do_not_call"
      ]
    },
    "notes": {
      "type": "string"
    },
    "follow_up_at": {
      "description": "When to follow up, as an ISO 8601 date-time with timezone, e.g. 2026-10-09T10:00:00-05:00.",
      "type": "string"
    },
    "direction": {
      "default": "outbound",
      "type": "string",
      "enum": [
        "outbound",
        "inbound"
      ]
    },
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "required": [
    "lead_id",
    "outcome"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢my_follow_ups(days_ahead)

Your leads with a follow-up due, including overdue ones, soonest first.

输入模式

{
  "type": "object",
  "properties": {
    "days_ahead": {
      "default": 7,
      "type": "integer",
      "minimum": 0,
      "maximum": 90
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢call_history(lead_id, days, limit)

Calls logged on one lead, or if no lead is given, the calls you logged in the last N days.

输入模式

{
  "type": "object",
  "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)$"
    },
    "days": {
      "default": 7,
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢new_trial_signups(days, include_converted)

Businesses that signed up for the free Shadow Trial on ringguard.online and haven't been converted to a lead yet.

输入模式

{
  "type": "object",
  "properties": {
    "days": {
      "default": 14,
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "include_converted": {
      "default": false,
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪convert_trial_to_lead(trial_id, confirm)

Turn a Shadow Trial signup into a lead in your pipeline at the shadow_trial stage. Two-step: draft, then confirm.

输入模式

{
  "type": "object",
  "properties": {
    "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)$"
    },
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "required": [
    "trial_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢pipeline_report

Snapshot of your pipeline: leads by stage, won deals and monthly recurring revenue, follow-ups due, the unclaimed pool and open trial signups.

输入模式

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

Your call activity over the last N days: totals by outcome, conversations, trials started and wins.

输入模式

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢team_leaderboard(days)

Owner only. Call activity per rep over the last N days, ranked by conversations.

输入模式

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lead_gen_status

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.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡undo_last_change(confirm)

Reverse the most recent change you made through Claude (claim, new lead, status change, logged call or trial conversion). Two-step: draft, then confirm.

输入模式

{
  "type": "object",
  "properties": {
    "confirm": {
      "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.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本21 个工具