GoUltra · Website Brain
Fidelis Globaldirectional mockups
Bird's-eye · 2 of 2

MCP / API — how Claude drives the brain

GoUltra exposes an MCP server. The user connects it inside Claude Code or Claude Chat once; from then on Claude can load their brand's context as resources and act through tools — all scoped to that tenant, all writes behind the approval gate.

Connecting GoUltra to Claude — once
Step 1
Add the server

In Claude, add the GoUltra MCP server URL:

https://app.goultraai.com/mcp
Step 2
Authorize

One click OAuth, or paste an API token from your dashboard. GoUltra learns which tenant + brands you may touch.

Step 3
Work

Your brands appear as resources. Ask Claude anything — "audit my site", "grow AEO for X" — it uses the tools.

Auth — tenant-scoped, two ways
OAuth 2.1 connectbest UX

One-click "Connect GoUltra" in Claude. Mirrors the OAuth client pattern we already built for Higgsfield — here GoUltra is the server. Refresh tokens, revocable, per-user scopes.

API token (PAT)simplest to ship

Generate a scoped token in the dashboard, paste into Claude's MCP config. Fastest path to a working v1; upgrade to OAuth later.

Tool catalog — what Claude can do

Every tool wraps an existing (or new) engine capability. read tools load context; write tools create proposals that a human approves.

GroupToolDoesType
Brainget_brand_contextLoad knowledge, goals, learnings for an arearead
get_entity_graphThe brand's entities + relationshipsread
propose_goalAdd/update a ranking or citation goalwrite
Websiteconnect_siteRegister a domain + start a crawlwrite
get_inventoryPages + page-types + on-page signalsread
audit_pageOn-page + SEO/EO checklist for a URLread
On-sitecreate_pagePlan a new entity-focused page to a topic/goalwrite
run_page_briefAngles → keywords → outline → AEO gatewrite
write_page / get_checklistsDraft body + score SEO + EO checklistswrite
publish_pagePush to the live site (CMS / export)write
Tasksget_next_actionsThe brain's prioritised gap → to-do listread
create_task / update_taskAdd/advance on-site or off-site workwrite
Off-sitelist_outreachTargets: backlinks, mentions, directoriesread
draft_pitch / draft_postAI-draft outreach or a LinkedIn/Medium postwrite
Measureget_rankings / get_citationsSEO positions + AI-engine mentions over timeread
get_goal_progressHow far to each goalread
Resources — context Claude can load
brand://fidelis/profile brand://fidelis/entity-graph brand://fidelis/inventory brand://fidelis/goals brand://fidelis/tasks brand://fidelis/checklists

Resources are read-only snapshots — Claude pulls them into context at the start of a session so it reasons in the brand's world, not from scratch.

The approval gate

Every write tool returns a proposal, not a fait accompli. You see exactly what will change (a page publish, a new task, an outreach send) and approve or reject in the dashboard — or set per-capability auto-approve once you trust it. Same gate the brain console already uses.

A real request, end to end

User, in their own Claude: "Grow our AEO so we get cited for 'AEO for agencies'."

Claude
Loads resources brand://fidelis/{profile, entity-graph, goals}
Now reasoning inside Fidelis's context — its entities, tone, and active goals.
Claude → MCP
get_inventory() + audit_page() across the cluster
Finds: no page owns the "AEO for agencies" entity; 3 near-pages are thin & unlinked.
MCP → Brain
Engine returns the gap + checklist scores from the real audit engine.
SEO 61 · EO 38 — weak entity coverage, no schema, no internal links in.
Claude → MCP
create_task() ×4 · create_page() · run_page_brief()
Proposes: 1 new pillar page + 3 internal-link fixes + 2 outreach mentions.
You
See 6 proposals in the dashboard → approve the page & tasks, tweak one pitch.
Nothing changed the live site until you said so.
Claude → MCP
write_page() → checklist re-scores → publish_page()
Entity-first page ships with JSON-LD + internal links. SEO 92 · EO 86.
Brain
Captures a learning ("Fidelis approves finance claims only with a source") + starts tracking get_citations().
The loop closes; the brain got smarter for next time.
🔐Security is load-bearing here: MCP is a new external surface, so every tool call is tenant-isolated (a token for Brand A can never read Brand B), writes are gated, and auth reuses our audited encryption pattern. Tenant-isolation tests ship with the server.