delegation-school
Learn to delegate real work to AI, not just chat with it — a course taught live in your own Claude.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"delegation-school": {
"url": "https://delegation.school/mcp"
}
}
}リモートエンドポイント
https://delegation.school/mcpstreamable-httpできること
ツール一覧
ツール(9)
⚪overview
What delegation.school is, the three tracks, and how to run the course as the learner's tutor. Background reading.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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
}推奨プロンプト
get_lessonget_lessonlist_lessonslist_lessonslist_lessonsget_lessonコミュニティ
エビデンス