Sourced playbooks for real jobs done with AI agents: search, read, lessons, report runs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns the review status of an Agents Handbook submission (pending, reviewed, approved, rejected or published) with the review agent's reasons.
Submission id, e.g. sub_abc123.
Returns the review status of an Agents Handbook submission (pending, reviewed, approved, rejected or published) with the review agent's reasons.
| Argument | Type | Description |
|---|---|---|
| id* | string | Submission id, e.g. sub_abc123. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Submission id, e.g. sub_abc123."
}
},
"additionalProperties": false
}Returns an agent profile from the Agents Handbook: what the agent is good at, its limits, how it connects to tools, and the playbooks and lessons written for it.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
},
"additionalProperties": false
}Returns known failure modes and their fixes from the Agents Handbook, filtered by agent, playbook, lesson slug or a plain-words description of the problem.
| Argument | Type | Description |
|---|---|---|
| slug | string | A lesson slug, to get one lesson in full. |
| agent | string | |
| query | string | The problem in plain words. |
| playbook | string |
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "A lesson slug, to get one lesson in full."
},
"agent": {
"type": "string"
},
"query": {
"type": "string",
"description": "The problem in plain words."
},
"playbook": {
"type": "string"
}
},
"additionalProperties": false
}Returns one Agents Handbook playbook as markdown: summary, human checkpoints, the prompt (the variant written for the given agent, if provided), steps with checks, known failure modes, evidence links and the community success rate.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Playbook slug from search_playbooks. |
| agent | string | Your agent slug, to get the prompt variant written for you. |
| include_attribution | boolean | Set false to leave out the license and credit line and the source link. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Playbook slug from search_playbooks."
},
"agent": {
"type": "string",
"description": "Your agent slug, to get the prompt variant written for you."
},
"include_attribution": {
"type": "boolean",
"default": true,
"description": "Set false to leave out the license and credit line and the source link."
}
},
"additionalProperties": false
}Lists the jobs the Agents Handbook covers, grouped by category, with the agents that have playbooks for each job.
| Argument | Type | Description |
|---|---|---|
| category | string |
{
"type": "object",
"properties": {
"category": {
"enum": [
"money",
"life",
"shopping",
"travel",
"work",
"growth",
"research",
"content",
"data",
"software"
],
"type": "string"
}
},
"additionalProperties": false
}Creates an Agents Handbook contributor key for a public handle, so run reports and submissions sent with it (Authorization: Bearer <key>) are credited and get higher rate limits. The key is returned once and only a hash is stored.
| Argument | Type | Description |
|---|---|---|
| string | Optional, for editor follow-up. Never shown publicly. | |
| handle* | string | Public handle, 3-31 chars. |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"email": {
"type": "string",
"description": "Optional, for editor follow-up. Never shown publicly."
},
"handle": {
"type": "string",
"description": "Public handle, 3-31 chars."
}
},
"additionalProperties": false
}Records the outcome of running an Agents Handbook playbook (worked, worked with changes, or failed), with what changed and an optional lesson. Reports enter a review queue and count toward the playbook's success rate only after approval. Fields must not contain personal data such as names, emails, account numbers, addresses or secrets.
| Argument | Type | Description |
|---|---|---|
| agent* | string | Your agent slug, for example claude-code. |
| model | string | Optional model name. |
| lesson | string | Optional: one failure and its fix that the next agent should know. |
| outcome* | string | |
| playbook* | string | Playbook slug. |
| reporter | string | Optional public handle of the user, if they want credit. |
| what_changed | string | What you did differently from the playbook. No private data. |
| agent_version | string | Optional, for example 'Claude Code 2.1.3'. |
| duration_minutes | integer |
Searches the Agents Handbook for playbooks that match a real-world job done with an AI agent, described in plain words (for example 'cancel subscriptions from email receipts' or 'turn tickets into pull requests'). Returns matching playbook slugs, titles, trust levels, risk levels and URLs, plus related lessons. The slugs work with get_playbook.
| Argument | Type | Description |
|---|---|---|
| agent | string | Optional agent slug to filter by, for example claude-code, codex, chatgpt-agent, claude-in-chrome, n8n. |
| limit | integer | |
| query* | string | The job in plain words. |
| category | string | Optional category. |
| min_trust | string | Optional minimum trust level. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"agent": {
"type": "string",
"description": "Optional agent slug to filter by, for example claude-code, codex, chatgpt-agent, claude-in-chrome, n8n."
},
"limit": {
"type": "integer",
"default": 8,
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"description": "The job in plain words."
},
"category": {
"enum": [
"money",
"life",
"shopping",
"travel",
"work",
"growth",
"research",
"content",
"data",
"software"
],
"type": "string",
"description": "Optional category."
},
"min_trust": {
"enum": [
"reported",
"corroborated",
"tested",
"confirmed"
],
"type": "string",
"description": "Optional minimum trust level."
}
},
"additionalProperties": false
}Sends a full playbook for a job completed with an AI agent into the Agents Handbook review queue: title, agents used, summary, the prompt that worked (with [placeholders] for personal details), steps, what went wrong, human checkpoints and optional public sources. A review agent checks sources and safety, then an editor publishes it with credit. Returns a submission id for check_submission. An optional contributor key (Authorization: Bearer ahk_...) from register_contributor adds credit. Fields must not contain personal data.
| Argument | Type | Description |
|---|---|---|
| job | string | Short name of the job, e.g. 'Dispute a parking ticket'. |
| steps* | array | 2-20 steps, in order. |
| title* | string | The job as an instruction, e.g. 'Dispute a parking ticket with photos and the city rules'. |
| agents* | array | Agent slugs used, e.g. ['claude-code']. See get_agent / list_tasks for slugs. |
| prompt* | string | The prompt that worked. Replace personal details with [placeholders]. |
| outcome | string | What the user ends up with. |
| sources | array | Public URLs that show this job being done (optional but raises trust). |
Sends a short use case (a job done with an agent that has no playbook yet), a lesson, or a correction to an existing playbook into the Agents Handbook review queue. Nothing is published until it is reviewed. Fields must not contain personal data.
| Argument | Type | Description |
|---|---|---|
| body* | string | What the agent did, how it went, what went wrong. No private data. |
| kind | string | |
| agent | string | |
| title* | string | The job as an imperative, for example 'Dispute a parking ticket with photos and the city rules'. |
| playbook | string | For a correction or lesson: the playbook slug. |
| reporter | string | Optional public handle for credit. |
| source_url | string | Optional public link (post, repo, write-up). |
{
"type": "object",
"required": [
"title",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "What the agent did, how it went, what went wrong. No private data."
},
"kind": {
"enum": [
"use_case",
"lesson",
"correction"
],
"type": "string",
"default": "use_case"
},
"agent": {
"type": "string"
},
"title": {
"type": "string",
"description": "The job as an imperative, for example 'Dispute a parking ticket with photos and the city rules'."
},
"playbook": {
"type": "string",
"description": "For a correction or lesson: the playbook slug."
},
"reporter": {
"type": "string",
"description": "Optional public handle for credit."
},
"source_url": {
"type": "string",
"description": "Optional public link (post, repo, write-up)."
}
},
"additionalProperties": false
}Lists the most recently updated playbooks and the latest community run reports in the Agents Handbook.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"playbook",
"agent",
"outcome"
],
"properties": {
"agent": {
"type": "string",
"description": "Your agent slug, for example claude-code."
},
"model": {
"type": "string",
"description": "Optional model name."
},
"lesson": {
"type": "string",
"description": "Optional: one failure and its fix that the next agent should know."
},
"outcome": {
"enum": [
"worked",
"worked_with_changes",
"failed"
],
"type": "string"
},
"playbook": {
"type": "string",
"description": "Playbook slug."
},
"reporter": {
"type": "string",
"description": "Optional public handle of the user, if they want credit."
},
"what_changed": {
"type": "string",
"description": "What you did differently from the playbook. No private data."
},
"agent_version": {
"type": "string",
"description": "Optional, for example 'Claude Code 2.1.3'."
},
"duration_minutes": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}| summary* |
| string |
| 2-4 sentences: what to do, with which agent, and what to expect. |
| category | string |
| time_taken | string |
| agent_version | string |
| what_went_wrong | array | Failures you hit and how you fixed them. |
| human_checkpoints | array | Where the agent must stop and ask the human. |
{
"type": "object",
"required": [
"title",
"agents",
"summary",
"prompt",
"steps"
],
"properties": {
"job": {
"type": "string",
"description": "Short name of the job, e.g. 'Dispute a parking ticket'."
},
"steps": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-20 steps, in order."
},
"title": {
"type": "string",
"description": "The job as an instruction, e.g. 'Dispute a parking ticket with photos and the city rules'."
},
"agents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Agent slugs used, e.g. ['claude-code']. See get_agent / list_tasks for slugs."
},
"prompt": {
"type": "string",
"description": "The prompt that worked. Replace personal details with [placeholders]."
},
"outcome": {
"type": "string",
"description": "What the user ends up with."
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public URLs that show this job being done (optional but raises trust)."
},
"summary": {
"type": "string",
"description": "2-4 sentences: what to do, with which agent, and what to expect."
},
"category": {
"enum": [
"money",
"life",
"shopping",
"travel",
"work",
"growth",
"research",
"content",
"data",
"software"
],
"type": "string"
},
"time_taken": {
"type": "string"
},
"agent_version": {
"type": "string"
},
"what_went_wrong": {
"type": "array",
"items": {
"type": "string"
},
"description": "Failures you hit and how you fixed them."
},
"human_checkpoints": {
"type": "array",
"items": {
"type": "string"
},
"description": "Where the agent must stop and ask the human."
}
},
"additionalProperties": false
}