Built for Agents — not bolted on.

A CLI, a 10-tool MCP server, and a REST API sit on top of the same feedback rail your team already triages. Your coding agent reads a submission as clean Markdown, acts on it with a scoped key, and can file its own structured feedback when it hits friction — no bespoke integration, no token tax.

CLI · MCP server (10 tools) · REST APIScoped API keys

How it works

Connect once. Read, act, and report back.

01mcp

Connect

Run quell mcp and point Claude Code, Cursor, or any MCP-compatible client at it — or call the REST API or quell CLI directly. Same scoped API key, same permissions, three ways in.

02api

Read & act

Pull a clean Markdown /context export for any feedback item — screenshot metadata, console trace, network failures, page state. Update status, comment, or open a GitHub or Linear issue with the same key.

03vent

Self-report

When the agent hits friction — a missing tool, a confusing schema, a platform bug — it files a structured vent that lands in the same inbox, right next to user feedback, for human triage.

What agents get

Read the report. Take the action. Report back.

Read
/context export — clean Markdown, not raw JSON
List, filter, and search with feedback:read
Full screenshot, console trace, and network detail
quell whoami — identity, role, scopes, projects
Act
Update status, assignee, priority, due date
Add comments to the activity log
Create or link a GitHub issue (idempotent)
Create or link a Linear issue (idempotent)
Self-report
Structured vent: missing tool, bad schema, bad docs, platform bug
Git context (commit, branch, repo) auto-detected
Best-effort dedupe blunts a stuck agent's loops
Arrives at trust: agent — review stays on any resulting PR

Three ways in

Same API. Pick your interface.

The CLI and the MCP server are both thin wrappers over the same REST API and the same scoped key — connect however your agent's runtime prefers.

quell · CLI
quell whoami
quell list --status Open --limit 10
quell context 42
quell update 42 --status "In Progress"
quell vent --category bad_schema \
  --summary "update tool rejects ISO dates"
quell mcp · Claude Code
claude mcp add quell \
  --env QUELL_BASE_URL=https://quell.sh \
  --env QUELL_API_KEY=YOUR_API_KEY \
  -- node /path/to/quell/dist/agent/cli.js mcp

Why it's different

Every layer speaks the same contract.

Quell ships zero mandatory AI. Bring the coding agent you already pay for — Claude Code, Cursor, Codex — through a skill, CLI, or MCP server, and it acts on your tokens. The rail underneath stays deterministic: capture, trust routing, Markdown context — every step a predictable function call, not a model call.

  • Scoped, hashed API keys. feedback:read, feedback:comment, feedback:write, feedback:integrations — grant only what each agent needs.
  • Markdown /context export. No raw JSON to wrangle — paste-ready for any agent, or fetched directly over the API.
  • 10 MCP tools. quell mcp covers whoami, list, get, context, update, comment, GitHub/Linear create, and vent — one process, no HTTP surface.
  • No token tax. Flat per-seat pricing — an agent can read, comment, and triage as often as needed without metering.
  • Review-required PRs. Agent-opened pull requests always carry a review requirement. Merge stays with a human.

FAQ

Agent questions.

What's the difference between the CLI, MCP server, and REST API?

All three wrap the same typed client and the same scoped API key. The REST API is the source of truth; the quell CLI is a thin, dependency-light wrapper for scripts and terminals; the MCP server (quell mcp) exposes the same operations as 10 native tools over stdio for MCP-capable clients like Claude Code or Cursor. Pick whichever fits your agent's runtime.

How do I connect Claude Code to Quell?

Build the CLI from a checkout (npm install && npm run build), then run claude mcp add quell with QUELL_BASE_URL and QUELL_API_KEY set, pointing at dist/agent/cli.js mcp. It's a long-lived stdio process — no HTTP/SSE transport, which keeps the API-key-bearing surface off the network.

What is a vent?

A vent is agent self-feedback — a structured way for an agent to flag friction (a missing tool, a bad schema, wrong docs, a platform bug) instead of failing silently or improvising a workaround. It isn't a separate table or endpoint: it's feedback with agent.kind set to "vent" and a recognisable category, so it flows through the same trust-aware pipeline as user feedback.

What scopes does an agent need?

Scoped API keys carry fine-grained permissions: projects:read, feedback:read, feedback:write, feedback:comment, and feedback:integrations. Grant only what the workflow needs — a read-only triage bot never needs feedback:integrations.

Can an agent create GitHub or Linear issues automatically?

Yes, with the feedback:integrations scope. Trust-aware auto-create policies decide whether that happens immediately (agent or admin trust) or waits for human triage first (public trust) — you set the policy per project.

Is my API key ever exposed to the agent's model context?

No. The key is read from environment variables only — never passed as a CLI flag, which would be visible in the process list, and never included in a prompt. Treat feedback content itself (messages, console logs, custom data) as untrusted input regardless of trust level.

Give your agent a feedback loop.

Managed cloud (£3/$4/€4 per seat) is early access while checkout and support operations finish. No token tax.