quverOS
DocsReference
MCP
A hosted Model Context Protocol server at https://mcp.tellquiver.ai. Point Claude (or any MCP client) at it with a workspace key, and it exposes your dashboard as tools — self-described from your config, no glue code.
Connect
Add the server
Streamable-HTTP at /mcp. Authenticate with a qvr_ workspace key as a bearer token — the connection is bound to that one workspace. (Clients without a key fall into an OAuth flow.)
{
"mcpServers": {
"quiver": {
"url": "https://mcp.tellquiver.ai/mcp",
"headers": { "Authorization": "Bearer qvr_xxxxxxxxxxxx" }
}
}
}Connecting more than one workspace in Claude Desktop? Add another entry with that workspace’s key — each is scoped by its bearer. (Web connectors that key off the URL alone may need a distinct URL per workspace — per-workspace endpoints are on the roadmap.)
On connect, the server reads your workspace config and tells the assistant exactly what exists — your file types, their fields and statuses, and your metrics — and exposes a live quiver://workspace resource that re-fetches per call, so schema edits show up without reconnecting. There’s no domain logic in the server; every tool is shaped by your config.
Tools
What the assistant can do
| Tool | Type | Notes |
|---|---|---|
| orient | — | Cold-start bundle: purpose, singletons, active work, counts, recent activity. |
| workspace_info | — | Full config: every type, field, status, metric, view. |
| get_type_config | type? | One type’s schema (or a catalog of all types). |
| list_files | type? status? q? limit? | Browse files; status accepts open/active/closed tokens. |
| search | query | Recall by content — titles and all data-field values. |
| get_file | id | One file’s title, status, and resolved field values. |
| get_file_data | id | Just the data fields (enums labeled, refs resolved). |
| related_files | id | Every file that references this one (reverse links). |
| file_activity | id | Change history for one file. |
| recent_activity | limit? | Workspace-wide recent changes. |
| get_view | viewId period? | A dashboard view’s curated files + metric cards. |
| list_metrics | — | Available metrics. |
| get_metric | id period? | A single metric’s value + target. |
| create_file | type title? data? parent? force? | Create a file and populate fields in one call. |
| update_file | id fields? title? | Set fields and/or rename atomically. |
| set_status | id status | Move a file to a status. |
| tell | message | Hand a multi-part update to the workspace agent (last resort). |
| run_file_agent | id message | File-scoped agent escape hatch. |
| usage_stats / storage_stats | … | Token spend and storage footprint. |
In practice
What a session looks like
You: How's the leaderboard doing?
→ orient (purpose, counts, recent plays)
→ get_metric id: leaderboard
Claude: 54 games logged; top score 3,360 (Teal Bowman). 2 playing right now.
You: Log a 320 for Bob on hard.
→ create_file type: score, data: { player: "Bob", value: 320, category: "hard" }
Claude: Done — Bob's on the board at #4 in hard.Same vocabulary as the quiver CLI and the REST API — the MCP server is just the door for AI clients.