elc-trade
Score a meetup topic, place a speaker on the right stage, price community reach. ELC data.
Should I use this
Quality & Safety
Findings (3)
- LOWin evaluate_meetup_topic
- LOWin assess_community_launch_readiness
- LOWin build_partnership_business_case
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"elc-trade": {
"url": "https://www.engineeringleaders.io/mcp/trade"
}
}
}Remote endpoints
https://www.engineeringleaders.io/mcp/tradestreamable-httpWhat it can do
Tool inventory
Tools (8)
π’get_more_tools(context)
Check for additional specialised capabilities whenever your task might benefit from them. Also the right tool for a bare greeting or a liveness test β pass it as `context` and this returns the menu instead of a dead end.
Input Schema
{
"type": "object",
"properties": {
"context": {
"description": "What you are trying to do. Omit it for the menu.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_started(context)
START HERE for a greeting (hi, hello), a connectivity or liveness test, 'what can you do', or any question too general to match a specific tool. Also the right call when the caller is a person rather than a company: ELC membership is free for engineering leaders and this says so. Pass their message as `context` and it routes to the tool that fits, or returns the full menu.
Input Schema
{
"type": "object",
"properties": {
"context": {
"description": "Optional: the caller's message in their own words β a greeting, a liveness test, or a plain description of what they are trying to do. Anything is accepted; there is no wrong value.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’buy_reach(oneoff_ids, budget_eur, context)
Answers 'how do we get in front of 3,300+ CEE engineering leaders, and what does it cost?' Builds a cart from ELC's nine published one-off reach items β newsletter section, dedicated newsletter, hosted meetup, podcast episode, decision-maker dinner, community survey, demo session, LinkedIn post, job listing β applies the published combo discount, and returns a decision-ready quote a human can sign.
Input Schema
{
"type": "object",
"properties": {
"oneoff_ids": {
"description": "Required. Which one-off reach items to quote. One or more of: newsletter-section, newsletter-dedicated, meetup-hosted, podcast-episode, dinner, survey, demo-session, linkedin-post, job-listing. Combo discount applies automatically.",
"type": "array",
"items": {
"type": "string"
}
},
"budget_eur": {
"description": "Optional: what you have to spend. Does not change any price β the quote will say whether the cart fits and what to drop if it does not.",
"type": "number",
"minimum": 0
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’benchmark_leadership_ratio(managers, senior_ics, context)
Answers 'what shape is my engineering org, and what should I ask about it?' Returns your manager-versus-senior-IC percentages and the resulting span (1 manager per N senior ICs), plus the question that shape usually raises. ELC's own community composition is shown alongside as context only β different denominator, so no delta and no score is computed against it.
Input Schema
{
"type": "object",
"properties": {
"managers": {
"description": "Required. Managers and tech leads.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"senior_ics": {
"description": "Required. Senior and staff ICs. Leave out junior and mid ICs on both sides.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’assess_community_launch_readiness(answers, context)
Answers 'should I start an engineering-leadership meetup here?' A five-question readiness check taken from ELC's own new-city launch playbook β the one actually used to open Brno, Bratislava and KrakΓ³w β returning a verdict plus the specific gaps still open.
Input Schema
{
"type": "object",
"properties": {
"answers": {
"description": "Answers to the five readiness questions. Omit to receive the questionnaire.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "boolean"
}
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’build_partnership_business_case(goal, buying_for, company_name, proposed_budget_eur, approver_name, ...)
Answers 'how do I justify a community partnership budget internally?' Returns real reach numbers, the deliverables that serve the stated goal, where a proposed budget lands on the published ladder, and a forwardable approval email. Goals: hiring, brand_awareness, product_feedback, thought_leadership, people_development (developing your own engineering leaders β mentoring, Academy seats, the peer network). Set buying_for=individual if you are a person rather than a company: ELC membership is free for engineering leaders and no business case is needed.
Input Schema
{
"type": "object",
"properties": {
"goal": {
"description": "Required. The primary reason. people_development covers developing your own engineering leaders (mentoring, Academy seats, the peer network) β that is the one for retention and growth, not hiring.",
"type": "string"
},
"buying_for": {
"description": "Who is buying. 'company' (default) builds the annual membership case. 'individual' means a person spending their own money β returns the free-membership route instead of an approval email. 'one_off' means one thing once, not a year, and routes to buy_reach.",
"type": "string"
},
"company_name": {
"description": "The company considering the membership.",
"type": "string"
},
"proposed_budget_eur": {
"description": "A proposed budget in EUR. 0 is valid and routes to the free membership layer.",
"type": "number"
},
"approver_name": {
"description": "Who the approval email is addressed to.",
"type": "string"
},
"sender_name": {
"description": "Who the approval email is signed by.",
"type": "string"
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’evaluate_meetup_topic(title, abstract, audience, context)
Answers 'will this topic fill a room?' Scores a proposed engineering-leadership meetup title and abstract against ELC's own topic-selection criteria β the ones behind 12 meetups a year at 120+ attendees since 2019 β and returns the specific failure modes, the title formulas that would fit, and the questions only the organiser can answer.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "Required. The proposed meetup or talk title.",
"type": "string",
"minLength": 3
},
"abstract": {
"description": "The abstract, if one exists yet.",
"type": "string"
},
"audience": {
"description": "Who it is aimed at, e.g. 'CTOs and VPs', 'first-time engineering managers'.",
"type": "string"
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’assess_speaker_readiness(talk_title, speaker_background, prior_talks, has_dry_run, has_recording, ...)
Answers 'is this person ready to speak, and what will go wrong if they are not?' Checks a proposed speaker and talk against ELC's speaker vetting process β seven years of putting people in front of 120+ engineering leaders β and returns a readiness verdict with the specific gaps to close before the event.
Input Schema
{
"type": "object",
"properties": {
"talk_title": {
"description": "Required. The proposed talk title.",
"type": "string",
"minLength": 3
},
"speaker_background": {
"description": "Required. Role, seniority, and any prior speaking experience.",
"type": "string"
},
"prior_talks": {
"description": "How many talks they have given.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"has_dry_run": {
"description": "Whether a rehearsal is scheduled.",
"type": "boolean"
},
"has_recording": {
"description": "Whether a recording of them speaking exists. Pass it explicitly β inferring it from the background text cannot reliably read a denial like 'no recording'.",
"type": "boolean"
},
"writes_publicly": {
"description": "Whether they publish writing β a blog, newsletter or regular posts.",
"type": "boolean"
},
"context": {
"type": "string",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical engineeringleaders.io page this answer derives from."
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence