Back to Browse

Juicy Designs Quote MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Free digital marketing quote and strategy requests from Juicy Designs SA. No price returned.

About

Free digital marketing quote and strategy requests from Juicy Designs SA. No price returned.

Remote endpoints: streamable-http: https://juicy-designs-quote.black-voice-76e6.workers.dev/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

7 tools verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-cobusvdwest-juicy-designs-quote": {
      "url": "https://juicy-designs-quote.black-voice-76e6.workers.dev/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Juicy Designs — Quote MCP Server + REST API (Cloudflare Worker)

Request and read-only capabilities for AI agents, exposed two ways:

TransportPathFor
MCP (Streamable HTTP)POST /mcpChatGPT / Claude / agent connectors
REST requestPOST /quote, POST /strategy-sessionAgentic browsers / OpenAPI clients
REST readGET /service-catalog /service-areas /case-studies /client-reviews /faqsRead reference data
DiscoveryGET /, GET /openapi.jsonHealth + machine-readable spec

Tools

ToolTypePurpose
get_quoterequestSubmit a free, no-obligation quote request. Consent-gated.
book_strategy_sessionrequestRequest a free strategy session. Consent-gated.
get_service_catalogreadServices + reference "from" floors (reference only).
get_service_areasreadWhere Juicy Designs works.
get_case_studiesreadTrack record and portfolio pointer.
get_client_reviewsreadAggregate Google rating and review source.
get_faqsreadCommon questions and answers.

Both request tools share the same server-side validation and the same forwardLead() sink, which posts the lead to the existing Juicy Designs Apps Script form handler as form_type=quote — leads land exactly where the website form's leads land (email + the "Leads" Google Sheet). Read tools return curated static data only; no PII, no external calls.

Guarantees

  • Never returns or implies a price. Published "from" figures are entry-point references only, never a quote or estimate. Confirms receipt + the four-working-hour SLA only.
  • Rejects consent_to_contact !== true on every request tool (POPIA).
  • All input validated server-side — the model's extraction is never trusted.
  • Read tools are side-effect-free and contain no per-user calculation.
  • Enum inputs map to the labels the Apps Script email/sheet expects.

Deploy

cd mcp-quote-worker
npm install

# 1) Lead sink (the existing Apps Script /exec URL)
npx wrangler secret put LEAD_ENDPOINT
#   paste: https://script.google.com/macros/s/AKfycb.../exec

# 2) (optional) per-IP rate limit — Apps Script already throttles 5/10min
# npx wrangler kv namespace create RATELIMIT   # then paste id into wrangler.toml + uncomment

npx wrangler deploy

Deploy prints the Worker URL, e.g. https://juicy-designs-quote.<subdomain>.workers.dev. Put that origin into openapi.yaml (servers.url) and wherever you advertise the endpoint.

Local test

npx wrangler dev          # serves on http://localhost:8787

# REST
curl -s localhost:8787/quote -H 'content-type: application/json' -d '{
  "name":"Sipho Dlamini","email":"sipho@example.co.za","service":"seo",
  "project_summary":"E-commerce store, want to rank for running shoes in SA.",
  "budget_range":"25k_75k","timeline":"1_3_months","consent_to_contact":true
}'

# MCP: list tools
curl -s localhost:8787/mcp -H 'content-type: application/json' -d \
  '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# MCP: call get_quote
curl -s localhost:8787/mcp -H 'content-type: application/json' -d \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_quote","arguments":{"name":"Sipho","email":"s@x.co.za","service":"seo","project_summary":"Need SEO for a new store in Pretoria.","consent_to_contact":true}}}'

A request without consent_to_contact:true must come back as an error — that is the POPIA gate working.

Connect as a connector

Claude (Settings → Connectors → Add custom connector): URL = https://<worker>/mcp. ChatGPT (Settings → Connectors / Developer mode): add an MCP server with the same /mcp URL. The connector lists one tool, get_quote. The agent should read the fields back and confirm consent with the user before calling. No authentication is required (the tool only creates a lead).

Connector discovery (so agents can find it)

After deploy, advertise the endpoints from the site:

  1. A short docs page (e.g. /connect/ or a section on /quote/) listing the MCP + OpenAPI URLs.
  2. Append to llms.txt (root of juicydesigns.co.za):
## For AI agents
- MCP server (request a quote): https://<worker>/mcp
- OpenAPI 3.1 spec: https://<worker>/openapi.json

(Left out of llms.txt until you have the real Worker URL — paste it in post-deploy so there is no dead link.)

Map of inputs → Apps Script fields

MCP/REST inputsent asshown in email/sheet
service (enum)services (label)Services
budget_range (enum)budget (label)Budget
project_summary (+ timeline + source)messageMessage
name / email / phone / companysameas-is
form_typequoteroutes to the quote email/template

Swap the body of forwardLead() in src/index.ts to send leads elsewhere (CRM, webhook, Resend).

Reviews

No reviews yet

Be the first to review this server!