Reference

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

Endpoint & auth
Bearer qvr_

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.)

Claude Desktop · claude_desktop_config.json
{
  "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.)

It describes itself

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

All tools hit the same /api routes as the REST API and CLI — same backend, same behavior. Reads are cheap; the agent escape hatches (tell, run_file_agent) are a last resort that spend tokens.
Tool catalog
ToolTypeNotes
orientCold-start bundle: purpose, singletons, active work, counts, recent activity.
workspace_infoFull config: every type, field, status, metric, view.
get_type_configtype?One type’s schema (or a catalog of all types).
list_filestype? status? q? limit?Browse files; status accepts open/active/closed tokens.
searchqueryRecall by content — titles and all data-field values.
get_fileidOne file’s title, status, and resolved field values.
get_file_dataidJust the data fields (enums labeled, refs resolved).
related_filesidEvery file that references this one (reverse links).
file_activityidChange history for one file.
recent_activitylimit?Workspace-wide recent changes.
get_viewviewId period?A dashboard view’s curated files + metric cards.
list_metricsAvailable metrics.
get_metricid period?A single metric’s value + target.
create_filetype title? data? parent? force?Create a file and populate fields in one call.
update_fileid fields? title?Set fields and/or rename atomically.
set_statusid statusMove a file to a status.
tellmessageHand a multi-part update to the workspace agent (last resort).
run_file_agentid messageFile-scoped agent escape hatch.
usage_stats / storage_statsToken spend and storage footprint.

In practice

What a session looks like

conversation
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.