ReplyOnTheFly

Writes replies to Google, Yelp and other customer reviews, and texts asking for a review.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~971Tokens (tool definitions)
~4.4 KBTypical response size
Moderate attention impact (0.76% 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": {
    "replyonthefly": {
      "url": "https://www.replyonthefly.com/mcp"
    }
  }
}

Remote endpoints

https://www.replyonthefly.com/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢write_review_reply(business_name, star_rating, review_text, reviewer_name, business_type, ...)

Writes a reply a business owner can post under a customer review on Google, Yelp, Facebook, TripAdvisor or Trustpilot. Use it when someone shares a review of their business and wants a response to it, including angry or negative reviews. The reply follows the star rating: it thanks happy customers, and for low ratings it acknowledges the problem without arguing and offers to make it right. It does not post anything anywhere; the owner copies the reply and posts it themselves. It does not write reviews.

Input Schema

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string",
      "description": "Name of the business being reviewed.",
      "maxLength": 120
    },
    "star_rating": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "Star rating the customer gave, 1 to 5."
    },
    "review_text": {
      "type": "string",
      "description": "The review exactly as the customer wrote it. Leave out for a rating with no text.",
      "maxLength": 2000
    },
    "reviewer_name": {
      "type": "string",
      "description": "The reviewer's display name, if shown. Leave out if unknown; the reply will not invent one.",
      "maxLength": 120
    },
    "business_type": {
      "type": "string",
      "description": "What kind of business it is, e.g. \"dentist\", \"pizza restaurant\", \"plumber\".",
      "maxLength": 80
    },
    "tone": {
      "type": "string",
      "enum": [
        "friendly",
        "professional",
        "casual",
        "enthusiastic"
      ],
      "description": "Voice of the reply. Defaults to friendly."
    },
    "length": {
      "type": "string",
      "enum": [
        "concise",
        "standard",
        "detailed"
      ],
      "description": "concise is 1 to 2 sentences, standard 2 to 3, detailed 3 to 4. Defaults to standard."
    },
    "platform": {
      "type": "string",
      "enum": [
        "google",
        "yelp",
        "facebook",
        "tripadvisor",
        "trustpilot"
      ],
      "description": "Where the review was posted. Defaults to google."
    },
    "owner_notes": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      },
      "maxItems": 5,
      "description": "Facts or wishes the owner gave for this reply, e.g. \"we fixed the AC last week\" or \"sign off as Maria\". Only include what the owner actually said."
    },
    "alternate": {
      "type": "boolean",
      "description": "Set true to get a differently worded version of a reply already written for the same review."
    }
  },
  "required": [
    "business_name",
    "star_rating"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "reply": {
      "type": "string"
    },
    "star_rating": {
      "type": "integer"
    },
    "business_name": {
      "type": "string"
    },
    "platform": {
      "type": "string"
    }
  },
  "required": [
    "reply",
    "star_rating",
    "business_name",
    "platform"
  ]
}
🟢write_review_request_message(business_name, business_type, customer_first_name, channel, review_link)

Writes short messages a business owner can text or email to a customer to ask for a Google review, adapted to the type of business. Use it when someone wants more Google reviews or asks how to ask a customer for a review. Returns up to three ready-to-send options with the owner's review link at the end. It does not send anything. The messages never offer incentives, which Google prohibits.

Input Schema

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string",
      "description": "Name of the business asking for the review.",
      "maxLength": 120
    },
    "business_type": {
      "type": "string",
      "description": "What kind of business it is, e.g. \"plumber\", \"hair salon\", \"restaurant\". Picks the right wording.",
      "maxLength": 80
    },
    "customer_first_name": {
      "type": "string",
      "description": "The customer's first name, if the owner gave it.",
      "maxLength": 120
    },
    "channel": {
      "type": "string",
      "enum": [
        "text",
        "email"
      ],
      "description": "text (SMS or WhatsApp) or email. Defaults to text."
    },
    "review_link": {
      "type": "string",
      "description": "The business's Google review link if the owner has it (https://...). Leave out and the messages use a placeholder.",
      "maxLength": 300
    }
  },
  "required": [
    "business_name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string"
    },
    "options": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "when_to_use": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "when_to_use",
          "message"
        ]
      }
    },
    "review_link_needed": {
      "type": "boolean"
    }
  },
  "required": [
    "channel",
    "options",
    "review_link_needed"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools