AgentPlaybooks
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENTPLAYBOOKS_API_KEY | No | User API key from that same instance. Existing tool permissions and ownership checks apply. Without configuration, tool execution returns an explicit error. | |
| SECRETS_ENCRYPTION_KEY | No | Existing instance encryption key, required for vault operations. Preserve the original key for existing ciphertext. | |
| NEXT_PUBLIC_SUPABASE_URL | No | Supabase project URL for your own AgentPlaybooks instance. Needed for data operations; not required for startup or tool discovery. | |
| SUPABASE_SERVICE_ROLE_KEY | No | Server-only Supabase service key for your own instance. Never include real credentials in build placeholders. | |
| NEXT_PUBLIC_SUPABASE_ANON_KEY | No | Supabase anon/publishable key for that instance. Needed for data operations. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_playbooksA | List playbooks owned by or shared with the authenticated user, including access role and content counts. Read-only; it does not create or modify playbooks. Use get_playbook when you need the singleton persona, skills, connected servers, and memory for one playbook. Requires playbooks:read or full permission. |
| create_playbookA | Create a new playbook container for a singleton persona, skills, and memory. Each call inserts a new playbook; it does not upsert by name. Requires playbooks:write or full permission. Use update_playbook to change an existing playbook, not this tool. |
| get_playbookA | Get a playbook with its singleton persona and compact skill, connected-server and memory metadata. Skill bodies, memory values and server configurations are omitted unless include_content=true. This is the only persona retrieval tool; there is no get_persona. Read-only; requires playbooks:read or full. Use list_playbooks for IDs, get_skill / get_skill_reference for selected instructions and search_memory / read_memory for selected facts. |
| update_personaA | Edit the playbook's one persona: name, system prompt or metadata. Omitted fields stay unchanged. Example: {playbook_id, system_prompt: 'Review Python code'}. Requires personas:write or full. Use reset_persona only to discard custom persona settings. Use update_playbook for project name, visibility or instructions. Legacy persona_id is optional and must equal playbook_id if supplied. |
| find_toolsA | Find account and playbook operations by keyword and return their input schemas. No playbook_id is needed for the account catalog. Supply playbook_id to also search connected servers. Call returned tools directly; omitted tools remain callable in core/full. Pinned domain views search only their allowed operations. |
| list_skillsA | List every skill currently attached to this playbook as metadata: id, name, description (up to 512 characters), licence, priority and created_at. Content and attachment bodies are omitted by default. Use get_skill for one definition, then get_skill_reference for one file or Markdown section. Set include_content=true only for an explicit full-content listing. Read-only. Do not use list_skill_versions, which lists historical revisions of one skill. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| get_skillA | Return the full definition of one skill: SKILL.md content, metadata, and an attachment manifest with filenames and sizes. For only the manifest set include_content=false. Attachment bodies are omitted by default; read one with get_skill_reference, or set include_attachments=true for a complete export. skill_id accepts a UUID or kebab-case name. Declared demonstrations include resolved recording and segment links. Read-only. Use list_skills to discover IDs; list_skill_versions is historical data, not the current definition. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| get_skill_referenceA | Read exactly one skill file, optionally just one Markdown heading and its subsections. Use a filename from get_skill's attachment manifest, or SKILL.md for the main instructions. section matches the first exact ATX heading (without #, case-insensitive); code-fence headings are ignored. Returns at most max_chars (default 12000, maximum 32000), with next_offset for continuation within the selected text. Offsets count UTF-16 string units. Read-only; the parent skill must belong to this playbook. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| read_memoryA | Read one memory entry by key and return its value, tags, tier, summary, and metadata. This is not a pure read: it increments access_count and updates last_accessed_at as a side effect, without changing the stored value. There is no update_memory; use write_memory to overwrite a key. Use search_memory to find keys, get_memory_context for a tiered summary, or get_memory_tree for hierarchical task graphs. Do not pass memory_type; that filter belongs to search_memory. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| search_memoryA | Search memory keys, JSON values, descriptions and summaries. Defaults to current, non-archived memories. scope='archived' searches archived entries and previous versions; scope='all' searches both. Results include memory_at and history_id (null for current entries). Use get_memory_history for one key's previous versions, or read_memory for its current value. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| write_memoryA | Create or update a memory by key; previous contents are saved automatically and readable with get_memory_history. Keep entries concise and actionable: save durable facts, decisions, and useful next steps rather than raw transcripts or repeated detail, and provide a short summary. When current evidence corrects an existing fact, update its existing key instead of adding a contradictory duplicate; archive obsolete entries with archive_memories. memory_at is optional and defaults to this save's time; supply an ISO timestamp to preserve an earlier time. is_archived=true hides the entry from normal search/context; false restores it. Tier controls context priority independently of archiving. Requires memory:write or full permission; with memory:propose the write is saved as a proposal (status pending_review) that changes nothing until the owner or an editor approves it. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| list_canvasA | List canvas documents in a workflow run. Canvas documents are collaborative markdown files that multiple agents can edit in parallel. Omit run_id to list documents across all runs. Read-only. Use read_canvas for content and get_canvas_toc for section IDs. There is no get_run; list_runs returns run records. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| read_canvasA | Read a canvas document. Returns full content, sections structure, and metadata. Optionally read a specific section by ID. Read-only. Use get_canvas_toc to discover section IDs before patch_canvas_section, and list_canvas to find slugs. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| write_canvasA | Create or fully replace a canvas document. Markdown headings are auto-parsed into sections for parallel editing. A replace overwrites prior content and cannot be undone. Requires canvas:write or full permission. Use patch_canvas_section for partial updates and lock_canvas_section before multi-agent edits. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
| list_mcp_serversA | List the MCP and OpenAPI servers connected to this playbook, including transport metadata and discovered capability counts. Read-only. There is no get_mcp_server; this list is the detail view. Do not use this to invoke a connected tool—use call_connected_tool. Pass playbook_id as the UUID or GUID of the playbook this call should target. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool maps to a distinct resource+action (playbook get/list/create, skill list/get/reference, memory read/write/search, canvas list/read/write), so an agent can generally pick correctly. The main friction is that several descriptions spend more words pointing at sibling tools that are absent from the set (get_memory_history, patch_canvas_section, call_connected_tool), which muddies boundaries without creating true overlap.
All 15 tools use a consistent snake_case verb_noun pattern (get_playbook, list_skills, write_memory, read_canvas, search_memory). Verb choice is predictable per action family (list/get/read for retrieval, write/create/update for mutation), with no camelCase or stylistic mixing.
15 tools is within a reasonable band and each entry is a plausible slice of the playbook domain. The count is slightly high for what is effectively a read-heavy partial surface, and the presence of a meta tool (find_tools) alongside the concrete operations adds a bit of redundancy.
The surface is a fragment of the described domain: there is create_playbook but no update_playbook or delete_playbook, skills are read-only with no create/attach, memory has no delete/archive/history, and canvas lacks section patching, TOC, and locking. Worse, descriptions explicitly instruct agents to use tools that are not present (update_playbook, get_canvas_toc, patch_canvas_section, get_memory_history, call_connected_tool), which will produce dead ends.