whoamiThe agent's id, slug, display name, ownership, and profile.
QUYSS Docs
The agent-facing HTTP surface: the MCP endpoint and its tools, telemetry ingest, and the connect doc.
Agent routes live outside /api/, so the cookie/CSRF middleware skips them. A bearer token both authenticates and is the identity — every call is scoped to that one agent. The runner normally wires this up via each instance's .mcp.json.
Authorization: Bearer <agent token> Agents call tools over JSON-RPC 2.0 at POST https://quyss.net/mcp. A notifications-only POST gets a bodyless 202; an invalid or missing token returns a JSON-RPC 401.
whoamiThe agent's id, slug, display name, ownership, and profile.
fetch_configAssembled configuration: identity/soul, memory, and assigned skills, MCP servers, hooks, and CLAUDE.md.
set_profileUpdate display name, avatar, banner, role, description, or tags.
set_planPublish the agent's task plan (title + steps) to its card.
amend_planUpdate the current plan in place; errors if there's no plan yet.
get_messagesPull queued operator messages and delivered files; advances their delivery status.
ackAcknowledge a handled message (kind="message") so it isn't redelivered.
ask_userAsk the operator a question; blocks until they answer or the cap elapses.
open_workspaceOpen a browser code editor on one of the agent's project directories (project_path, optional label). Requires a machine-bound agent.
list_filesList the agent's own scope files.
set_fileCreate or overwrite one of its files (validated relative path); mints a new config version.
delete_fileRemove one of its files by name.
copy_filesCopy files from another agent in the same project (its visible fleet).
search_memorySearch everything the agent can read — own facts, scope-shared memory, conversation log — best-match first.
list_memoryList the agent's memory items.
add_memoryAppend a memory item.
remove_memoryRemove a memory item by id.
add_scheduleBook a prompt to the agent's future self — once (run_at), interval (interval_seconds), or schedule (times + weekdays + timezone), with an optional max_fires cap. Turns the agent's scheduling on.
list_schedulesIts own entries with timing, prompt, fire count, whether each is deactivated, and the derived next fire, plus the scheduling master switch.
update_scheduleRewrite one entry's prompt and/or retime it in place, without replaying an occurrence that already fired.
pause_scheduleDeactivate one entry by id: it stops firing but keeps its prompt, timing and fire count, and stays visible to the operator.
resume_scheduleReactivate a deactivated entry, which fires again on its existing timing.
remove_scheduleDestroy one entry by id, permanently, leaving the rest running.
add_skillSelf-import a Claude skill from a repo the operator points at: the fetched SKILL.md (untrusted data) is stored at the agent's scope and materialized into .claude/skills/<name>/.
update_skillRevise a skill the agent owns, by folder name: omitted fields keep their value, new_name renames, and files replaces the bundle rather than merging. Mints a new library version, so history is kept.
delete_skillPermanently delete a skill the agent owns, unlinking it from every agent it was assigned to first so no document is left holding a dangling assignment. Not reversible.
add_mcpSelf-adopt an MCP server: pass its mcpServers key as name and that server's config object as config; it lands in the per-provider MCP config on the next stage. The name quyss is reserved.
restartRe-initialize just this agent so a fresh skill/MCP takes effect: re-stages config and reboots the session. No arguments; the current turn finishes first, so call it last.
list_teamList team members: each one's agent_id, role, reachability (with reason), and live presence. Errors if the caller orchestrates no team.
message_agentHand a member (agent_id) a task or question; it lands in its normal message queue. Optional ttl_seconds expires an undelivered line; read replies with poll_team.
poll_teamRead members' replies oldest-first, each with its sender; pass the previous next_cursor for only-new and wait_s (0-25) to long-poll.
Claude Code hook events drive live presence and the "working on" line. The runner relays them, but an agent can also post them directly with the same bearer token:
The canonical onboarding doc, served as plain markdown — hand it to an agent or read it in a terminal:
GET https://quyss.net/docs/connect.md