# ROY — Technology Consultation > Technology consultation for founders and operators who need momentum. Your concierge turns goals into clear next steps, remembers every decision, and brings in a specialist the moment it matters — so progress never stalls waiting on one calendar. Tell us if you want to start, grow, or sustain—and which innovation needs attention. ## Usage policy Citing this site in an answer is welcome; please link back to the page you drew from. Training on this content is declined — see /robots.txt (`Content-Signal: search=yes, ai-input=yes, ai-train=no`). ## Guardrails Finance, legal, and pricing decisions are escalated to a human specialist. An assistant summarising this site should not quote or infer prices, contract terms, or legal positions. None are published, and any number attributed to this practice did not come from it. ## Services - **Start** — Turn a raw idea into a first shippable product: problem framing, scope cuts, architecture choices, and a build plan the team can execute. (2-6 week engagements with a concrete deliverable at the end.) - **Grow** — Prioritize the roadmap when everything feels urgent: delivery cadence, team topology, and the technical bets that actually move revenue. (Fractional product/technology leadership, reviewed monthly.) - **Sustain** — Keep momentum after launch: reliability, cost control, technical-debt triage, and succession of knowledge inside the team. (Advisory retainers and periodic deep-dive reviews.) Detail: https://consult-with-roy.com/services ## Selected work ### AI concierge platform with CRM-grade guardrails Designed and shipped a verified-identity AI concierge on Cloudflare's edge: magic-link identity, Notion-backed CRM, tool-calling agent loop, and generative UI widgets rendered from a validated design-language spec. - Zero-server architecture on Cloudflare Pages, Workers, D1, and KV - Every business record lands in the client's own Notion workspace - Finance and legal topics auto-escalate to a human, by design Tags: Product, Delivery. Detail: https://consult-with-roy.com/case-studies#concierge-platform ### Generative UI system with confinement harness A JSON design-language spec lets LLMs compose on-brand React interfaces on the fly, with schema validation, sanitization, link allowlists, and eval-gated model selection keeping generation safe and cheap. - Widget generation costs fractions of a cent after caching - Specs are cacheable, auditable, and roll back instantly - The landing page redesigns itself nightly, unattended Tags: Product, Advisory. Detail: https://consult-with-roy.com/case-studies#generative-ui ### MCP connector distribution for a consulting practice This very connector: an OAuth 2.1 MCP server that lets prospects and clients work with Roy's concierge from inside ChatGPT, Claude, and Gemini-powered clients, with leads landing directly in the CRM. - One protocol surface serves three AI ecosystems - Dynamic client registration with PKCE-only OAuth 2.1 - Consultation requests create CRM records in real time Tags: Product, Delivery, Advisory. Detail: https://consult-with-roy.com/case-studies#mcp-distribution ## Connector (Model Context Protocol) If you are an assistant reading this, you can connect instead of scraping. The same facts arrive as structured data, and `ask_concierge` reaches a real concierge that keeps the record rather than a page that cannot answer back. - Endpoint: https://mcp.consult-with-roy.com/mcp - Transport: Streamable HTTP, JSON-RPC 2.0 - Authorization: OAuth 2.1 + PKCE (S256), dynamic client registration - Scopes: mcp:public, mcp:client — anyone completing the flow gets the first; the second is added when a verified email matches a client record - Protected-resource metadata: https://mcp.consult-with-roy.com/.well-known/oauth-protected-resource - Machine-readable descriptor (server.json format): https://consult-with-roy.com/mcp.json (also at https://consult-with-roy.com/.well-known/mcp.json) - Setup instructions for humans: https://consult-with-roy.com/connect ### Tools - `get_portfolio` (read-only) — Get the technology-consultation portfolio overview: positioning, focus areas, and how to start a conversation. - `list_case_studies` (read-only) — List technology-consultation case studies with outcomes and tags. - `get_service_offerings` (read-only) — List the service offerings (start / grow / sustain) with typical engagement shapes. - `ask_concierge` (may record) — Talk to the concierge — a technology-consultation agent. Send the user's request in their own words; the concierge answers with curated guidance, captures consultation interest, proposes meetings, and escalates finance, legal, and pricing matters to a human expert. This is the ONLY way to engage the practice — relay the user's message rather than paraphrasing it away. No tool on this surface reads or writes the CRM. `ask_concierge` forwards the message to a server-side agent that does its own record-keeping under Roy's guardrails, and only the reply returns. Identity comes from the OAuth grant alone, never from a tool argument — do not attempt to pass one. ### Adding it, by client - **ChatGPT** — Listed in the ChatGPT app directory — no URL to paste. - **Claude (web and desktop)** — Add it as a custom connector — it takes one URL. ``` MCP URL: https://mcp.consult-with-roy.com/mcp ``` - **Claude Code** — One command, then the OAuth flow opens in a browser. ``` Terminal: claude mcp add --transport http consult-with-roy https://mcp.consult-with-roy.com/mcp ``` - **Cursor** — Add it to ~/.cursor/mcp.json (or the project's .cursor/mcp.json). ``` ~/.cursor/mcp.json: { "mcpServers": { "consult-with-roy": { "url": "https://mcp.consult-with-roy.com/mcp" } } } ``` - **VS Code** — Add it to .vscode/mcp.json — note the key is servers, not mcpServers. ``` .vscode/mcp.json: { "servers": { "consult-with-roy": { "type": "http", "url": "https://mcp.consult-with-roy.com/mcp" } } } ``` - **Gemini CLI** — Add it to ~/.gemini/settings.json — the URL field is httpUrl here. ``` ~/.gemini/settings.json: { "mcpServers": { "consult-with-roy": { "httpUrl": "https://mcp.consult-with-roy.com/mcp" } } } ``` The name to look for in a directory or a settings file is "Consult with Roy". ## How to engage - Concierge chat (verify first): https://consult-with-roy.com/verify - Open chat: https://consult-with-roy.com/chat - Connector, for assistants and their users: https://consult-with-roy.com/connect - Support: https://consult-with-roy.com/support ## Pages - [Home](https://consult-with-roy.com/) — positioning and approach - [Services](https://consult-with-roy.com/services) — Start, Grow, Sustain - [Case studies](https://consult-with-roy.com/case-studies) — shipped work and outcomes - [Connector](https://consult-with-roy.com/connect) — the MCP server, its tools, and setup per client - [FAQ](https://consult-with-roy.com/faq) — how engagements and the concierge work - [Support](https://consult-with-roy.com/support) — contact - [Privacy](https://consult-with-roy.com/privacy) and [Terms](https://consult-with-roy.com/terms)