Setup guide · no account required
Use Trova in your agent
Choose your coding tool, copy its configuration, then ask it for a design brief. The free preview needs no account or key.
Connect your agent
These instructions are for existing keyholders. Save your key in a password manager. Lost access? Recover your key. Never share a key or checkout URL with support.
Connect Claude Code
Run in your terminal · user scope
claude mcp add --scope user --transport http trova https://trova.design/api/mcp --header "Authorization: Bearer trova_sk_YOUR-KEY"
Use your existing key. Replace placeholders locally and keep real keys out of source control. Set an environment key securely.
Check the connection. Run /mcp in Claude Code and confirm trova is connected. Ask it to call list_families.
If setup does not work
If trova already exists, use claude mcp get trova to check its scope. Remove the old entry in that scope before adding it again. A local entry can override user configuration. Troubleshoot connection errors.
Connect Codex
~/.codex/config.toml
[mcp_servers.trova] url = "https://trova.design/api/mcp" bearer_token_env_var = "TROVA_KEY"
Use your existing key. Replace placeholders locally and keep real keys out of source control. Set an environment key securely.
Check the connection. Restart Codex, run /mcp in the CLI, and confirm the Trova tools are listed. Ask it to call list_families.
If setup does not work
Edit the existing mcp_servers.trova section rather than adding a duplicate. For a paid key, set TROVA_KEY in the environment of the process that launches Codex and restart it. Troubleshoot connection errors.
Connect Cursor
~/.cursor/mcp.json · personal configuration
{
"mcpServers": {
"trova": {
"url": "https://trova.design/api/mcp",
"headers": {
"Authorization": "Bearer ${env:TROVA_KEY}"
}
}
}
}Use your existing key. Replace placeholders locally and keep real keys out of source control. Set an environment key securely.
Check the connection. Reload Cursor, open MCP settings, and enable trova. Ask the agent to call list_families.
If setup does not work
Project configuration overrides a server with the same name in your personal configuration. For a paid key, launch Cursor with TROVA_KEY in its environment; desktop launches may not inherit terminal variables. Troubleshoot connection errors.
Connect GitHub Copilot
.vscode/mcp.json · VS Code configuration
{
"servers": {
"trova": {
"type": "http",
"url": "https://trova.design/api/mcp",
"headers": {
"Authorization": "Bearer ${env:TROVA_KEY}"
}
}
}
}Use your existing key. Replace placeholders locally and keep real keys out of source control. Set an environment key securely.
Check the connection. In VS Code, run MCP: List Servers, start trova, and check its tools. Ask Copilot to call list_families.
If setup does not work
This is the VS Code format: use servers, not mcpServers. Paid examples use an environment variable because interactive input variables are not forwarded to Agent Host sessions. Launch VS Code with TROVA_KEY set, then reload. Troubleshoot connection errors.
Free preview available now. Paid access coming soon.
The free preview includes one canonical reference from each of the 5 deepest families and 5 calls a day. Your coding tool may charge separately for model usage.
After connecting, ask your agent to call list_families, then design_context for a populated family. Inspect its sources and notes before building.
Prefer a file? Read the free sample Trovafile. Save it in your project and ask your agent to read it.
The key also unlocks the Trovafile export as a plain file:
curl -H "Authorization: Bearer trova_sk_YOUR-KEY" \ https://trova.design/api/export > Trovafile.md
Filters ride as query params: ?family=dark-premium&steal=typography.
Keys are metered at 500 billable calls per UTC day across MCP tool calls and the export — leak insurance, not a usage ceiling for humans. Handshake and discovery are free. The raw corpus (vault.json) is not part of the subscription at any price — the corpus is the moat.
Curator tasks and self-hosting instructions are in Owner operations. They are not part of subscriber setup.
Verify your connection
- Reload your client after saving configuration. Claude Code: run
/mcp; Cursor: open MCP settings; VS Code: runMCP: List Servers. Confirm that Trova is connected. - Check that
design_context,list_familiesandsearch_stealsare available. Discovery is free and does not spend your tool-call quota. - Run the prompt below. Without a key, choose a family marked available in the free preview. Expect source titles and URLs, palette/font context and labelled notes. A transcript alone does not establish a better design outcome.
Call list_families. Choose a populated family suitable for an independent developer's editorial site; if free-preview labels are present, choose one marked available. Then call design_context for it. Before writing code, name one source, quote one note, and explain the layout decision it suggests and a trade-off.
Use an existing key or remove the server
Keep one server named trova. Claude Code: remove the free entry from the scope where you installed it, then add the paid entry. The examples use user scope; earlier installs defaulted to local scope. Use claude mcp get trova to check it. In config-based clients, edit the existing entry and add authentication rather than creating a second server. Reload, repeat discovery and check the paid response scope.
claude mcp remove trova --scope user
To remove Trova entirely, use the command above or delete its config entry, and clear any saved key/environment variable. Never commit a real key. Prefer a user config, environment reference or masked input.
Enter an environment key without shell history
These prompts set TROVA_KEYonly for the current shell and its child processes. Launch your client from that shell. For GUI launches, configure the environment through your operating system or use the client's secure input. Reopen the app after changing it.
$env:TROVA_KEY = Read-Host "Trova key" -MaskInput
When setup fails
- 401 or invalid key
- Check for whitespace, the Bearer prefix and the environment visible to the client. A cancelled or revoked key cannot unlock paid access. Recover access from /recover.
- Quota / 429 / daily-limit tool error
- Paid quota resets at midnight UTC. The free quota uses a rolling 24-hour window beginning with the first call, per server instance. Respect Retry-After when provided; repeated calls will not help.
- No matching notes
- List populated families, remove a restrictive family/type filter or broaden the query. Free access covers one reference per selected family; empty taxonomy categories do not imply content exists.
- Endpoint unavailable
- Check your network/proxy, confirm the HTTPS /api/mcp URL and retry later. Include the status code and client version in support requests; omit keys and checkout URLs.
- Duplicate server / free results after upgrade
- Remove the stale local or project entry that overrides your user entry. Reload the client and verify the authenticated server again.
Configuration references checked 12 October 2026: Claude Code, Codex, Cursor, VS Code. Clean-install client/version testing and paid-upgrade testing are still pending.
03 · The visitor
The open window
The public vault shows every entry with its steal-notes in the open, filterable by family, each linking to the original work. The notes are the content, not the pixels — study use only, with a no-questions takedown contact on the page.
Nothing in the free slice above is withheld here: the 5canonical entries an unkeyed agent can reach are the same ones published on this page, in full. What that slice adds is the pipe — the notes arriving inside your agent's context while it works, rather than in a browser tab while you copy.
And the whole thing is portable: the trova CLI (ships with the source at launch) run against an instance yields vault.json (format trova-vault v1.0.0) — every entry carries author, license, and vault id, and a self-hosted Trova imports it with provenance intact. Entries without steal-notes are rejected on import; the invariant survives sharing.