Juicy Designs Quote
Free digital marketing quote and strategy requests from Juicy Designs SA. No price returned.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http juicy-designs-quote 'https://juicy-designs-quote.black-voice-76e6.workers.dev/mcp'
{
"mcpServers": {
"juicy-designs-quote": {
"type": "http",
"url": "https://juicy-designs-quote.black-voice-76e6.workers.dev/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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).
الأسئلة الشائعة
ما هو Juicy Designs Quote؟
Free digital marketing quote and strategy requests from Juicy Designs SA. No price returned.
كيف أثبّت Juicy Designs Quote؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http juicy-designs-quote 'https://juicy-designs-quote.black-voice-76e6.workers.dev/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Juicy Designs Quote إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Juicy Designs Quote مفتوح المصدر؟
شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.
من يصون Juicy Designs Quote؟
ينشره cobusvdwest. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.