Developers

Connect an agent to a brand knowledge base.

Ophelia builds a structured knowledge base for a brand: positioning, voice, audience profiles, messaging and competitor intelligence. Every one of them also ships in the formats machines read, so an agent can query the brand instead of being told about it.

This page is the honest inventory. Everything listed here is live today, and nothing here is reachable without a token the subscriber creates and can revoke.

How access works

A subscriber turns on a share link from inside the product and gets a revocable token. That token is the credential, and it is the whole of the auth model today. Every surface on this page hangs off it:

https://www.viableedge.com/brand/<share-token>/...
  • No public API key. There is no key to request and no developer plan to buy. The surfaces are included with the subscription that builds the knowledge base.
  • No anonymous access. Without a valid token these paths do not resolve, and a token whose subscription has lapsed stops resolving with it.
  • Revocation is one action. Revoke the link and every surface above stops answering at once, including any MCP client already connected.
  • Scoped OAuth is coming. Per-client authorization with narrower scopes is being built, and we are not promising a date for it. Until it ships, the token is the credential and a token handed to someone is access handed to someone.

The per-brand MCP server

Each brand gets its own Model Context Protocol server, served over Streamable HTTP at one URL. It is read-only: an MCP client can list, read, search and walk the brand graph, and can change nothing.

https://www.viableedge.com/brand/<share-token>/mcpAccept: application/json, text/event-stream

POST for calls, GET for the event stream, DELETE to end a session. The server runs stateless, so a request does not depend on an earlier handshake. A request without that Accept header gets a 406, as the specification requires.

Tools an MCP client can call

This list is generated from the server registration itself, so it is the live set rather than a description of it.

list_docsList brand documents
read_docRead a brand document
get_manifestGet brand overview
vault_searchSearch the brand by meaning
list_competitorsList tracked competitors
get_market_landscapeGet the market watch ledger
get_neighborsFind directly connected docs
get_related_docsFind related docs (multi-hop)
trace_pathTrace how two docs connect
graph_queryQuery relationships across the brand

Registered but hidden from the model

These carry a visibility flag that keeps them out of the tool list a model sees. They exist so a host that renders MCP apps can draw the knowledge base as an interactive view without that payload passing through the conversation.

get_graph_snapshotBrand graph snapshot
get_brand_panelsBrand panel data
get_doc_contentDocument content for the panel

Everything else the brand exports

MCP is the live connection. These are the same knowledge base in formats a build step, a crawler or a plain HTTP client can read.

Brand JSON pack/brand/<share-token>/manifest.json

The priority-ordered document list, the strategic framework and a coherence scorecard in one call. graph.json sits alongside it with the node and edge set, and every document is addressable on its own at /brand/<share-token>/<doc-slug>.md.

Markdown export/brand/<share-token>/bundle.md

The whole knowledge base as one file a model can read in a single pass, plus /brand/<share-token>/CLAUDE.md, a snippet to append to a coding agent instruction file.

Agent skills/brand/<share-token>/skills

The brand as skills in the open SKILL.md format, returned as { files: [{ path, content }] } and ready to write into an agent skills directory. Re-fetching returns the live brand, so an installed voice cannot quietly drift.

Schema.org export/brand/<share-token>/schema.json

An Organization graph as JSON-LD for answer engines to cite. Opt-in per share link and off by default, so nothing is published until the subscriber turns it on.

Open Knowledge Format/brand/<share-token>/okf

An OKF v0.1 bundle of markdown concepts with YAML frontmatter, served as a gzipped tarball or inline with ?format=json. Portable to any tool that reads the format, so nothing here is locked in.

Design language/brand/<share-token>/design.md

The brand design language as prose an agent loads before it builds anything: how the brand frames a reader task, the observable type, color and copy decisions, and the anti-patterns to avoid. Sections the knowledge base has not written yet say so, so nothing gets invented.

Per-brand index/brand/<share-token>/llms.txt

The llms.txt convention scoped to one brand: a short ordered index of everything above, for an agent that lands on the share link first.

What we do not ship yet

Worth saying plainly, because the absence is easy to mistake for something hidden behind a sales conversation:

  • There is no public REST API and no OpenAPI document. Reads happen through MCP or the export URLs above.
  • There is no write path. Nothing an agent does through these surfaces can change a knowledge base; edits happen in the product, where the subscriber approves them.
  • There is no sandbox brand and no anonymous demo endpoint. The closest thing is the product demo, which is a walkthrough rather than a token.

Start with a knowledge base

The surfaces exist because the knowledge base does. Build one from a website or your own materials, turn on a share link, and point an agent at it.