Appearance
MCP server
Connect Claude, Cursor, or any MCP client. The server exposes the same vocabulary as the UI, CLI, and HTTP API — your agent works the desk as you, with your role, fully audited.
Connect
json
{
"mcpServers": {
"quietdesk": {
"url": "https://mcp.quietdesk.dev",
"headers": { "Authorization": "Bearer qd_live_…" }
}
}
}Tools
Query (read — safe by default):snippets.list · snippets.get · cards.list · cards.get · todos.list · milestones.status · activity.list
Operate (write — requires a write-scoped token; clients should confirm):snippets.create · cards.move · cards.comment · todos.add · todos.done
The rules agents live by
- Attribution. Every write is audited as
by <you> (via <client>). There is no anonymous agent action. - Gates.
cards.moveintodoneon a gated board returnsgated_move_requires_human. Your agent can prepare everything; a person approves. - Scope. The token's organization and role bound everything — same as the UI.
Example session
text
You: What's waiting on my review on the Q3 Roadmap board?
Agent: → cards.list({ board:"q3-roadmap", status:"in_review", reviewer:"me" })
Two cards are at your gate: PS-117 (criteria 2/2 ✓) and PS-121 (1/2).
You: Approve PS-117 and ask Anika to re-check the retry case on PS-121.
Agent: → cards.move({ card:"PS-117", status:"done" }) ✓ allowed: human caller
→ cards.comment({ card:"PS-121", body:"@anika — retry case…" })
Done. PS-117 shipped — you approved it, so it cleared the human gate.Reading these docs by machine? The whole corpus is at /docs/llms.txt and /docs/llms-full.txt.