GoUltra · Website Brain v2
✦ Aster Interiorsdirectional mockups

Bird's-eye · 2 of 2

How Claude drives the brain — connect once, then just talk.

GoUltra ships an MCP server. Add it to Claude once, and from then on any Claude surface — Chat, Code, a project — can load the brand's memory, call the tools, and propose work. Reads are free; every write stops at the approval gate.

Connect once

Step 1

Add the server

In Claude's connector settings, add
https://app.goultraai.com/mcp

Step 2

Authorize

Sign in with OAuth, or paste a token from the dashboard. Pick which brand(s) the connection can see.

Step 3

Work from any Claude surface

"What should Aster do this week?" — Claude loads the brain and gets to work. No copy-pasting context, ever again.

Auth, two ways

OAuth 2.1

best connect UX

Click "connect", sign in, done — the flow Claude users already know. GoUltra becomes the OAuth provider here — the mirror image of our Higgsfield connector, where we're the client. Scoped, revocable, refreshable.

API token / PAT

simplest to ship first

Create a token in dashboard settings, paste it into Claude. Zero new infrastructure, works with every MCP client today — the pragmatic v1 while OAuth lands.

Scoped by design: every token — OAuth or PAT — is tenant + brand scoped. A token minted for Aster Interiors can never read another brand, full stop.

The tool catalog

ToolGroupAccess
get_brand_context✦ Brainread
get_entity_graph✦ Brainread
propose_goal✦ Brainwrite · gated
get_presence_inventory Ownedread
audit_page Ownedread
create_page Ownedwrite · gated
run_page_brief Ownedwrite · gated
publish_page Ownedwrite · gated
plan_week Socialwrite · gated
draft_social_post Socialwrite · gated
mark_posted Socialwrite · gated
get_gbp_profile Localread
plan_gbp_week Localwrite · gated
draft_review_reply Localwrite · gated
list_outreach_targets Earnedread
draft_pitch Earnedwrite · gated
log_mention Earnedwrite · gated
get_next_actions▸ Tasksread
create_task▸ Taskswrite · gated
update_task▸ Taskswrite · gated
get_rankings◎ Measureread
get_citations◎ Measureread
get_goal_progress◎ Measureread

Resources — read-only brand snapshots

Cheap, always-current context Claude can load before any tool call — no tokens spent re-explaining the brand.

brand://aster/profile brand://aster/entity-graph brand://aster/presence-inventory brand://aster/goals brand://aster/tasks
The approval gate — nothing ships without your OK. Every write tool returns a proposal, not a change. The dashboard (or Claude itself, showing you the diff) asks before anything is applied. Over time a brand can earn per-capability auto-approve — "review replies: auto", "new pages: always ask" — but trust is granted, never assumed.

One real request, end to end

you
Get Aster cited for "best interior designers in Pune".
claude
load brand://aster/profile · brand://aster/entity-graph → voice, services, goals, coverage — in context.
claude
get_citations("best interior designers in pune") → ChatGPT ✓ · Perplexity ✓ · Claude ○ · Gemini — · AIO —
claude
Cited on 2 of 5 engines. The gap: a citable comparison page (the engines that skip us cite listicle-style comparisons), 2 authority mentions to back it, and a GBP Q&A seed so the local signal agrees.
claude
create_page (comparison: "Pune's design-build studios, compared") · draft_pitch ×2 · create_task ×4 → returned as proposals
you
You approve — 3 approved as-is, 1 edited (the Pune Times pitch, tightened to the craft angle).
goultra
Work executes; the tasks land on the spine with owners and due dates. Measurement watches all 5 engines — and the learning ("comparison pages move Claude + Gemini citations") is captured back into the brain.