01 · GALTON AI Assets
For AI agents
Wire the brand into any AI tool — MCP server, machine-readable URLs, or a repo rules file — with copy-paste setup for every major provider.
For AI agents
Connect once. Design on-brand forever.
GALTON is served to whatever tool your team uses: a live MCP server for coding agents and modern chat apps, plain machine-readable URLs for anything else, and a rules file you commit to a repo. Wire it in once, paste the prompt below, and the agent pulls real tokens, components, voice and layouts instead of inventing them.
https://galton-ai-assets.vercel.app/api/mcp1 · The connect-and-remember prompt
Paste this once into any agent. It points at the brand, names the tools, and tells the agent to remember and follow the guidelines for the rest of the project.
You now have access to the GALTON brand design system. Treat it as the single source of truth for anything GALTON-branded. PRIMARY SOURCE — live & queryable (preferred): the MCP server "galton-design" at https://galton-ai-assets.vercel.app/api/mcp. Use its tools as authoritative: get_brand_overview, get_brand_guide, get_design_spec, list_tokens, resolve_token, list_components, get_component, get_voice_guide, get_linkedin_playbook, get_layout, get_fallback, get_chart_palette. IF YOU CANNOT USE MCP — read these instead (open CORS, plain text/JSON): • https://galton-ai-assets.vercel.app/llms.txt — the curated index (start here) • https://galton-ai-assets.vercel.app/brand.json — the full machine-readable snapshot • https://galton-ai-assets.vercel.app/design.md — the design system (colours, type, components) • https://galton-ai-assets.vercel.app/voice.md — brand voice · https://galton-ai-assets.vercel.app/linkedin.md — LinkedIn playbook REMEMBER THIS FOR THE REST OF THE PROJECT: before you produce ANY on-brand asset — UI, slide, post, image, or copy — pull the relevant tokens, components, voice and layouts from the source above and follow them exactly. Never invent colours, fonts, radii or components; if something isn't defined, read the fallback contract (get_fallback) or ask me. Keep the logo white or black only. Treat these guidelines as binding defaults for every future request in this project, without me having to repeat them.
2 · Set up your tool
Streamable HTTP is the modern transport — every guide below uses the one endpoint above. The only thing that changes per tool is the config key name, so each shows the exact snippet to paste.
Chat assistants
Talk to the brand in a normal chat. Newer apps add it as a custom connector; the rest just read the URLs.
- Open Settings → Connectors and choose Add custom connector.
- Name it
GALTON Assetsand set the Remote MCP server URL to the endpoint below. - Leave Advanced settings (OAuth) empty — the server is public, no auth. Click Add.
- In any chat, open the "+" / Connectors menu and enable it, then paste the connect-and-remember prompt above.
https://galton-ai-assets.vercel.app/api/mcpNote · Claude reaches the server from Anthropic's cloud, so a public URL (this one) is required — a localhost server won't work. Free plan = 1 custom connector.
- Settings → Apps & Connectors → Advanced settings → turn on Developer mode (Plus/Pro/Business/Enterprise).
- Back in Apps & Connectors, choose Create.
- Set the MCP Server URL to the endpoint below, Authentication = No authentication, and Save.
- Start a chat, attach the connector, and paste the connect-and-remember prompt above.
https://galton-ai-assets.vercel.app/api/mcpNote · Developer mode surfaces the brand tools directly (no search/fetch contract needed). Business/Enterprise may require a workspace admin to enable it first.
- If the app can't add a remote MCP server (e.g. the consumer Gemini app), don't fight it — feed it the URLs.
- Paste the connect-and-remember prompt above; it already lists the read URLs.
- Or paste the contents of
/llms.txt(and/design.md,/voice.md) straight into the chat.
https://galton-ai-assets.vercel.app/llms.txt
https://galton-ai-assets.vercel.app/brand.json
https://galton-ai-assets.vercel.app/design.md
https://galton-ai-assets.vercel.app/voice.md
https://galton-ai-assets.vercel.app/linkedin.mdNote · These endpoints are plain text/JSON with open CORS, so an agent that can browse can fetch them directly.
Desktop apps
Native desktop clients — add the connector in the UI where possible, or bridge a remote URL through the config file.
- Preferred: Settings → Connectors → Add custom connector (same as the web flow) — paste the URL below.
- Config-file route: Settings → Developer → Edit Config and add the JSON below. The config file launches local (stdio) servers, so a remote URL is wrapped with the
mcp-remotebridge. - Restart Claude Desktop; confirm the tools appear under the connectors / 🔌 menu.
{
"mcpServers": {
"galton-design": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://galton-ai-assets.vercel.app/api/mcp"
]
}
}
}Note · macOS config: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Coding tools & CLIs
IDE agents and terminal tools. Streamable HTTP is the modern transport — only the config key name differs per client.
- Add the server (project scope commits it to the repo's
.mcp.json): - Run
/mcpinside a session to confirm it's connected, then prompt with the connect-and-remember prompt above.
claude mcp add --transport http galton-design https://galton-ai-assets.vercel.app/api/mcp
# project scope (shareable, writes .mcp.json):
claude mcp add --transport http --scope project galton-design https://galton-ai-assets.vercel.app/api/mcp- Create
~/.cursor/mcp.json(global) or.cursor/mcp.json(project) with the JSON below — a bareurl, notypeneeded. - Or use Settings → Tools & Integrations → + Add Custom MCP.
{
"mcpServers": {
"galton-design": {
"url": "https://galton-ai-assets.vercel.app/api/mcp"
}
}
}- Add
.vscode/mcp.jsonwith the JSON below — note the top-level key isserversand the remote usestype: "http". - Or run the CLI one-liner; then enable it in Copilot Agent mode.
{
"servers": {
"galton-design": {
"type": "http",
"url": "https://galton-ai-assets.vercel.app/api/mcp"
}
}
}Note · CLI alternative: code --add-mcp '{"name":"galton-design","type":"http","url":"https://galton-ai-assets.vercel.app/api/mcp"}'
- Add the server (the remote-HTTP key is
httpUrl): - Or hand-edit
~/.gemini/settings.json(user) /.gemini/settings.json(project) with the JSON below.
{
"mcpServers": {
"galton-design": {
"httpUrl": "https://galton-ai-assets.vercel.app/api/mcp",
"trust": true
}
}
}Note · Google is moving consumer tiers from Gemini CLI to the Antigravity CLI (config at ~/.gemini/antigravity/mcp_config.json, where the remote key is serverUrl instead of httpUrl). Check which one your licence uses.
- Edit
~/.codeium/windsurf/mcp_config.jsonwith the JSON below — the remote key here isserverUrl. - In Cascade, open the MCP panel → Refresh.
{
"mcpServers": {
"galton-design": {
"serverUrl": "https://galton-ai-assets.vercel.app/api/mcp"
}
}
}- Cline → MCP Servers → Configure and add the JSON below — the
typemust be exactlystreamableHttp(camelCase).
{
"mcpServers": {
"galton-design": {
"type": "streamableHttp",
"url": "https://galton-ai-assets.vercel.app/api/mcp",
"disabled": false
}
}
}- Add a context server in
~/.config/zed/settings.json. The reliable form bridges the remote URL throughmcp-remote:
{
"context_servers": {
"galton-design": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://galton-ai-assets.vercel.app/api/mcp"
]
}
}
}- Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add (As JSON) and paste the JSON below (IDE 2026.1+).
{
"mcpServers": {
"galton-design": {
"url": "https://galton-ai-assets.vercel.app/api/mcp"
}
}
}API & SDKs
Building your own agent? Pass the server as a hosted MCP tool — the model calls the brand tools itself.
- Pass the server as a hosted
mcptool. For a public read-only server userequire_approval: "never".
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-5.1",
tools=[{
"type": "mcp",
"server_label": "galton_design",
"server_url": "https://galton-ai-assets.vercel.app/api/mcp",
"require_approval": "never",
}],
input="Summarise the GALTON brand voice and list the design tokens.",
)
print(resp.output_text)Note · Anthropic/Claude API and the OpenAI Agents SDK have equivalent hosted-MCP tools — same server_url, no auth.
3 · Make it stick across a project
For coding work, also commit an AGENTS.md (read by Codex, Copilot, Cursor, Windsurf, Zed, Jules…) or CLAUDE.md at the repo root. The agent auto-loads it every session, so it keeps calling the MCP tools and following the brand without being reminded.
# AGENTS.md (also works as CLAUDE.md)
## GALTON brand
This project follows the GALTON brand system. Before generating ANY
on-brand asset (UI, slides, posts, copy), pull the real values — don't guess.
- Source of truth: the "galton-design" MCP server at https://galton-ai-assets.vercel.app/api/mcp
tools: get_brand_guide · get_design_spec · list_tokens · resolve_token ·
get_component · get_voice_guide · get_layout · get_fallback
- No MCP? read https://galton-ai-assets.vercel.app/llms.txt (index) and https://galton-ai-assets.vercel.app/brand.json (full snapshot).
Rules: follow the tokens exactly; never invent colours, fonts, radii or
components; keep the logo white or black only; if something is undefined, read
get_fallback or ask. These are binding defaults for the whole project.What you’re actually pulling
A fair question: is everything in design.md? No. design.md is only the design system (colours, type, components, the fallback contract). The full brand spans several files, all aggregated into brand.json + llms.txt and exposed through the MCP tools. So point agents at the MCP server or /llms.txt, not at design.md alone — and keep design.md in the repo, because it is the source of truth that feeds all of the above.
design.md— Design system — colours, type scale, components, fallback contract, agent promptsbrand.md— Brand identity & long-form guide — voice/tone prose, logo policyvoice.md— Voice spec — tone pillars, do/don't, vocabulary, example rewriteslinkedin.md— LinkedIn playbook — post types, anatomy, hooks, hashtag ruleslayouts.md— Slide canvas + layout archetypes & carousel recipesassets.json · icons.json— Downloadable logos, fonts and the icon library
Aggregated for agents · everything above is rolled into https://galton-ai-assets.vercel.app/brand.json and https://galton-ai-assets.vercel.app/llms.txt, and queried live through 23 MCP tools.
02 — Agent prompts
Agent prompts
Build an on-brand GALTON hero. Dark-first canvas; a large display headline in Sentence case with the final word in the signature accent; a short body lead beneath; and the primary call-to-action button. Place the wordmark top-left. Pull every colour, type size and component from the design system — don't invent values.
Create an on-brand contact form. Stack labelled fields — a text input, a select and a textarea — then a consent checkbox and the primary CTA. Use the form component tokens: flat fields, bottom-border only, focus in the accent. Keep it dark-first.
Compose a full GALTON landing page: a hero, two or three content sections and a footer. Use the design system's type scale, spacing rhythm and components throughout; keep the dark-first canvas and reserve the accent for emphasis. Pull every value from the spec — don't invent any.
Restyle this page to match GALTON. Map every colour, font and component to the design system's tokens and replace ad-hoc values with the brand's. Keep the logo white or black only.
Build an on-brand GALTON dashboard. Dark-first canvas; a side-nav, cards, a data table, and form controls (sliders, toggles, steppers, multi-select chips). Every interactive/selected state — slider fill, toggle-on, active chip, focus ring — is the single yellow accent; never red, blue or green. Pull every value from the design system; for anything undefined, follow the fallback contract.
Build an on-brand chart. Use the `chart` palette: a GALTON canvas plot floor, hairline gridlines, muted axis labels, and the categorical series ramp (yellow highlight first, then white and greys at opacity). Never use a chart library's default rainbow; use the semantic good/bad hues only for real deltas.
- Describe intent and structure; let the agent resolve exact values from the spec.
- Reference roles — "primary CTA", "the accent", "display headline" — not hex codes.
- Keep the logo white or black only; never recolour it.
- Don't use the accent as a large fill, and never uppercase body copy (H1/display is the only uppercase headline).
- The accent is ALWAYS the yellow primary. Never introduce red, blue or green as an accent, selected state, slider fill, link or focus ring.
- Never invent a colour, font, radius or component. If it isn't defined, read the `fallback` contract and derive it from the primitives — or ask the human.
- Status hues (success/warning/error/info) are functional only — semantic feedback, never decoration or a brand accent.
- In charts, use the `chart` palette (yellow + neutrals), not a library-default rainbow.
