AgentPlaybooks
REMOTE · AGENTPLAYBOOKS.AI
Vendor-neutral home for portable agents: skills, MCP tools, memory, canvas, and secret proxy.
Available components
Last scanned (6 hours ago)
Scores higher than 28% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Memory and Knowledge
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 19 Sept 26 0
- Authorization: fail → pass ▲ security
- First check of Authorization: partial security
- 13 Sept 26 0
- Endpoint reachability: reachable → behind authorisation ▼ security
- Authorization: unverified → fail ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 12 Sept 26 0
- Tool “archive_memories” rewrote its description, which is the text the model reads security
- Tool “delete_memory” rewrote its description, which is the text the model reads security
- Tool “promote_memory” rewrote its description, which is the text the model reads security
- Tool “search_memory” rewrote its description, which is the text the model reads security
- Tool “write_memory” rewrote its description, which is the text the model reads security
- New tool “get_memory_history” functional
- “search_memory” added an optional parameter “after” cosmetic
- “search_memory” added an optional parameter “before” cosmetic
- “search_memory” added an optional parameter “limit” cosmetic
- “search_memory” added an optional parameter “offset” cosmetic
- “search_memory” added an optional parameter “scope” cosmetic
- “write_memory” added an optional parameter “is_archived” cosmetic
- “write_memory” added an optional parameter “memory_at” cosmetic
- “search_memory” reworded the description of “search” cosmetic
- “write_memory” reworded the description of “value” cosmetic
- 2 Sept 26 0
- Stability: fail → pass ▲ security
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 22 Aug 26 0
- New tool “use_secret_write”, which the server declares destructive security
- Tool “use_secret” rewrote its description, which is the text the model reads security
- Tool “use_secret” no longer declares itself destructive security
- “use_secret” reworded the description of “extra_headers” cosmetic
- “use_secret” reworded the description of “method” cosmetic
- “use_secret” dropped the optional parameter “body” cosmetic
- Tool “archive_memories” changed its title: Archive memories cosmetic
- Tool “call_connected_tool” changed its title: Call a connected tool cosmetic
- Tool “consolidate_memories” changed its title: Consolidate memories cosmetic
- Tool “create_mcp_server” changed its title: Add MCP server cosmetic
- Tool “create_persona” changed its title: Create persona cosmetic
- Tool “create_playbook” changed its title: Create playbook cosmetic
- Tool “create_run” changed its title: Create run cosmetic
- Tool “create_skill” changed its title: Create skill cosmetic
- Tool “create_task_graph” changed its title: Create task graph cosmetic
- Tool “delete_mcp_server” changed its title: Remove MCP server cosmetic
- Tool “delete_memory” changed its title: Delete memory cosmetic
- Tool “delete_persona” changed its title: Delete persona cosmetic
- Tool “delete_playbook” changed its title: Delete playbook cosmetic
- Tool “delete_run” changed its title: Delete run cosmetic
- Tool “delete_secret” changed its title: Delete secret cosmetic
- Tool “delete_skill” changed its title: Delete skill cosmetic
- Tool “find_tools” changed its title: Find tools cosmetic
- Tool “get_canvas_toc” changed its title: Canvas table of contents cosmetic
- Tool “get_memory_context” changed its title: Get memory context cosmetic
- Tool “get_memory_tree” changed its title: Get memory tree cosmetic
- Tool “get_playbook” changed its title: Get playbook cosmetic
- Tool “get_skill” changed its title: Get skill cosmetic
- Tool “list_canvas” changed its title: List canvas documents cosmetic
- Tool “list_mcp_servers” changed its title: List MCP servers cosmetic
- Tool “list_playbooks” changed its title: List playbooks cosmetic
- Tool “list_runs” changed its title: List runs cosmetic
- Tool “list_secrets” changed its title: List secrets cosmetic
- Tool “list_skill_versions” changed its title: List skill versions cosmetic
- Tool “list_skills” changed its title: List skills cosmetic
- Tool “lock_canvas_section” changed its title: Lock canvas section cosmetic
- Tool “patch_canvas_section” changed its title: Patch canvas section cosmetic
- Tool “promote_memory” changed its title: Promote memory cosmetic
- Tool “read_canvas” changed its title: Read canvas document cosmetic
- Tool “read_memory” changed its title: Read memory cosmetic
- Tool “rollback_skill” changed its title: Roll back skill cosmetic
- Tool “rotate_secret” changed its title: Rotate secret cosmetic
- Tool “search_memory” changed its title: Search memory cosmetic
- Tool “store_secret” changed its title: Store secret cosmetic
- Tool “unlock_canvas_section” changed its title: Unlock canvas section cosmetic
- Tool “update_mcp_server” changed its title: Update MCP server cosmetic
- Tool “update_persona” changed its title: Update persona cosmetic
- Tool “update_playbook” changed its title: Update playbook cosmetic
- Tool “update_run” changed its title: Update run cosmetic
- Tool “update_skill” changed its title: Update skill cosmetic
- Tool “update_task_status” changed its title: Update task status cosmetic
- Tool “use_secret” changed its title: Read through a secret cosmetic
- Tool “write_canvas” changed its title: Write canvas document cosmetic
- Tool “write_memory” changed its title: Write memory cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://agentplaybooks.ai/api/mcp/manage
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agentplaybooks.ai | CN=WE1,O=Google Trust Services,C=US | 25 Oct 2026 | 23 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | e650c73c9e06a3e61303b9a79fcead27 |
| SANs: agentplaybooks.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agentplaybooks.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| agentplaybooks.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer resource_metadata="https://agentplaybooks.ai/.well-known/oauth-protected-resource/api/mcp/manage"
Bearer resource_metadata="https://agentplaybooks.ai/.well-known/oauth-protected-resource/api/mcp/manage" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' blob: data: https: http:; font-src 'self' data:; connect-src 'self' https://*.supabase.co wss://*.supabase.co https://cloudflareinsights.com https://zcphxfospbvqplonkvco.supabase.co wss://zcphxfospbvqplonkvco.supabase.co; worker-src 'self' blob: |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=() |
| www-authenticate | Bearer resource_metadata="https://agentplaybooks.ai/.well-known/oauth-protected-resource/api/mcp/manage" |
Protected resource metadata
| Document | https://agentplaybooks.ai/.well-known/oauth-protected-resource/api/mcp/manage |
|---|---|
| Retrieved | Yes |
| Resource | https://agentplaybooks.ai/api/mcp/manage |
| Authorisation server | https://zcphxfospbvqplonkvco.supabase.co/auth/v1 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agentplaybooks.ai/api/mcp/manage | Auth required | 401 | |
| http (plaintext) | http://agentplaybooks.ai/api/mcp/manage | HTTPS enforced | 301 | https://agentplaybooks.ai/api/mcp/manage |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
archive_memories Archive memories ~177
Hide matching memories from normal search and context, retaining them in the longterm tier. Search scope='archived' to find them or read_memory by key. Filters combine as AND; older_than_hours uses memory_at. Permanent-retention entries are skipped. promote_memory restores visibility. Requires memory:write or full permission. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| from_tier | string | – | Only archive from this tier |
| generate_summaries | boolean | – | Auto-generate summaries if missing |
| keys | array | – | Specific keys to archive |
| older_than_hours | number | – | Archive memories older than X hours |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| tags | array | – | Only archive memories with these tags |
No output schema declared.
No examples provided.
call_connected_tool Call a connected tool ~174
Call a tool on one of this playbook's connected MCP or OpenAPI servers. Arguments are forwarded as-is and the result mirrors the connected tool, including any side effects that tool has in the outside world. Requires tools:call or full permission. Use list_mcp_servers to discover server_id and tool_name. Do not use this to manage connection records; use create_mcp_server, update_mcp_server, or delete_mcp_server. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| arguments | object | – | Arguments passed to the connected tool |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| server_id | string | yes | Connected server UUID or name |
| tool_name | string | yes | Tool name exposed by the connected server |
No output schema declared.
No examples provided.
consolidate_memories Consolidate memories ~172
Consolidate related memories under a new parent memory with a summary. Child rows stay readable; by default they are archived to the longterm tier rather than deleted. Requires memory:write or full permission. Use delete_memory only when a key should be destroyed, and archive_memories to move entries to longterm without creating a parent. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| archive_children | boolean | – | Move children to longterm tier |
| memory_keys | array | yes | Keys of memories to consolidate |
| parent_key | string | yes | New parent memory key |
| parent_tags | array | – | Tags for parent memory |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| summary | string | yes | Summary of consolidated memories |
No output schema declared.
No examples provided.
create_mcp_server Add MCP server ~189
Connect an MCP or OpenAPI server to this playbook by storing its transport configuration. This writes playbook state; it does not by itself invoke remote tools. Requires playbooks:write or full permission. Use call_connected_tool to invoke a discovered tool, and list_mcp_servers to inspect connections. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What this server provides |
| name | string | yes | Display name of the connected server |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| resources | array | – | Known resource definitions, if already discovered |
| tools | array | – | Known tool definitions, if already discovered |
| transport_config | object | – | Transport-specific configuration. Do not put plaintext secrets here. |
| transport_type | string | – | Connection type (default: http) |
No output schema declared.
No examples provided.
create_persona Create persona ~148
Set the playbook's singleton persona name and system prompt. This does not add a second persona; it is a backward-compatible alias that overwrites those fields. Requires personas:write or full permission. Prefer update_persona to change a subset of fields. Use update_playbook only when you also need playbook name, visibility, config, or project instructions. Do not use delete_persona unless you intend to reset to the default Assistant.
| Name | Type | Req | Description |
|---|---|---|---|
| metadata | object | – | Optional metadata |
| name | string | yes | Name of the persona |
| playbook_id | string | yes | UUID of the playbook |
| system_prompt | string | yes | The system prompt that defines this persona's behavior |
No output schema declared.
No examples provided.
create_playbook Create playbook ~193
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description of what the playbook is for |
| instructions | string | – | Always-on project instructions (the AGENTS.md / CLAUDE.md content). Separate from the persona: the persona is who the agent is, these are the rules of this project. |
| name | string | yes | Name of the playbook |
| persona_metadata | object | – | Initial persona metadata |
| persona_name | string | – | Initial persona name |
| persona_system_prompt | string | – | Initial persona/system prompt |
| tags | array | – | Discovery and organization tags |
| visibility | string | – | Visibility of the playbook |
No output schema declared.
No examples provided.
create_run Create run ~112
Create a workflow run so this playbook can be applied immediately with isolated context and canvas artifacts. Requires canvas:write or full permission. Use list_runs to inspect existing runs (there is no get_run) and update_run to change status. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| context | object | – | Initial execution context |
| name | string | yes | Human-readable run name |
| playbook_id | string | yes | UUID or GUID of the target playbook |
No output schema declared.
No examples provided.
create_skill Create skill ~155
Create a new skill for this playbook. Use this to expand capabilities. Requires full or skills:write permission. Use update_skill to change an existing skill and list_skills to check for name collisions first. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The instructions/prompt/code for the skill |
| description | string | – | What the skill does and when the agent should use it |
| name | string | yes | Agent Skills-compatible name (lowercase kebab-case, e.g. data-analyzer) |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| priority | number | – | Priority level (default 50) |
No output schema declared.
No examples provided.
create_task_graph Create task graph ~174
Create a hierarchical task plan in one call: a parent plan memory plus a child node per subtask. Upserts by key, so repeating the same plan_key overwrites the previous graph. Requires memory:write or full permission. Use write_memory for a single node, update_task_status to move a node through pending/running/completed, and get_memory_tree to inspect the graph. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| plan_key | string | yes | Key for the root plan memory |
| plan_summary | string | yes | High-level summary of the entire plan |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| tags | array | – | Tags for the plan |
| tasks | array | yes | List of subtasks to create |
No output schema declared.
No examples provided.
delete_mcp_server Remove MCP server ~107
Disconnect an MCP or OpenAPI server from this playbook. The remote server is not shut down; only this playbook's connection record is removed. Requires playbooks:write or full permission. Use update_mcp_server to change configuration without disconnecting. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| server_id | string | yes | Connected server UUID |
No output schema declared.
No examples provided.
delete_memory Delete memory ~87
Permanently delete a memory and its saved history. Requires memory:write or full permission. To hide an entry while retaining its content, use archive_memories instead. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Memory key to delete |
| playbook_id | string | yes | UUID or GUID of the target playbook |
No output schema declared.
No examples provided.
delete_persona Delete persona ~170
Reset the playbook's singleton persona to the default Assistant name and system prompt. Despite the delete_* name, this is not a hard delete: each playbook always keeps exactly one logical persona, so the fields are overwritten rather than removed. persona_id must equal playbook_id because the persona is stored on the playbook row. Custom name, system prompt, and metadata are permanently replaced and cannot be undone. Requires personas:write or full permission. Use update_persona to change fields without resetting, create_persona to set a new identity, and delete_playbook only when the entire playbook should be removed.
| Name | Type | Req | Description |
|---|---|---|---|
| persona_id | string | yes | Must equal playbook_id; the persona is a singleton stored on the playbook |
| playbook_id | string | yes | UUID of the playbook |
No output schema declared.
No examples provided.
delete_playbook Delete playbook ~98
Permanently delete a playbook and all of its contents (persona, skills, memory, API keys, canvas, and secrets). This cannot be undone. Requires playbooks:write or full permission, and only the owner may delete. Do not use this to reset a persona (delete_persona) or remove a single skill or memory; those have dedicated tools.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID of the playbook to delete |
No output schema declared.
No examples provided.
delete_run Delete run ~104
Permanently delete a workflow run and its isolated canvas artifacts. This cannot be undone. Requires canvas:write or full permission. Use update_run with status=archived to keep artifacts, and delete_playbook only when the whole playbook should go. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
No output schema declared.
No examples provided.
delete_secret Delete secret ~105
Permanently delete a secret. Cannot be undone. Requires secrets:write or full permission. Use rotate_secret to replace the value without removing the name, and list_secrets to confirm the name first. This does not revoke the credential at the upstream provider. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Secret name to delete |
| playbook_id | string | yes | UUID or GUID of the target playbook |
No output schema declared.
No examples provided.
delete_skill Delete skill ~109
Permanently delete a skill from this playbook. This cannot be undone except by recreating the skill. Requires full or skills:write permission. Use rollback_skill to restore a previous version instead of deleting, and update_skill to change content in place. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| skill_id | string | yes | ID or name of the skill to delete |
No output schema declared.
No examples provided.
find_tools Find tools ~250
Search this playbook's complete tool catalog by keyword: the built-in playbook tools (memory, skills, canvas, workflow runs, secrets) and every connected server's federated tools (names like supabase__execute_sql or cloudflare__search). Matches against tool names and descriptions; a name match ranks above a description match. Returns up to `limit` (default 10, max 25) entries with name, description, and full input schema. Every returned tool can be called directly by name even when it is absent from tools/list — the advertised list is a view, not a boundary, unless this connection was pinned with ?toolset=. Read-only and free of side effects. Use this when the tool you need is not in your current list, before concluding a capability is missing. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum matches to return (default 10, max 25) |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| query | string | yes | Keywords to match against tool names and descriptions, e.g. 'sql tables' or 'archive memory' |
| Name | Type | Req | Description |
|---|---|---|---|
| matches | array | yes | – |
No examples provided.
get_canvas_toc Canvas table of contents ~107
Get the table of contents for a canvas document. Returns section IDs, headings, and levels for navigation and patch_canvas_section. Read-only. Use read_canvas for full markdown and list_canvas to discover slugs. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| slug | string | yes | Document slug |
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| slug | string | yes | – |
| toc | array | yes | – |
No examples provided.
get_memory_context Get memory context ~161
Get a context-optimized view of memories: full working memory, summaries for contextual, and keys only for longterm. Read-only. Use this to pack a prompt; use read_memory for one key, search_memory to filter, and get_memory_tree for parent-child task graphs. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| expand_keys | array | – | Keys to show full content regardless of tier |
| include_tiers | array | – | Tiers to include (default: working, contextual) |
| max_items | number | – | Maximum items per tier |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| tags_filter | array | – | Only include memories with these tags |
| Name | Type | Req | Description |
|---|---|---|---|
| tiers | object | yes | – |
| total_items | number | yes | – |
No examples provided.
get_memory_history Memory history ~128
Read previous versions of a memory by its current key, including original memory_at and saved contents. History is excluded from normal search. To restore a version, write its contents and memory_at with write_memory and is_archived=false. Read-only. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| search | string | – | Optional text within this memory's history |
No output schema declared.
No examples provided.
get_memory_tree Get memory tree ~142
Get a hierarchical tree of memories showing parent-child relationships and per-node status. Read-only. Use this to visualize task graphs; use search_memory to filter flat lists, get_memory_context for a tiered prompt view, and read_memory for a single key's full value. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| include_values | boolean | – | Include full values (false = summaries only) |
| max_depth | number | – | Maximum tree depth |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| root_key | string | – | Start from this key (omit for all roots) |
| Name | Type | Req | Description |
|---|---|---|---|
| root | string|null | yes | – |
| total_nodes | number | yes | – |
| tree | array | yes | – |
No examples provided.
get_playbook Get playbook ~95
Get a playbook with its singleton persona, skills, connected MCP servers, and memory. This is the only persona retrieval tool; there is no get_persona. Read-only. Requires playbooks:read or full permission. Use list_playbooks to discover IDs first, and get_skill when you need one skill's full content rather than the playbook summary.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID of the playbook |
No output schema declared.
No examples provided.
get_skill Get skill ~144
Return the full definition of one skill in this playbook, including name, description, content, priority, and attachments. Identify the skill with skill_id, which may be a UUID or the skill's kebab-case name. This lookup does not modify the skill. Use list_skills first to discover IDs and names. Do not use list_skill_versions (historical revisions) or get_playbook (persona and summaries, not full skill content). Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| skill_id | string | yes | Skill ID or name |
| Name | Type | Req | Description |
|---|---|---|---|
| content | string|null | – | – |
| created_at | string | – | – |
| description | string|null | – | – |
| id | string | – | – |
| licence | string|null | – | – |
| name | string | – | – |
| playbook_id | string | – | – |
| priority | number|null | – | – |
| publisher_id | string|null | – | – |
| skill_attachments | array | – | – |
No examples provided.
list_canvas List canvas documents ~125
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.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | – | Workflow run UUID. Omit to list documents across all runs. |
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | yes | – |
No examples provided.
list_mcp_servers List MCP servers ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
No output schema declared.
No examples provided.
list_playbooks List playbooks ~72
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| playbooks | array | yes | – |
No examples provided.
list_runs List runs ~93
List workflow runs for this playbook. Runs isolate canvas artifacts and execution context. Read-only. There is no get_run; this list returns the run records. Use create_run to start isolated canvas context and list_canvas to see documents in a run. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
No output schema declared.
No examples provided.
list_secrets List secrets ~119
List all secret names and metadata in this playbook. Does not return values — secret values are never exposed to agents. Requires secrets:read or full permission. Use use_secret to make an authenticated HTTP request, store_secret to add a value, and rotate_secret to replace one. Do not use this tool expecting plaintext credentials. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by category |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| Name | Type | Req | Description |
|---|---|---|---|
| secrets | array | yes | – |
No examples provided.
list_skill_versions List skill versions ~112
List historical versions of a skill for auditing or rollback. Read-only. Use this before rollback_skill; use get_skill for the current definition and list_skills for every skill in the playbook. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max versions to return (default 10) |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| skill_id | string | yes | ID or name of the skill |
No output schema declared.
No examples provided.
list_skills List skills ~127
List every skill currently attached to this playbook, returning id, name, description, content, licence, and priority ordered by priority descending. Read-only; it does not create or change skills. Use this to discover skill_id values before get_skill, update_skill, or delete_skill. Do not use list_skill_versions, which lists historical revisions of a single skill, or get_playbook, which only summarizes skills. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| Name | Type | Req | Description |
|---|---|---|---|
| skills | array | yes | – |
No examples provided.
lock_canvas_section Lock canvas section ~129
Lock a section for exclusive editing so other agents cannot modify it. Requires canvas:write or full permission. Always unlock_canvas_section when finished. Do not use this to edit content; pair it with patch_canvas_section. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| locked_by | string | yes | Agent identifier |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| section_id | string | yes | Section ID to lock |
| slug | string | yes | Document slug |
No output schema declared.
No examples provided.
patch_canvas_section Patch canvas section ~159
Edit a specific section of a canvas document. Parallel-safe: only the targeted section is updated. Requires canvas:write or full permission. Lock the section first in multi-agent scenarios. Use write_canvas only when replacing the whole document, and get_canvas_toc to obtain section_id. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | New section content (markdown) |
| heading | string | – | Optional: new heading text |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| section_id | string | yes | Section ID from get_canvas_toc |
| slug | string | yes | Document slug |
No output schema declared.
No examples provided.
promote_memory Promote memory ~143
Restore a memory's visibility, promote it to a higher tier or boost its priority for active use. This tool cannot demote; use archive_memories to archive entries. Repeating the call with priority_boost increases priority again. Requires memory:write or full permission. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Memory key to promote |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| priority_boost | number | – | Amount to increase priority (0-50) |
| target_tier | string | – | Target tier (cannot demote with this tool) |
No output schema declared.
No examples provided.
read_canvas Read canvas document ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| section_id | string | – | Optional: read only this section |
| slug | string | yes | Document slug |
No output schema declared.
No examples provided.
read_memory Read memory ~154
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.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Memory key to read |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| Name | Type | Req | Description |
|---|---|---|---|
| access_count | number | – | – |
| description | string|null | – | – |
| is_archived | boolean | – | – |
| key | string | – | – |
| memory_at | string | – | – |
| parent_key | string|null | – | – |
| priority | number | – | – |
| summary | string|null | – | – |
| tags | array | – | – |
| tier | string | – | – |
| updated_at | string | – | – |
| value | – | – | – |
No examples provided.
rollback_skill Roll back skill ~114
Rollback a skill to a previous version recorded by list_skill_versions. The current definition is replaced and cannot be recovered except by rolling forward to another stored version. Requires full or skills:write permission. Do not use delete_skill when you only need to revert. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| version_id | string | yes | The specific version ID from list_skill_versions to rollback to |
No output schema declared.
No examples provided.
rotate_secret Rotate secret ~114
Rotate an existing secret with a new value. The old value is permanently replaced and cannot be recovered. Requires secrets:write or full permission. Use store_secret to create a name that does not exist yet, and delete_secret to remove the secret entirely. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Secret name to rotate |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| value | string | yes | New secret value |
No output schema declared.
No examples provided.
search_memory Search memory ~244
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.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Inclusive lower bound on memory_at |
| before | string | – | Inclusive upper bound on memory_at |
| include_children | boolean | – | Include child memories in results |
| limit | integer | – | – |
| memory_type | string | – | Filter by memory type |
| offset | integer | – | – |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| scope | string | – | – |
| search | string | – | Literal text in keys, JSON values, descriptions and summaries |
| status | string | – | Filter by task status (hierarchical only) |
| tags | array | – | Filter by tags (any match) |
| tier | string | – | Filter by memory tier |
No output schema declared.
No examples provided.
store_secret Store secret ~187
Store a new encrypted secret. The value is encrypted with AES-256-GCM using a per-user derived key and never stored or returned in plaintext. Requires secrets:write or full permission. Use rotate_secret to replace an existing value and list_secrets to confirm the name. Do not use this to send an authenticated request; use use_secret. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Secret type (default: general) |
| description | string | – | What this secret is used for |
| expires_at | string | – | ISO 8601 expiration date (optional) |
| name | string | yes | Secret name (letters, numbers, hyphens, underscores) |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| value | string | yes | The secret value to encrypt and store |
No output schema declared.
No examples provided.
unlock_canvas_section Unlock canvas section ~114
Unlock a previously locked canvas section so other agents can edit it. Requires canvas:write or full permission. Use lock_canvas_section to take the lock; this tool does not change section content. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| section_id | string | yes | Section ID to unlock |
| slug | string | yes | Document slug |
No output schema declared.
No examples provided.
update_mcp_server Update MCP server ~164
Update a connected MCP or OpenAPI server's stored name, description, tools, resources, or transport. Requires playbooks:write or full permission. Use call_connected_tool to invoke a tool, and delete_mcp_server to disconnect. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description |
| name | string | – | New display name |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| resources | array | – | Updated resource definitions |
| server_id | string | yes | Connected server UUID |
| tools | array | – | Updated tool definitions |
| transport_config | object | – | Updated transport-specific configuration |
| transport_type | string | – | Connection type |
No output schema declared.
No examples provided.
update_persona Update persona ~154
Update the singleton persona's name, system prompt, or metadata without resetting to defaults. persona_id must equal playbook_id because the persona is stored on the playbook row. Requires personas:write or full permission. Use create_persona to replace name and system prompt together, delete_persona to reset to the default Assistant, and update_playbook when changing playbook-level fields as well.
| Name | Type | Req | Description |
|---|---|---|---|
| metadata | object | – | New metadata |
| name | string | – | New name |
| persona_id | string | yes | Must equal playbook_id; the persona is a singleton stored on the playbook |
| playbook_id | string | yes | UUID of the playbook |
| system_prompt | string | – | New system prompt |
No output schema declared.
No examples provided.
update_playbook Update playbook ~262
Update this playbook's name, description, visibility, tags, config, singleton persona fields, or always-on project instructions. Replacement fields overwrite previous values. Handle with extreme care. Requires full or playbooks:write permission. Changing persona_system_prompt here overlaps with update_persona and create_persona; use those when only the persona should change. There is no separate get_persona: read the persona via get_playbook. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| config | object | – | Replacement playbook configuration |
| description | string | – | New playbook description |
| instructions | string | – | New always-on project instructions (the AGENTS.md / CLAUDE.md content). Kept separate from the persona: the persona is who the agent is, these are the rules of this project. |
| name | string | – | New playbook name |
| persona_metadata | object | – | New metadata JSON |
| persona_name | string | – | New persona name |
| persona_system_prompt | string | – | New core system instructions |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| tags | array | – | Replacement discovery tags |
| visibility | string | – | New visibility |
No output schema declared.
No examples provided.
update_run Update run ~130
Update a workflow run's name, status, or context. Requires canvas:write or full permission. Use list_runs to find run_id (there is no get_run) and delete_run to remove the run and its canvas artifacts. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| context | object | – | Replacement execution context |
| name | string | – | New run name |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| status | string | – | New run status |
No output schema declared.
No examples provided.
update_skill Update skill ~149
Update an existing skill in this playbook. Requires full or skills:write permission. Use create_skill to add a skill, list_skill_versions before a risky edit, and rollback_skill to restore a previous version. Do not use this to delete a skill. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | New content/instructions |
| description | string | – | New description |
| name | string | – | New name |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| priority | number | – | New priority level |
| skill_id | string | yes | ID or name of the skill to update |
No output schema declared.
No examples provided.
update_task_status Update task status ~145
Update the status of a task node in a hierarchical plan. When all children of a parent are completed, the parent is auto-updated. Returns the current subtree state. Requires memory:write or full permission. Use create_task_graph to build the plan, not this tool. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Task memory key to update |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| result | object | – | Task result data to store in value |
| status | string | yes | New status |
| summary | string | – | Updated summary with results |
No output schema declared.
No examples provided.
use_secret Read through a secret ~357
Send a GET or HEAD request with a secret injected as a header, and return the response. The secret value is never returned to the agent — it is decrypted and used server-side only. Reads the remote API; it cannot change anything there, because only safe methods are accepted. The URL is chosen by the caller, so the target is whichever API the secret belongs to — see that API's own documentation for paths. Requires secrets:read or full permission. Example: use_secret({secret_name: 'OPENAI_API_KEY', url: 'https://api.openai.com/v1/models'}) sends GET with 'Authorization: Bearer <key>'. Use list_secrets to discover names, use_secret_write to send POST/PUT/PATCH/DELETE, and store_secret or rotate_secret to change a stored value. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| extra_headers | object | – | Additional headers (e.g. {"Accept": "application/json"}) |
| header_name | string | – | Header name to inject the secret into (default: Authorization) |
| header_prefix | string | – | Prefix before the secret value (default: 'Bearer '). Use empty string for raw value. |
| method | string | – | HTTP method (default: GET). For POST/PUT/PATCH/DELETE use use_secret_write. |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| secret_name | string | yes | Name of the secret to use (e.g. OPENAI_API_KEY) |
| timeout_ms | number | – | Request timeout in milliseconds (default: 30000, max: 60000) |
| url | string | yes | The URL to send the HTTP request to |
No output schema declared.
No examples provided.
use_secret_write Write through a secret ~335
Send a POST, PUT, PATCH or DELETE request with a secret injected as a header, and return the response. The secret value is never returned to the agent — it is decrypted and used server-side only. This changes state in the remote API and cannot be undone from here. The URL is chosen by the caller, so the target is whichever API the secret belongs to — see that API's own documentation for paths and payloads. Requires secrets:read or full permission. Use use_secret for GET and HEAD, list_secrets to discover names, and store_secret or rotate_secret to change a stored value rather than send a request. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | – | JSON request body (for POST/PUT/PATCH) |
| extra_headers | object | – | Additional headers (e.g. {"Content-Type": "application/json"}) |
| header_name | string | – | Header name to inject the secret into (default: Authorization) |
| header_prefix | string | – | Prefix before the secret value (default: 'Bearer '). Use empty string for raw value. |
| method | string | – | HTTP method (default: POST). For GET/HEAD use use_secret. |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| secret_name | string | yes | Name of the secret to use (e.g. DEPLOY_API_KEY) |
| timeout_ms | number | – | Request timeout in milliseconds (default: 30000, max: 60000) |
| url | string | yes | The URL to send the HTTP request to |
No output schema declared.
No examples provided.
write_canvas Write canvas document ~149
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Full markdown content |
| metadata | object | – | Custom document metadata |
| name | string | yes | Document title |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| run_id | string | yes | Workflow run UUID |
| slug | string | yes | URL-friendly document identifier |
No output schema declared.
No examples provided.
write_memory Write memory ~298
Create or update a memory by key; previous contents are saved automatically and readable with get_memory_history. 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. Pass playbook_id as the UUID or GUID of the playbook this call should target.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Human-readable description |
| is_archived | boolean | – | Hide from normal search; false restores an archived entry |
| key | string | yes | Memory key |
| memory_at | string | – | Memory time including timezone; defaults to save time |
| memory_type | string | – | flat (default) or hierarchical for task graphs |
| metadata | object | – | Graph metadata: dependencies, thread assignment, progress, etc. |
| parent_key | string | – | Parent memory key for hierarchical organization |
| playbook_id | string | yes | UUID or GUID of the target playbook |
| priority | number | – | Priority 1-100 (default: 50) |
| status | string | – | Task status (for hierarchical task tracking) |
| summary | string | – | Compact summary for context views |
| tags | array | – | Tags for categorization |
| tier | string | – | Memory tier (default: contextual) |
| value | – | yes | JSON value to store |
No output schema declared.
No examples provided.
How do I install the AgentPlaybooks MCP server?
AgentPlaybooks is a hosted endpoint at https://agentplaybooks.ai/api/mcp/manage, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · agentplaybooks.ai
claude mcp add --transport http ai-agentplaybooks-agentplaybooks 'https://agentplaybooks.ai/api/mcp/manage'
What is the AgentPlaybooks MCP server?
AgentPlaybooks is an MCP server listed in the public MCP registry as ai.agentplaybooks/agentplaybooks. Vendor-neutral home for portable agents: skills, MCP tools, memory, canvas, and secret proxy. This page covers its hosted endpoint (https://agentplaybooks.ai/api/mcp/manage).
Is the AgentPlaybooks MCP server safe to use?
AgentPlaybooks scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AgentPlaybooks MCP server expose?
AgentPlaybooks exposes 50 tools: list_playbooks, create_playbook, get_playbook, delete_playbook, create_persona, and 45 more. Their descriptions and schemas cost roughly 7,675 tokens of context every time the server is loaded.
Does the AgentPlaybooks MCP server require authentication?
Yes. AgentPlaybooks asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the AgentPlaybooks MCP server still maintained?
AgentPlaybooks is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.