eng-leadership-toolkit
Server Details
Engineering leadership benchmarks, 1:1 playbooks, developer value calculator. 3,400+ sessions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- marian-kamenistak/ai-engineering-leader-toolkit
- GitHub Stars
- 1
- Server Listing
- eng-leadership-toolkit
Available Tools
11 toolsassess_team_lead_readinessTeam lead readiness test — should this engineer become a team lead?ARead-onlyIdempotentInspect
Answers "should I become a team lead?" with the same 17-question test as the live tool at marian.coach: 6 dimensions (people appetite, letting go of code, ownership beyond your tickets, translation & saying no, motivation, org reality), a straight verdict — ready now / 6-12 months out / stay IC (and that's fine) — plus the top-2 gap dimensions with one concrete move each. Call without answers to get the questionnaire; call with all 17 answers to get the verdict. Built from 3,611 mentoring sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| answers | No | Answers keyed by question id (q1-q17), each the 0-based index of the chosen option for that question (NOT a rating — option scores are calibrated and non-monotonic). Omit to receive the 17 questions with their options first. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety traits are covered. The description adds valuable behavioral detail: the tool switches between questionnaire and verdict modes based on answers, uses the same test as the live tool, and reports top-2 gap dimensions with concrete moves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient: every sentence contributes purpose, method, output, or usage. The key question and calling modes are front-loaded, and the provenance detail is brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers what the tool does, how to invoke it in both modes, what dimensions are assessed, and what output to expect. Since an output schema exists, return-value details do not need to be spelled out in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds meaningful context by explaining the answer count (all 17), the 0-based indexing implication, and the two calling modes. This goes beyond the schema's basic property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool answers 'should I become a team lead?' using a specific 17-question test and specifies the output categories. It does not explicitly name any sibling tool for differentiation, but the question and outcome are distinct enough for an agent to understand the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: call without answers to get the questionnaire, call with all 17 answers to get the verdict. It does not explicitly discuss when to prefer this tool over siblings, but the invocation modes and intended audience are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_mentoring_business_caseGet your company to pay: ROI math, manager email, one-pagerARead-onlyIdempotentInspect
Build the case that gets your company to pay for leadership mentoring — everything on marian.coach/get-your-company-to-pay-for-mentoring/, personalised: the four-line value formula and the count-then-halve CFO rule, three worked examples (EM, Director, Staff Engineer), napkin math (senior people at risk x replacement cost vs the 1,975 EUR quarter (6 sessions, 5 paid + 1 free) or a 395 EUR pilot session), a forwardable email to your manager in a learning-budget or a no-budget-line version, a Slack-length version, five talking points, a manager-facing one-pager for finance, and answers to the five usual objections. English or Czech, tykani or vykani. Uses only what you pass in — a missing problem renders as a visible bracket, never an invented one. From 3,611 mentoring sessions at marian.coach.
| Name | Required | Description | Default |
|---|---|---|---|
| kpis | No | 1–3 measurable 90-day targets; default = the role's suggestions | |
| lang | No | Output language (default en) | |
| role | Yes | The mentee's role — sets KPI and example-problem suggestions | |
| company | No | Company name, for the invoice line | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| problem | No | The ONE thing to fix in the next 90 days, in the user's words. Never invent it; leave empty to get a visible placeholder | |
| decide_by | No | Decision date, free text (e.g. 'Friday 22 Aug') | |
| formality | No | Czech only: ty (informal, default) or Vy (formal) | |
| situation | No | ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 5 paid + 1 free, 1,975 EUR); no_budget = no budget line (asks for one 395 EUR pilot session first). Default ld_budget | |
| team_size | No | Team size, context for the one-pager (and the legacy team-lift line) | |
| your_name | No | The mentee's first name (signs the email) | |
| alternatives | No | Alternatives already considered | |
| manager_name | No | The manager's first name | |
| avg_salary_eur | No | Legacy: fully-loaded annual cost per engineer in EUR, only with team_size | |
| at_risk_attrition | No | Senior people at risk of leaving (0–5). Drives the napkin math | |
| first_time_in_role | No | First time in this role? Adds the first-time-manager evidence | |
| delayed_revenue_eur | No | Legacy: annual revenue attached to a slipping roadmap item, in EUR |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description adds a strong no-fabrication guarantee: 'Uses only what you pass in — a missing problem renders as a visible bracket, never an invented one.' It also discloses concrete commercial terms (1,975 EUR quarter, 395 EUR pilot) and the language/formality axes, giving accurate expectations about generated output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sprawling sentence with em-dash asides and long enumerations, packing in every deliverable but making the text hard to scan. The core purpose is front-loaded, yet the run-on structure and repeated dashes hurt readability for an agent trying to extract key facts quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter tool with an output schema, the description covers the essential axes: purpose, target audience, deliverables, pricing, language, formality, and the no-invention constraint. Parameter dependencies (e.g., avg_salary_eur only with team_size) are documented in the schema itself, so nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, setting the baseline at 3; the description goes further by mapping content to parameters — pricing corresponds to situation (ld_budget vs no_budget), 'English or Czech, tykani or vykani' to lang/formality, and worked examples (EM, Director, Staff Engineer) to the role enum. It also explains the problem parameter's placeholder behavior, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Build the case that gets your company to pay for leadership mentoring.' The enumerated deliverables (ROI math, manager email, one-pager, talking points) make its scope unmistakable and distinguish it from siblings like estimate_coaching_cost or calculate_developer_value, which produce numbers rather than a persuasive document package.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear — the tool is for persuading the company to fund leadership mentoring, with explicit branches for learning-budget vs no-budget situations that map directly to the situation parameter. It does not, however, name sibling alternatives or state when not to use it, leaving an agent to infer the boundary against tools like estimate_coaching_cost and calculate_engineering_manager_value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_developer_valueDeveloper value & salary calculatorARead-onlyIdempotentInspect
Assess a software developer's market value: score 15 skills across 5 pillars (core craft, systems & judgment, impact & ownership, collaboration & influence, AI leverage), get a weighted total score, seniority level, and a 2026 Western-Europe gross salary estimate. Same logic as the live calculator at marian.coach. Unscored skills default to the level's baseline.
| Name | Required | Description | Default |
|---|---|---|---|
| level | Yes | The developer's current (or claimed) level — sets pillar weights and baseline | |
| scores | No | Optional 0-10 score per skill. Valid keys: discipline-mastery, code-quality, debugging, system-design, tech-decisions, data-performance, shipping-outcomes, production-ownership, domain-expertise, communication, mentoring, cross-functional, ai-output, ai-quality, ai-workflows. Omitted skills use the level baseline (junior 3, mid 5, senior 6, staff 7). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, idempotent operation. The description adds meaningful behavioral context beyond those annotations: the 15 scores are grouped into 5 pillars, there is a weighted total, results include a 2026 regional salary estimate, and unscored skills fall back to the level baseline. It also notes parity with the live marian.coach calculator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences carry the purpose, key behavioral rules, and provenance with no redundancy or filler. The most actionable information—what the tool computes and returns—is front-loaded, and the default-behavior note earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the scoring model, defaults, output types, and regional/timeframe specificity, while an output schema handles return structure details. It is complete enough for an agent to invoke the tool correctly, though explicit sibling differentiation would make it slightly stronger.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters well. The description adds modest value by grouping the 15 skill keys into 5 pillars and restating the baseline default, but it does not substantially explain parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Assess') and resource ('a software developer's market value'), then lists concrete outputs: weighted total score, seniority level, and a 2026 Western-Europe gross salary estimate. This clearly distinguishes it from sibling tools like calculate_engineering_manager_value, which target managers rather than developers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the first sentence: use this when the goal is to assess a developer's market value, seniority, or salary. However, the description gives no explicit guidance on when to choose this tool over siblings such as assess_team_lead_readiness or calculate_engineering_manager_value, and it names no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_engineering_manager_valueEngineering manager value & salary calculatorARead-onlyIdempotentInspect
Assess an engineering leader's market value: score 15 leadership skills across 5 pillars (people & talent, delivery & execution, technical direction, stakeholder influence, AI leverage), weighted by current level, get a total score, a level from Team Lead to Director/VP of Engineering, and a 2026 Western-Europe gross salary estimate. Same logic as the live EM salary calculator at marian.coach. Unscored skills default to the level's baseline.
| Name | Required | Description | Default |
|---|---|---|---|
| level | Yes | The leader's current (or claimed) level — sets pillar weights and baseline (team-lead, em, senior-em, director) | |
| track | No | Optional context: what kind of teams they lead. Framing only — scoring is weighted by level, identically across tracks (same as the live tool) | |
| scores | No | Optional 0-10 score per skill. Valid keys: hiring, coaching, performance, predictable-delivery, quality-ops, process-fit, architecture-judgment, tech-strategy, build-vs-buy, product-partnership, managing-upward, org-influence, ai-team-workflows, ai-product, ai-impact. Omitted skills use the level baseline (team-lead 3, em 5, senior-em 6, director 7). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral detail beyond annotations: scoring is weighted by level, unscored skills default to a level baseline, and the logic matches the live salary calculator at marian.coach.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences front-load the core purpose, then add scoring mechanics, output, provenance, and default behavior without repetition. Every sentence carries useful information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator tool with a rich output schema and strong annotations, the description covers the essential behavior: inputs (scores, level), weighting logic, default handling, and the exact output categories. No critical calling information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description enriches parameter meaning by explaining that skills are grouped across 5 pillars, weighted by current level, and default to a baseline when omitted. This tells the agent how level and scores interact, which the schema alone does not fully convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Assess an engineering leader's market value' and then details what the assessment produces — a total score, a level from Team Lead to Director/VP, and a 2026 salary estimate. This clearly distinguishes it from sibling tools like calculate_developer_value without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the target user ('engineering leader') and the tool's purpose, making the intended context obvious. It does not explicitly name alternatives or exclusion criteria relative to siblings, but the leader/developer distinction is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choose_mentor_coach_or_advisorMentor vs coach vs advisor — which one do you need?ARead-onlyIdempotentInspect
Decide whether an engineering leader needs a mentor, a coach, or an advisor: what each brings, the typical question each answers, whether domain experience is required, time horizon, and a three-question self-test. Based on 3,611 mentoring sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| situation | No | Optional: the leader's situation in one sentence — the three-question test below maps it to a recommendation |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool as read-only, idempotent, and non-destructive, and the description adds substantive context by listing the decision criteria and grounding the tool in '3,611 mentoring sessions.' An agent can tell this is an advisory/decision-support call with no mutation or external side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that leads with the decision verb and then packs the scope into a compact, information-rich list. The 'Based on 3,611 mentoring sessions' clause is short and adds credibility without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, read-only decision tool with a full output schema and detailed parameter descriptions, the description covers the decision, the comparison dimensions, and the self-test mechanism. Nothing essential for selecting or invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both the required context parameter and optional situation parameter already documented in detail, including word-count, privacy, and purpose. The description adds background but does not need to explain parameters; it stays at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific decision task—'Decide whether an engineering leader needs a mentor, a coach, or an advisor'—and enumerates the comparison dimensions. This clearly differentiates it from sibling tools focused on readiness assessment, cost estimation, or playbooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The decision framing and self-test make the use case clear: an engineering leader choosing among mentor, coach, and advisor. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the context is direct rather than merely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_coaching_costCoaching cost estimator — what should a coach cost?ARead-onlyIdempotentInspect
Fair market rate for coaching or mentoring in 2026, by coaching type, client role, coach territory, coach seniority, and engagement length. Returns a per-session range, program total, and red flags (too cheap / brand margin). Anchored to ICF Global Coaching Study 2025, Tandem Coach 2026 credential bands, and CEE market survey data. Same logic as the live calculator at marian.coach.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Engagement length (default single-session) — longer commitments carry a 5-20% per-session discount | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| territory | Yes | Where the coach operates — CEE runs at roughly half of US rates | |
| client_role | Yes | The client's role — the same coach charges a VP more than an EM | |
| coaching_type | Yes | What kind of coaching the client is buying | |
| coach_seniority | Yes | Coach seniority band: certified (ICF ACC level), experienced (PCC, 10+ yrs), top-tier (MCC / C-suite), practitioner-mentor (has held the client's role) |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. The description adds value by specifying the output structure (per-session range, program total, red flags) and grounding it in concrete data sources (ICF 2025, Tandem 2026, CEE survey) and a reference calculator. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no redundancy. The first sentence front-loads the core function and key inputs, the second lists outputs, and the third anchors the tool in data sources and a live reference. Every sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a comprehensive overview of purpose, inputs, outputs, and data basis. An output schema exists, so return-value details are covered elsewhere. The only minor gap is explicit handling of edge cases, but the schema and annotations already provide sufficient context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with detailed descriptions for every parameter, including discount rates and seniority calibration. The tool description only restates the parameter list without adding new semantic content, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific function: estimating the fair market rate for coaching or mentoring, with explicit input dimensions (coaching type, client role, territory, seniority, engagement length) and outputs (per-session range, program total, red flags). It differentiates from sibling tools like calculate_developer_value by focusing on coaching cost rather than developer/engineering value, and no sibling tool overlaps directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for cost estimation but offers no explicit guidance on when to choose this tool over alternatives like build_mentoring_business_case or assess_team_lead_readiness. It does not mention exclusions or alternative conditions, leaving the decision to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_engineering_leadership_benchmarksEngineering leadership benchmarks & mentoring statisticsARead-onlyIdempotentInspect
Real benchmarks from 3,611 paid 1:1 mentoring sessions with 300+ engineering leaders since 2019: mentee seniority mix, most-demanded leadership topics of 2025, time-to-results, team-health delivery thresholds (sprint completion, roadmap %, manager time per report), and practice outcome stats (NPS, referral rate). First-party data, CC BY 4.0 — citable.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Which benchmark set to return (default: all) | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive behavior. The description adds meaningful context by disclosing first-party provenance, sample size, time range, and the CC BY 4.0 license/citability, which is useful for an agent deciding whether and how to reuse the output. It does not describe the return envelope, but the output schema covers the result structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, well-structured sentence front-loads the core value ('Real benchmarks'), then provides statistical grounding, a categorized list of content areas, and a licensing note without wasted words. Every element contributes to understanding what the tool offers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only benchmark lookup with an output schema, the description gives enough detail about the data, provenance, and licensing for an agent to select the tool confidently. The main gaps are the missing usage guidance versus sibling tools and the ambiguous required context parameter, which prevent a perfect completeness score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds some useful color by mapping prose categories to enum values such as team-health-thresholds and practice-stats. However, it never explains the required context parameter, and the schema's context description appears duplicated with the topic description, leaving a meaningful ambiguity that the description does not resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: a benchmark dataset derived from 3,611 paid 1:1 mentoring sessions, with a detailed inventory of the statistics it contains. It distinguishes this tool from sibling assessment and calculator tools, though it lacks an explicit verb such as 'returns' or 'provides' and relies on the tool name and title to convey the retrieval action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when an agent needs real engineering-leadership mentoring benchmarks and statistics. However, it never explicitly states when to choose this tool over siblings like build_mentoring_business_case or assess_team_lead_readiness, and it provides no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_first_time_manager_guidanceFirst-time engineering manager readiness & failure modesARead-onlyIdempotentInspect
Guidance for the IC→manager transition: the EM responsibility triangle (leadership/processes/delivery — pick two), the six most common first-time-manager failure modes, readiness self-check questions, and what the first months should look like. 52% of Marian's 300+ mentees arrive exactly at this transition.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the actual content returned (the specific guidance topics), which goes beyond the annotations. It does not contradict any annotations and provides a reasonable sense of what the tool delivers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose in the first sentence and adding a relevant statistic in the second. There is no redundancy or fluff; every word adds value. It is appropriately concise for a tool with a single parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, read-only, idempotent) and has an output schema that covers the return structure. The description explains the content scope and the target audience. Nothing an agent needs to decide whether to call this tool is missing. The mention of Marian's mentees provides additional context about the tool's provenance, though it is not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'context' parameter, which is fully described in the schema. The description does not add any additional meaning about the parameter, as it focuses on the tool's output rather than its input. Baseline of 3 is appropriate since the schema already documents the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides guidance for the IC→manager transition and enumerates the specific content it contains (responsibility triangle, failure modes, self-check questions, first months). This is a specific verb-resource pairing that distinguishes it from sibling tools like assess_team_lead_readiness, which presumably focus on assessment rather than guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (for first-time managers) but does not explicitly state alternatives or exclusion criteria. It mentions that 52% of mentees arrive at this transition, hinting at a common scenario, but gives no direct guidance on when to use this tool versus siblings like assess_team_lead_readiness or get_one_on_one_playbook. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_more_toolsMore tools? Check here first — also answers a plain hello/liveness pingARead-onlyIdempotentInspect
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 and this returns the full menu instead of a dead end.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | A description of your goal and what kind of tool would help accomplish it, OR a plain greeting/liveness ping like 'hi' or 'test'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds the behavior of returning 'the full menu' and implies non-destructive handling of greetings. It does not contradict annotations and provides context beyond them, though it doesn't detail the menu's format or content. The added value is moderate, justifying a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded with the core purpose and usage. No redundant phrases, no fluff. The first sentence establishes the primary function, and the second covers secondary use cases and the input expectation. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description adequately indicates what the tool returns ('the full menu') and covers all relevant use cases (discovery, greeting, liveness). It also clarifies the condition for using this tool versus siblings, making the decision path complete. No missing information an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the 'context' parameter with 100% coverage, including examples ('hi' or 'test') and its dual use. The tool description does not add new semantic details beyond what the schema provides; it merely repeats the instruction to pass context. Given the high schema coverage, the baseline is 3, and the description does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's dual role: discovering additional tools when needed and handling greetings/liveness checks. It explicitly names the resource ('additional tools') and the action ('Check'), and distinguishes it from specific sibling tools by positioning it as a fallback. The contrast with siblings (e.g., assess_team_lead_readiness) is evident from the 'too general to match' clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'whenever your task might benefit from specialized capabilities' and 'even if existing tools could work as a fallback.' It also names specific scenarios (bare greeting, liveness test, general messages) and states the alternative is a 'dead end,' making it clear this tool is the default when nothing else fits. No exclusions are needed because the scope is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_one_on_one_playbook1:1 playbooks for engineering managersARead-onlyIdempotentInspect
Situation-specific 1:1 scripts and templates from Marian Kamenistak's mentoring practice: first mentoring/direction-setting session, underperformance conversation, promoting a developer to manager, fixing status-update 1:1s, and the 10-question career-move checklist. These are the actual templates used across 3,611 sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| situation | Yes | Which situation: first-session (direction-setting template), underperformance (difficult conversation script), promotion-to-manager (timing signals + transition contract), better-one-on-ones (from status updates to growth), career-move (should-I-leave checklist) |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds provenance ('actual templates used across 3,611 sessions') and content scope, but does not describe any behavioral details such as output format or whether results vary. This is acceptable given the simple read-only nature but does not go beyond the annotations meaningfully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler: the first sentence identifies the core content and enumerates the supported situations, and the second adds a credibility signal. The most important information is front-loaded and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only content retrieval tool with only two parameters, a rich enum schema, and an output schema, the description provides enough context to select and invoke the tool correctly. It names all major scenarios, clarifies the origin of the templates, and the structured fields cover the remaining invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the situation enum already explaining each option and the context parameter providing detailed usage instructions. The description reinforces the situation names but adds little new parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (1:1 scripts and templates) and names the specific situations covered, including first sessions, underperformance, promotion, better 1:1s, and career moves. This makes the tool's purpose immediately identifiable and distinguishes it well from sibling tools like get_first_time_manager_guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool based on the listed situations, but it does not explicitly compare against alternatives or state when not to use it. For example, there is no guidance distinguishing it from get_first_time_manager_guidance or assess_team_lead_readiness, so an agent must infer the appropriate use case from the situation list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_startedStart here — what can this MCP server do?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), lowering the bar. The description adds behavioral context beyond that: the tool returns a full menu of questions mapped to tool names rather than a simple greeting, acting as a router for subsequent calls. No contradiction with annotations; the stated behavior is consistent with read-only, idempotent, non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the first front-loads the trigger conditions, the second states the return value and the follow-on routing behavior. Every clause earns its place; no filler, no repetition of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, idempotent tool with an output schema, the description covers everything an agent needs: when to call it, what it returns (a menu of questions mapped to tool names), and what to do next. Return-value details are handled by the output schema and safety by the annotations, so nothing significant is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, above the 80% threshold, so the baseline of 3 applies even though the tool description says nothing about the context parameter. The schema itself is exceptionally thorough — it explains why the parameter exists, enforces 15-25 words, requires third-person perspective, forbids sensitive data, and provides a worked example — so no compensation from the description is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific call condition and scope: '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.' The phrase 'too general to match a specific tool' clearly differentiates it from the 10 specific sibling tools, so an agent can tell it apart without inspecting the sibling schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit triggers (greeting, liveness test, 'what can you do', general messages) and defines the boundary with 'any message too general to match a specific tool below,' implying specific tools should be used when a message matches one. The second sentence instructs the agent to use the returned mapping so the next call goes straight to the right tool, providing follow-on guidance. It stops short of naming specific sibling alternatives, but the exclusion condition is clear enough for solid navigation of the menu.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Changed
get_more_tools2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / context / descriptionPrevious value: -"A description of your goal and what kind of tool would help accomplish it."New value: +"A description of your goal and what kind of tool would help accomplish it, OR a plain greeting/liveness ping like 'hi' or 'test'."
1 tool update
- Added
get_started
1 tool update
- Changed
build_mentoring_business_case1 field changed- changed
Input schema / properties / situation / descriptionPrevious value: -"ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 2,580 EUR); no_budget = no budget line (asks for one 430 EUR pilot session first). Default ld_budget"New value: +"ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 5 paid + 1 free, 1,975 EUR); no_budget = no budget line (asks for one 395 EUR pilot session first). Default ld_budget"
10 tool updates
- Changed
assess_team_lead_readiness2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
build_mentoring_business_case2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "role" -]New value: +[ + "role", + "context" +]
- Changed
calculate_developer_value2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "level" -]New value: +[ + "level", + "context" +]
- Changed
calculate_engineering_manager_value2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "level" -]New value: +[ + "level", + "context" +]
- Changed
choose_mentor_coach_or_advisor2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
estimate_coaching_cost2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "coaching_type", - "client_role", - "territory", - "coach_seniority" -]New value: +[ + "coaching_type", + "client_role", + "territory", + "coach_seniority", + "context" +]
- Changed
get_engineering_leadership_benchmarks2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
get_first_time_manager_guidance2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Added
get_more_tools - Changed
get_one_on_one_playbook2 fields changed- added
Input schema / properties / contextAdded value: +{ + "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "situation" -]New value: +[ + "situation", + "context" +]
9 tool updates
- Changed
assess_team_lead_readiness9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
build_mentoring_business_case32 fields changed- added
Input schema / properties / alternativesAdded value: +{ + "description": "Alternatives already considered", + "items": { + "enum": [ + "conference", + "course", + "internal_coach" + ], + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / at_risk_attrition / descriptionPrevious value: -"Senior people with a foot out the door (default 0)"New value: +"Senior people at risk of leaving (0–5). Drives the napkin math" - added
Input schema / properties / at_risk_attrition / maximumAdded value: +5 - added
Input schema / properties / at_risk_attrition / minimumAdded value: +0 - changed
Input schema / properties / at_risk_attrition / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / avg_salary_eur / descriptionPrevious value: -"Average fully-loaded annual cost per engineer in EUR (default 100000)"New value: +"Legacy: fully-loaded annual cost per engineer in EUR, only with team_size" - added
Input schema / properties / companyAdded value: +{ + "description": "Company name, for the invoice line", + "maxLength": 120, + "type": "string" +} - added
Input schema / properties / decide_byAdded value: +{ + "description": "Decision date, free text (e.g. 'Friday 22 Aug')", + "maxLength": 60, + "type": "string" +} - changed
Input schema / properties / delayed_revenue_eur / descriptionPrevious value: -"Annual revenue attached to a slipping roadmap item, in EUR (default 0)"New value: +"Legacy: annual revenue attached to a slipping roadmap item, in EUR" - added
Input schema / properties / first_time_in_roleAdded value: +{ + "description": "First time in this role? Adds the first-time-manager evidence", + "type": "boolean" +} - added
Input schema / properties / formalityAdded value: +{ + "description": "Czech only: ty (informal, default) or Vy (formal)", + "enum": [ + "informal", + "formal" + ], + "type": "string" +} - added
Input schema / properties / kpisAdded value: +{ + "description": "1–3 measurable 90-day targets; default = the role's suggestions", + "items": { + "maxLength": 160, + "type": "string" + }, + "maxItems": 3, + "type": "array" +} - added
Input schema / properties / langAdded value: +{ + "description": "Output language (default en)", + "enum": [ + "en", + "cs" + ], + "type": "string" +} - added
Input schema / properties / manager_nameAdded value: +{ + "description": "The manager's first name", + "maxLength": 80, + "type": "string" +} - changed
Input schema / properties / problem / descriptionPrevious value: -"The one problem to fix, e.g. \"delivery predictability at 60%\""New value: +"The ONE thing to fix in the next 90 days, in the user's words. Never invent it; leave empty to get a visible placeholder" - added
Input schema / properties / problem / maxLengthAdded value: +400 - changed
Input schema / properties / role / descriptionPrevious value: -"The mentee's role — sets the suggested KPIs"New value: +"The mentee's role — sets KPI and example-problem suggestions" - added
Input schema / properties / situationAdded value: +{ + "description": "ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 2,580 EUR); no_budget = no budget line (asks for one 430 EUR pilot session first). Default ld_budget", + "enum": [ + "ld_budget", + "no_budget" + ], + "type": "string" +} - changed
Input schema / properties / team_size / descriptionPrevious value: -"Number of engineers in the team/org affected"New value: +"Team size, context for the one-pager (and the legacy team-lift line)" - added
Input schema / properties / team_size / maximumAdded value: +5000 - added
Input schema / properties / team_size / minimumAdded value: +0 - changed
Input schema / properties / team_size / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / your_nameAdded value: +{ + "description": "The mentee's first name (signs the email)", + "maxLength": 80, + "type": "string" +} - added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
calculate_developer_value9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
calculate_engineering_manager_value9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
choose_mentor_coach_or_advisor9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
estimate_coaching_cost9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
get_engineering_leadership_benchmarks9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
get_first_time_manager_guidance9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
- Changed
get_one_on_one_playbook9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded value: +{ + "description": "Sources the case may cite.", + "items": { + "additionalProperties": false, + "properties": { + "claim": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "claim", + "source", + "url" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / mathAdded value: +{ + "additionalProperties": false, + "description": "Napkin math behind the case.", + "properties": { + "askEur": { + "type": "number" + }, + "discountedEur": { + "type": "number" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "packPriceEur": { + "type": "number" + }, + "roiMultiple": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "totalEur": { + "type": "number" + } + }, + "required": [ + "lines", + "totalEur", + "discountedEur", + "askEur", + "packPriceEur", + "roiMultiple", + "note" + ], + "type": "object" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded value: +{ + "additionalProperties": false, + "description": "Manager-facing one-pager, forwardable to finance.", + "properties": { + "sections": { + "items": { + "additionalProperties": false, + "properties": { + "body": { + "type": "string" + }, + "bullets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "table": { + "items": { + "items": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "type": "array" + } + }, + "required": [ + "heading" + ], + "type": "object" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "sections" + ], + "type": "object" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded value: +{ + "additionalProperties": false, + "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.", + "properties": { + "heading": { + "type": "string" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "heading", + "lines", + "rule" + ], + "type": "object" +} - added
Output schema / properties / workedExamplesAdded value: +{ + "description": "Three published worked examples: EM, Director, Staff Engineer.", + "items": { + "additionalProperties": false, + "properties": { + "kpis": { + "type": "string" + }, + "math": { + "type": "string" + }, + "role": { + "type": "string" + }, + "setup": { + "type": "string" + } + }, + "required": [ + "role", + "setup", + "kpis", + "math" + ], + "type": "object" + }, + "type": "array" +}
2 tool updates
- Added
build_mentoring_business_case - Removed
mentoring_business_case
9 tool updates
- Changed
assess_team_lead_readiness1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
calculate_developer_value1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
calculate_engineering_manager_value1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
choose_mentor_coach_or_advisor1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
estimate_coaching_cost1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
get_engineering_leadership_benchmarks1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
get_first_time_manager_guidance1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
get_one_on_one_playbook1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
- Changed
mentoring_business_case1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "level": { + "description": "Seniority level the score maps to, when the tool computes one.", + "type": "string" + }, + "report": { + "description": "The full human-readable report.", + "type": "string" + }, + "salaryEur": { + "description": "Estimated 2026 Western-Europe gross annual salary in EUR.", + "type": "number" + }, + "source": { + "description": "Canonical marian.coach page this answer is derived from.", + "type": "string" + }, + "totalScore": { + "description": "Weighted 0-10 score, when the tool computes one.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "verdict": { + "description": "Headline verdict, when the tool returns one.", + "type": "string" + } + }, + "required": [ + "report", + "source" + ], + "type": "object" +}
1 tool update
- Added
estimate_coaching_cost
2 tool updates
- Added
assess_team_lead_readiness - Added
calculate_engineering_manager_value
1 tool update
- Added
mentoring_business_case
5 tool updates
- First observed
calculate_developer_value - First observed
choose_mentor_coach_or_advisor - First observed
get_engineering_leadership_benchmarks - First observed
get_first_time_manager_guidance - First observed
get_one_on_one_playbook
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Generate answers & visualizations from your engineering data to track software development health.
Your team's shipping standards, org map and delivery metrics, inside your coding agent.
1Leadership-ratio benchmark, partnership ROI builder, community-launch readiness test. ELC data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnect engineering metrics, DORA performance, deploy risk scoring, and PR health to any AI assistant. Score PRs for deployment risk using a 36-signal model, query team health, incidents, coverage, and more.MIT
- AlicenseAqualityAmaintenanceStartup engineering acceleration signals for VC investors. Tracks commit velocity, contributor growth, and repo expansion across 20 sectors via public GitHub data. No API key required.81355MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query Engineering Leaders Community data to evaluate meetup topics, assess speaker readiness, benchmark leadership ratios, assess community launch readiness, build partnership business cases, and price community reach.MIT
- FlicenseNot gradedqualityDmaintenanceEnforces team engineering standards across Git, code review, Rails, frontend, deployment, incidents, observability, API design, database, ADRs, and technical debt, with tools for branch name and commit message validation.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clearly distinct purposes, but get_started and get_more_tools are nearly identical—both handle greetings, liveness tests, and return the full tool menu. This redundancy creates ambiguity about which to call, especially for general queries.
All tool names follow a consistent verb_noun snake_case pattern (assess_team_lead_readiness, calculate_developer_value, get_one_on_one_playbook). The verbs are descriptive and consistent, and there is no mixing of conventions.
11 tools is well within the ideal range for a focused domain. Each tool addresses a distinct aspect of engineering leadership mentoring and coaching, from readiness assessment to cost estimation, without feeling bloated or sparse.
The toolkit covers the full lifecycle of leadership development: assessment (readiness, value), guidance (first-time manager, 1:1 playbook), decision-making (mentor vs coach), cost estimation, business case building, and benchmarking. The only redundancy (get_started/get_more_tools) is not a gap but a duplication, so no missing capabilities are evident.