delegation-school

Learn to delegate real work to AI, not just chat with it — a course taught live in your own Claude.

使うべきか

品質と安全性

A
説明の品質
93%
スキーマの完全性
91%
命名の品質
93%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,245トークン数(ツール定義)
~1000 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.97%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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
}

推奨プロンプト

retrieve_data
Get details about [item] from delegation-school
想定されるツール: get_lesson
fetch_info
Fetch [information type] using delegation-school
想定されるツール: get_lesson
list_items
List all [items] available in delegation-school
想定されるツール: list_lessons
browse_collection
Show me the [collection] from delegation-school
想定されるツール: list_lessons
explore_workflow
List available [items], then get details for each one using delegation-school
想定されるツール: list_lessonsget_lesson

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 9 件
検証済みバージョンは記録されていませんツール 9 件