Retainer: consulting tools
Free tools for consultants: stakeholder maps, rates, capacity, client profitability, follow-ups.
Should I use this
Quality & Safety
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": {
"tools": {
"url": "https://useretainer.com/mcp/"
}
}
}Remote endpoints
https://useretainer.com/mcp/streamable-httpWhat it can do
Tool inventory
Tools (5)
🟢map_stakeholders(title, stakeholders)
Sort stakeholders on a power/interest grid (Mendelow's matrix) into Manage Closely, Keep Satisfied, Keep Informed, and Monitor, with what to do for each group. Returns a link that opens the finished map in Retainer's free stakeholder mapping tool. Scores are relative: what matters is where people sit compared to each other, not the exact number.
Input Schema
{
"type": "object",
"properties": {
"title": {
"description": "Optional map title, e.g. the client or project name.",
"type": "string",
"maxLength": 120
},
"stakeholders": {
"minItems": 1,
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Person's name and/or role, e.g. \"Dana Lee (CFO)\"."
},
"power": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "0-100. Ability to help or block the outcome: budget authority, veto power, organizational influence. 50 or more counts as high."
},
"interest": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "0-100. How much the outcome affects them or how closely they are paying attention. 50 or more counts as high."
},
"note": {
"description": "Optional short note, e.g. what they care about.",
"type": "string",
"maxLength": 200
}
},
"required": [
"name",
"power",
"interest"
]
}
}
},
"required": [
"stakeholders"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢calculate_consulting_rate(target_income, expenses, working_weeks, billable_hours_per_week, margin_percent, ...)
Work out what an independent consultant should charge: minimum and recommended hourly rate, day rate, monthly equivalent, and a suggested monthly retainer or project day rate. Use when someone asks what to charge, how to price a retainer, or whether their rate is too low. Ask for their income goal if you don't know it; the other inputs have sensible defaults. Returns a link that opens Retainer's free rate calculator with these numbers.
Input Schema
{
"type": "object",
"properties": {
"target_income": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Take-home income the consultant wants per year, in dollars."
},
"expenses": {
"default": 12000,
"description": "Yearly business expenses (software, insurance, travel...). Default 12000.",
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"working_weeks": {
"default": 46,
"description": "Weeks worked per year after vacation and holidays. Default 46.",
"type": "number",
"minimum": 1,
"maximum": 52
},
"billable_hours_per_week": {
"default": 25,
"description": "Hours per week actually billed to clients, not total hours worked. Default 25.",
"type": "number",
"minimum": 1,
"maximum": 80
},
"margin_percent": {
"default": 20,
"description": "Profit margin on top of income and expenses, as a percent. Default 20.",
"type": "number",
"minimum": 0,
"maximum": 80
},
"pricing_model": {
"default": "retainer",
"description": "'retainer' for a monthly retainer price, 'project' for a fixed-project day rate.",
"type": "string",
"enum": [
"retainer",
"project"
]
}
},
"required": [
"target_income"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_capacity(committed_hours_per_week, total_hours_per_week, non_billable_hours_per_week, target_utilization_percent)
Check whether an independent consultant has room for another client: available billable hours, current utilization, and whether they are under target, over target, or overcommitted. Use when someone asks if they can take on new work or feels stretched. Returns a link that opens Retainer's free capacity calculator with these numbers.
Input Schema
{
"type": "object",
"properties": {
"committed_hours_per_week": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Client hours per week already committed across all current engagements."
},
"total_hours_per_week": {
"default": 45,
"description": "Total hours the consultant works per week. Default 45.",
"type": "number",
"minimum": 1,
"maximum": 100
},
"non_billable_hours_per_week": {
"default": 15,
"description": "Weekly hours on admin, sales, and business development that nobody pays for. Default 15.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"target_utilization_percent": {
"default": 80,
"description": "Share of billable hours they want filled, leaving a buffer for overruns. Default 80.",
"type": "number",
"minimum": 10,
"maximum": 100
}
},
"required": [
"committed_hours_per_week"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢rank_client_profitability(clients)
Rank a consultant's clients by revenue per hour, with totals and the average, and flag which clients earn below average. Use when someone asks which clients are worth keeping, which to raise prices on, or why they're busy but not earning more. Returns a link that opens Retainer's free client profitability calculator with these clients.
Input Schema
{
"type": "object",
"properties": {
"clients": {
"minItems": 1,
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"client": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Client or engagement name."
},
"monthly_fee": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "What the client pays per month, in dollars."
},
"hours_per_month": {
"type": "number",
"minimum": 0,
"maximum": 10000,
"description": "Hours the client actually takes per month, including calls and email."
}
},
"required": [
"client",
"monthly_fee",
"hours_per_month"
]
}
}
},
"required": [
"clients"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_neglected_relationships(contacts)
Check which clients, past clients, or referral sources a consultant has gone too long without talking to. Sorts contacts by days of silence into healthy (<30 days), cooling (30+), neglected (60+), and urgent (90+), with a suggested next step for each and an overall network health score. Use when someone asks who to follow up with or worries their pipeline is drying up. Returns a link that opens Retainer's free BD neglect detector with these contacts.
Input Schema
{
"type": "object",
"properties": {
"contacts": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Contact name, optionally with company, e.g. \"Sarah Chen (Aldgate Finance)\"."
},
"last_contact": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of the last real conversation, YYYY-MM-DD."
}
},
"required": [
"name",
"last_contact"
]
}
}
},
"required": [
"contacts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence