Juicy Designs Quote MCP Server
Enables AI agents to request quotes and strategy sessions from Juicy Designs, and read service catalog, case studies, reviews, and FAQs via MCP or REST APIs.
README
Juicy Designs — Quote MCP Server + REST API (Cloudflare Worker)
Request and read-only capabilities for AI agents, exposed two ways:
| Transport | Path | For |
|---|---|---|
| MCP (Streamable HTTP) | POST /mcp |
ChatGPT / Claude / agent connectors |
| REST request | POST /quote, POST /strategy-session |
Agentic browsers / OpenAPI clients |
| REST read | GET /service-catalog /service-areas /case-studies /client-reviews /faqs |
Read reference data |
| Discovery | GET /, GET /openapi.json |
Health + machine-readable spec |
Tools
| Tool | Type | Purpose |
|---|---|---|
get_quote |
request | Submit a free, no-obligation quote request. Consent-gated. |
book_strategy_session |
request | Request a free strategy session. Consent-gated. |
get_service_catalog |
read | Services + reference "from" floors (reference only). |
get_service_areas |
read | Where Juicy Designs works. |
get_case_studies |
read | Track record and portfolio pointer. |
get_client_reviews |
read | Aggregate Google rating and review source. |
get_faqs |
read | Common 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 !== trueon 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:
- A short docs page (e.g.
/connect/or a section on/quote/) listing the MCP + OpenAPI URLs. - 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 input | sent as | shown in email/sheet |
|---|---|---|
service (enum) |
services (label) |
Services |
budget_range (enum) |
budget (label) |
Budget |
project_summary (+ timeline + source) |
message |
Message |
name / email / phone / company |
same | as-is |
form_type |
quote |
routes to the quote email/template |
Swap the body of forwardLead() in src/index.ts to send leads elsewhere (CRM, webhook, Resend).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.