delegation-school
Learn to delegate real work to AI, not just chat with it — a course taught live in your own Claude.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"delegation-school": {
"url": "https://delegation.school/mcp"
}
}
}Puntos de conexión remotos
https://delegation.school/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
⚪overview
What delegation.school is, the three tracks, and how to run the course as the learner's tutor. Background reading.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}⚪start_session(learner, name, level)
Call FIRST. Place or resume a learner: returns their level, completed lessons, and the recommended next lesson. Ask for the learner's EMAIL ADDRESS and pass it as `learner` — emails are stable and unique; a bare name collides across learners and gets mistyped. Pass their real name as `name` for the certificate.
Esquema de entrada
{
"type": "object",
"properties": {
"learner": {
"type": "string",
"description": "The learner's EMAIL ADDRESS — their stable, unique progress key. Ask for it; do not key off a bare name (names collide across learners and get mistyped)."
},
"name": {
"type": "string",
"description": "Optional: the learner's display name, for the certificate and a friendlier greeting. The email stays the key."
},
"level": {
"type": "string",
"enum": [
"scratch",
"intermediate",
"power"
],
"description": "Optional: set/override their level (scratch | intermediate | power)."
}
},
"required": [
"learner"
],
"additionalProperties": false
}🟢list_lessons(track)
List lessons (slug, title, track, order, summary), optionally filtered to one track.
Esquema de entrada
{
"type": "object",
"properties": {
"track": {
"type": "string",
"enum": [
"scratch",
"intermediate",
"power"
],
"description": "Optional track filter."
}
},
"additionalProperties": false
}🟢get_lesson(slug)
Get the full markdown of one lesson by slug. Teach from it: lead with the why, then run the exercise with the learner's real work.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Lesson slug from list_lessons / start_session."
}
},
"required": [
"slug"
],
"additionalProperties": false
}⚪complete_lesson(learner, slug, passed, reflection)
Record a lesson result for a learner AFTER grading its quiz/assignment. passed:true marks it done and advances; passed:false records the attempt without advancing (reteach). Always include a `reflection` when you have one — it's the signal that improves the course.
Esquema de entrada
{
"type": "object",
"properties": {
"learner": {
"type": "string",
"description": "Same EMAIL address used in start_session."
},
"slug": {
"type": "string",
"description": "The lesson slug just attempted."
},
"passed": {
"type": "boolean",
"description": "Did they pass the quiz/assignment? Default true. false = reteach, don't advance."
},
"reflection": {
"type": "string",
"description": "What confused them, what landed, or what they want next (≤1000 chars). Feeds curriculum improvement."
}
},
"required": [
"learner",
"slug"
],
"additionalProperties": false
}⚪course_stats(admin_key)
OPERATOR / Inspectable State: usage snapshot of the whole course — learner count, level mix, completions, per-lesson pass rates, and recent reflections. Requires admin_key. Answers 'what is the state of the work?' for an operator agent.
Esquema de entrada
{
"type": "object",
"properties": {
"admin_key": {
"type": "string",
"description": "Operator admin key (Worker secret ADMIN_KEY)."
}
},
"required": [
"admin_key"
],
"additionalProperties": false
}⚪verify_ticket(code, admin_key, redeem)
OPERATOR (Capital Factory gift shop): validate a reward code (Golden Ticket GT- or Founding Graduate badge FG-) — returns who earned it, the reward, when, and whether it's been redeemed. Pass redeem:true to mark it redeemed at point of redemption. Requires admin_key.
Esquema de entrada
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The reward code, e.g. GT-AB12CD34 (Station ticket) or FG-AB12CD34 (Founding badge)."
},
"admin_key": {
"type": "string",
"description": "Operator admin key (Worker secret ADMIN_KEY)."
},
"redeem": {
"type": "boolean",
"description": "If true, mark the ticket redeemed now (one-way)."
}
},
"required": [
"code",
"admin_key"
],
"additionalProperties": false
}🟡set_level(learner, level, admin_key)
OPERATOR: reclassify an existing learner's track (scratch | intermediate | power). Routes through the learner's record so the change sticks. Use when a learner was placed wrong — e.g. a scratch enrollee who's really a power operator. Requires admin_key. The learner must have started a session first.
Esquema de entrada
{
"type": "object",
"properties": {
"learner": {
"type": "string",
"description": "The learner's name/email (same key used in start_session)."
},
"level": {
"type": "string",
"enum": [
"scratch",
"intermediate",
"power"
],
"description": "The new level: scratch | intermediate | power."
},
"admin_key": {
"type": "string",
"description": "Operator admin key (Worker secret ADMIN_KEY)."
}
},
"required": [
"learner",
"level",
"admin_key"
],
"additionalProperties": false
}🟡submit_feedback(message, learner, kind, lesson)
Send the course team feedback FOR the learner — what's confusing, a bug, an idea, or praise. No grade, no admin key. Use it the moment a learner is stuck or reacts to something, AND always offer it when a session wraps ('anything confusing, or that you wish it did?'). Routes to the team's Slack + the feedback log so friction becomes a signal instead of a 1:1 text.
Esquema de entrada
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The learner's feedback, in their own words (≤2000 chars)."
},
"learner": {
"type": "string",
"description": "Optional: the learner's name/email so the team can follow up."
},
"kind": {
"type": "string",
"enum": [
"stuck",
"bug",
"idea",
"praise",
"other"
],
"description": "Optional category."
},
"lesson": {
"type": "string",
"description": "Optional: the lesson slug it's about."
}
},
"required": [
"message"
],
"additionalProperties": false
}Prompts recomendados
get_lessonget_lessonlist_lessonslist_lessonslist_lessonsget_lessonComunidad
Evidencia