Skip to content

io.engineeringleaders/elc-toolkit

by engineeringleaders.io · remote · no sign-in to list tools · v1.0.0 · published by io.engineeringleaders

Leadership-ratio benchmark, partnership ROI builder, community-launch readiness test. ELC data.

Changes · 4

6 tools: 4 change things and 2 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http elc-toolkit https://www.engineeringleaders.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_started" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Changes things 4Claude Code: ask
  • assess_community_launch_readinessAnswers 'should I start an engineering-leadership meetup in my city?' using ELC's own new-city launch playbook (the real doc used to launch Brno, Bratislava and Kraków) as the chec…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Answers 'should I start an engineering-leadership meetup in my city?' using ELC's own new-city launch playbook (the real doc used to launch Brno, Bratislava and Kraków) as the checklist: speaker network, promo channels, a named local operator, realistic first-event targets, and a promo budget. Call without answers to get the 5 questions; call with all 5 to get a verdict plus the specific open gaps.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • build_partnership_business_caseBuilds the internal business case for partnering with Engineering Leaders Community: real reach numbers (3,300+ members, 120+ per meetup, 500+ at the annual conference, newsletter …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Builds the internal business case for partnering with Engineering Leaders Community: real reach numbers (3,300+ members, 120+ per meetup, 500+ at the annual conference, newsletter open rate), the deliverables that actually serve the stated goal, where a proposed budget lands on the published ladder, and a forwardable approval email. States the published price RANGE (free layer to EUR 20,000/year, EUR 32,000 with category exclusivity); for composing and pricing an exact package item by item, use the dedicated Membership Builder MCP server at https://www.engineeringleaders.io/mcp/partnership.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_startedCall this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool below.1 finding

    Why it is in this group

    • The name "get_started" says "get": a word for reading.
    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_started" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Call this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool below. Returns the full menu of real questions this server answers, each mapped to the tool name that answers it, so the next call can go straight to the right tool.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_leadership_career_pathFor an engineering manager, team lead or tech lead asking 'what is my next role?', 'is the engineering manager role dead?', 'should I become a director or go back to IC?', or 'how …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For an engineering manager, team lead or tech lead asking 'what is my next role?', 'is the engineering manager role dead?', 'should I become a director or go back to IC?', or 'how do I stay valuable on the market in the AI era?'. Picks one of three paths from ELC meetup #43: Grow up (Director/Head of, 20+ people), Go deep (Staff/Principal AI engineer) or Go product (product builder), checks the 'dead zone' (10 or fewer people led AND under 2 hands-on hours a week; the tool decides this, report its verdict rather than inferring one), runs the four 2027 checks (product, self-management, AI, beyond engineering) and returns a month-by-month 6-month plan with a proof artifact per month. Call with no arguments to get the 7 questions; ask them one at a time, then call again with all answers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 2Claude Code: allow
  • benchmark_leadership_ratioDescribes a company's manager-vs-senior-IC split — each side's percentage, the resulting span (1 manager per N senior ICs), and the question that shape usually raises.No findings

    Why it is in this group

    • The description's first verb is "describe": a word for reading.
    Description, as the server wrote it
    Describes a company's manager-vs-senior-IC split — each side's percentage, the resulting span (1 manager per N senior ICs), and the question that shape usually raises. Alongside it, for context rather than as a target, ELC's own community composition (69% Manager+/Leadership, 21% Senior/Staff IC across 3,300+ CEE engineering leaders — that is who joins a leadership community, not a survey of org structures, so there is deliberately no score against it). Count the SAME population on both sides: senior people who could plausibly hold a management role (managers, tech leads, senior/staff ICs), leaving out junior/mid ICs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_more_toolsCheck for additional tools whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback.No findings

    Why it is in this group

    • The name "get_more_tools" says "get": a word for reading.
    Description, as the server wrote it
    Check for additional tools whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback. Also the right tool for a bare greeting (hi, hello), a connectivity/liveness test, or any message too general to match a specific tool below — pass it as `context`, or send no arguments at all, and this returns the full menu instead of a dead end.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http elc-toolkit https://www.engineeringleaders.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__elc-toolkit__get_more_tools",
      "mcp__elc-toolkit__benchmark_leadership_ratio"
    ],
    "ask": [
      "mcp__elc-toolkit__get_started",
      "mcp__elc-toolkit__build_partnership_business_case",
      "mcp__elc-toolkit__assess_community_launch_readiness",
      "mcp__elc-toolkit__plan_leadership_career_path"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as elc-toolkit. Review it before you use it.