AI × Tools & Tips

Two minutes · everything plays itself · scroll

Field guides · MCP

Your AI is guessing our violet.

It isn't lying. It has no way to look it up. An MCP server is how you give it one — here's the whole idea in seven short beats.

01 · The guess

Ask for our violet. Watch.

before · no server

—

What the AI picked

#8118e1

Ours

It picked the most common purple on the internet. Close enough to pass a glance, wrong enough to fail an accessibility check — and it'll do it again tomorrow, because corrections don't stick.

02 · What an MCP server is

A small program the AI can phone.

It sits beside the AI and knows things the AI can't see. Plug it in and the AI gets a menu of what it can ask for. One plug, any AI app — think USB-C.

The host

Claude Code

or Claude Desktop, Cursor, VS Code…

The server

c2-brand

~200 lines. Knows our palette. Can do maths.

  • get_brand_token — "what's our violet?"
  • check_contrast — "is white readable on it?"
  • lint_brand_colors — "did I use anything off-brand?"
  • list_brand_tokens — "show me everything"

↑ the menu arrives the moment they connect. The AI decides when to order.

03 · Same question, with the server

Now it looks it up.

after · c2-brand connected

—

What the AI picked

What it built

Work with us

Right colour. Readable. Checked before it said “done.”

Three phone calls: what's the hex, is white readable on it, did I slip anything off-brand in. Right first time — and the last call is the AI checking its own work.

04 · Change the truth

Rebrand. Ask again. Try it.

Pick a new violet below — that edits the file the server reads. Nothing is retrained, nothing re-pasted. The AI just asks the file.

brand.json

{
  "name": "violet",
  "hex":  "#8118e1",
  "role": "accent"
}

pick one

fresh session · same question
Work with us

The button it builds next — already the new colour.

05 · Why it works

Three things a prompt can't do.

?→!

Looks up, doesn't guess

For anything private — your colours, your clients, today's numbers — the “plausible” answer is someone else's. A tool is the only line to yours.

✓✗

Checks its own work

Give it a tool that says pass or fail and it stops handing you drafts. It fixes, re-checks, then says done.

now

Always current

Nothing is copied into the AI. It asks the source every time, so the answer is as fresh as the file — and it works in every AI app, once.

06 · Where else this goes

Anything with a truth the AI can't see.

Same shape every time: a human question on the left, a tiny function that answers it on the right.

Harvest

“How many hours on Acme this week?”

→ list_time_entries(project)

Already running for some of us.

Figma

“Build this screen.”

→ get_design_context(node)

Reads the file instead of squinting at a screenshot.

Laravel Boost

“What columns does orders have?”

→ database_schema(table)

First-party. Schema, routes, version-aware docs.

Your CMS

“Which posts still mention the old pricing?”

→ search_content(query)

One afternoon to build.

Analytics

“Did yesterday's launch move signups?”

→ get_metric(name, range)

Real numbers, not vibes.

Deploys

“Ship it to staging.”

→ deploy(env) · with a confirm step

An action with guardrails beats improvised curl.

07 · Build one

Three steps. An afternoon.

  1. 1

    Put the truth in a file

    Or point at where it already lives — a database, an API, a spreadsheet.

  2. 2

    Write one function

    With a one-sentence description of when to call it. That sentence is the whole art.

  3. 3

    Plug it in

    One command. Then ask the AI a question it couldn't answer five minutes ago.

The one from this page is real and lives in this repo: scripts/mcp-demo/. Engineers — for the code and the exercise brief.