Why I built a UI around Brand MCP
I built a desktop app around Brand MCP to make brand guidance easier to review, update, and use with AI assistants.
March 6, 2026
I wanted my AI assistants to use the same brand guidance I use when writing or designing. So I built Brand MCP, then a desktop app to make the guidance easier to read and update.
Brand guidance can be spread across documents, presentations, and people's heads. An LLM (large language model) needs that context too. Asking it to sound modern or premium does not say much about a particular brand.
I kept the guidance in structured files and made it available through MCP (Model Context Protocol). This lets the assistant fetch the brand information it needs for a task.
Making it easier to work with
The rules live in brand.yaml files. In the app, I can review tone and visual direction, manage assets, and edit the YAML directly. A form editor lets me update writing principles, colours, typography, and the technology stack.
Giving the assistant the right context
I built the app with Tauri, Svelte, and Rust. The server uses TypeScript and the official MCP SDK (software development kit). SCHEMA.md describes the brand files, while tool-intents.yaml maps requests to the sections they need.
A writing request needs tone and audience information. A coding request needs the technology stack and implementation rules. Here is how I separate them:
task_section_defaults:
writing:
- about
- tone_of_voice
- way_of_work
- lead_generation_and_compliance
coding:
- tech_stack
- css
- style
- way_of_work
intent_rules:
tone_writing:
keywords:
- tone
- voice
- copy
- headline
- write
- writing
- cta
sections:
- tone_of_voice
- about
- lead_generation_and_complianceTools such as get_brand_context, get_brand_section, and compare_brand_to_output let the assistant find relevant guidance and check its output against the rules.
Validation checks the file structure, dates, and consent fields. Output checks cover things like preferred phrases, point of view, and punctuation. I still need to read the result and decide whether it sounds right.
The server can run through stdio (standard input and output) for local clients, or Streamable HTTP (Hypertext Transfer Protocol) for clients that connect to an endpoint.
How this could be used
For an article, I could review the brand's writing principles in the app, let the assistant fetch them, and check the draft against them. A coding task could use the technology stack from the same file.

