upGrowth Growth Toolkit
in.upgrowth/growth-toolkitupgrowth.instreamable-httpv1.4.0Scanned
29 free read-only growth tools: CAC, ROAS, PPC, schema, meta tags, robots.txt and AI crawler checks.
29 tools: 1 do something that can't be undone, 24 change things and 4 only read.
- Reads private data · 0
- Reads text others write · 1
- Can send data out · 1
- 3 findings
Anlyon alternative
25 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
29 tools
Can't be undone 1Claude Code: ask
mdr_chargesCalculates merchant discount rate (MDR) charges on card or payment gateway sales: the MDR fee, GST on that fee, total cost, effective rate and net settlement.1 finding
Why it is in this group
- The name "mdr_charges" says "charge": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "mdr_charges" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "mdr_charges" says "charge": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Calculates merchant discount rate (MDR) charges on card or payment gateway sales: the MDR fee, GST on that fee, total cost, effective rate and net settlement. Uses the MDR % the user gives; it does not look up provider rates.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 24Claude Code: ask
acos_checkCalculates Amazon advertising cost of sales (ACoS), ROAS, break-even ACoS from margin, profit after ads, and TACoS against total sales.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates Amazon advertising cost of sales (ACoS), ROAS, break-even ACoS from margin, profit after ads, and TACoS against total sales.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ad_budget_plannerEstimates the monthly ad budget needed to reach a target number of new customers from cost per click, landing page conversion rate and lead to customer rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates the monthly ad budget needed to reach a target number of new customers from cost per click, landing page conversion rate and lead to customer rate.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
attrition_rateCalculates employee attrition or customer churn rate for a period from separations and headcount at the start and end, with a simple annualised rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates employee attrition or customer churn rate for a period from separations and headcount at the start and end, with a simple annualised rate.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
book_strategy_callReturns the link to book a free 30-minute growth strategy call with upGrowth.1 finding
Why it is in this group
- The name "book_strategy_call" says "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "book_strategy_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "book_strategy_call" says "call": a word for a change.
Description, as the server wrote it Returns the link to book a free 30-minute growth strategy call with upGrowth. Use only when the user asks to speak with upGrowth.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
break_evenCalculates break-even units and revenue from fixed costs, price and variable cost per unit, the contribution margin, and units needed for a target profit.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates break-even units and revenue from fixed costs, price and variable cost per unit, the contribution margin, and units needed for a target profit.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
campaign_roiCalculates ROI for a marketing campaign or channel (content, email, events, influencer, recruitment marketing) on revenue and on gross profit.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates ROI for a marketing campaign or channel (content, email, events, influencer, recruitment marketing) on revenue and on gross profit.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
customer_lifetime_valueCalculates customer lifetime value for repeat-purchase businesses such as D2C and ecommerce from average order value, purchases per year, lifespan and margin, with optional discoun…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates customer lifetime value for repeat-purchase businesses such as D2C and ecommerce from average order value, purchases per year, lifespan and margin, with optional discounting and LTV to CAC.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ecommerce_metricsCalculates average order value, conversion rate, revenue per visitor and orders per customer, and the sessions needed to hit a revenue target.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates average order value, conversion rate, revenue per visitor and orders per customer, and the sessions needed to hit a revenue target.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
engagement_rateCalculates social media engagement rate for Instagram, YouTube, LinkedIn or any platform from likes, comments, shares and saves, by followers, reach, impressions or views.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates social media engagement rate for Instagram, YouTube, LinkedIn or any platform from likes, comments, shares and saves, by followers, reach, impressions or views.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
growth_projectionProjects a value forward at a compound growth rate per period (exponential growth), shows each period, the doubling time and how long it takes to reach a target.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Projects a value forward at a compound growth rate per period (exponential growth), shows each period, the doubling time and how long it takes to reach a target.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
growth_rateCalculates total growth and compound growth per period between a start and end value, for example month on month, quarter on quarter or year on year (CAGR).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates total growth and compound growth per period between a start and end value, for example month on month, quarter on quarter or year on year (CAGR).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
instagram_earningsEstimates monthly and yearly Instagram brand-deal income from the rates the user charges per post, per story or per 1,000 followers, and the cost per engagement a brand pays.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates monthly and yearly Instagram brand-deal income from the rates the user charges per post, per story or per 1,000 followers, and the cost per engagement a brand pays.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
max_affordable_cacWorks back from customer lifetime value to the most a business can pay to acquire a customer (and, optionally, a lead) while keeping a target LTV to CAC ratio, 3:1 by default.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Works back from customer lifetime value to the most a business can pay to acquire a customer (and, optionally, a lead) while keeping a target LTV to CAC ratio, 3:1 by default.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
meta_tags_builderBuilds the HTML head tags for a page: title, meta description, canonical, Open Graph and Twitter card tags, with character counts and truncation warnings.Can send data outNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Builds the HTML head tags for a page: title, meta description, canonical, Open Graph and Twitter card tags, with character counts and truncation warnings.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
period_changeCalculates the simple percentage change between 2 values, such as year over year (YoY), month over month (MoM), quarter over quarter or week over week, including sales or revenue g…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates the simple percentage change between 2 values, such as year over year (YoY), month over month (MoM), quarter over quarter or week over week, including sales or revenue growth and percentage increase or decrease.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ppc_forecastForecasts a paid search or social budget: clicks, conversions, cost per acquisition, revenue, ROAS, profit after ad spend and break-even CPA, from budget, CPC and conversion rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Forecasts a paid search or social budget: clicks, conversions, cost per acquisition, revenue, ROAS, profit after ad spend and break-even CPA, from budget, CPC and conversion rate.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
roas_checkCalculates return on ad spend from ad revenue and ad spend, and the break-even ROAS implied by gross margin, then says whether the campaign covers its product cost.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates return on ad spend from ad revenue and ad spend, and the break-even ROAS implied by gross margin, then says whether the campaign covers its product cost.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
robots_txt_generatorWrites a robots.txt file that allows or blocks AI crawlers by purpose: model training (GPTBot, ClaudeBot, Google-Extended), AI search (OAI-SearchBot, Claude-SearchBot, PerplexityBo…1 finding
Why it is in this group
- The description's first verb is "write": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "robots_txt_generator" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "write": a word for a change.
Description, as the server wrote it Writes a robots.txt file that allows or blocks AI crawlers by purpose: model training (GPTBot, ClaudeBot, Google-Extended), AI search (OAI-SearchBot, Claude-SearchBot, PerplexityBot) and user-triggered fetches (ChatGPT-User, Claude-User, Perplexity-User), plus paths to keep private and a sitemap. Never blocks Googlebot.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
schema_generatorBuilds valid schema.org JSON-LD for a page: FAQ, local business, organization, article or blog post, product, person or breadcrumb.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Builds valid schema.org JSON-LD for a page: FAQ, local business, organization, article or blog post, product, person or breadcrumb. Checks the properties Google lists as required for that type and returns a ready-to-paste script tag.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
seo_roiEstimates the monthly return on an SEO investment from extra organic visits, conversion rate, value per conversion and monthly SEO cost, plus the break-even traffic gain.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates the monthly return on an SEO investment from extra organic visits, conversion rate, value per conversion and monthly SEO cost, plus the break-even traffic gain.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
unit_economicsCalculates customer acquisition cost (CAC), customer lifetime value (LTV), the LTV to CAC ratio and CAC payback in months from spend, new customers, revenue per customer, gross mar…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Calculates customer acquisition cost (CAC), customer lifetime value (LTV), the LTV to CAC ratio and CAC payback in months from spend, new customers, revenue per customer, gross margin and churn.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
website_ad_revenueEstimates display ad revenue for a website or blog from monthly pageviews and page RPM, or from ad impressions per page, CPM and fill rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates display ad revenue for a website or blog from monthly pageviews and page RPM, or from ad impressions per page, CPM and fill rate.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
youtube_earningsEstimates YouTube ad earnings from monthly views and the RPM from YouTube Studio (or CPM, monetized playback % and the 55% long-form creator share), plus watch hours against the Yo…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimates YouTube ad earnings from monthly views and the RPM from YouTube Studio (or CPM, monetized playback % and the 55% long-form creator share), plus watch hours against the YouTube Partner Program threshold.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 4Show 4 read-only tools
ai_crawler_access_checkReads a website's public robots.txt and llms.txt and reports whether AI crawlers from OpenAI, Anthropic, Perplexity and Google (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Goo…Reads text others writeNo findings
Why it is in this group
- The description's first verb is "read": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "read" and "website": it reads web pages, which anyone can write.
Description, as the server wrote it Reads a website's public robots.txt and llms.txt and reports whether AI crawlers from OpenAI, Anthropic, Perplexity and Google (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended and others) are allowed, restricted or blocked.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
content_seo_checkAnalyses text the user pastes: word, sentence and paragraph counts, reading time, approximate Flesch reading ease, long sentences and paragraphs, headings found, and focus keyword …No findings
Why it is in this group
- The description's first verb is "analyse": a word for reading.
Description, as the server wrote it Analyses text the user pastes: word, sentence and paragraph counts, reading time, approximate Flesch reading ease, long sentences and paragraphs, headings found, and focus keyword count, density and placement. Counts exactly, which assistants often get wrong.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
find_growth_movesReturns documented 2026 growth moves by Indian companies from upGrowth's Growth Moves research (January to September 2026), filtered by sector, company or keyword.No findings
Why it is in this group
- The name "find_growth_moves" says "find": a word for reading.
Description, as the server wrote it Returns documented 2026 growth moves by Indian companies from upGrowth's Growth Moves research (January to September 2026), filtered by sector, company or keyword. Each move includes the leader, date and a link to the original source.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ytd_growthCompares year-to-date totals with the same period last year, from monthly values or YTD totals, and gives a simple full-year run rate.No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compares year-to-date totals with the same period last year, from monthly values or YTD totals, and gives a simple full-year run rate.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write1
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnmdr_charges
The server marks "mdr_charges" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "mdr_charges" says "charge": a word that usually means money moves, which cannot be taken back.
The server marks "robots_txt_generator" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "write": a word for a change.
The server marks "book_strategy_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "book_strategy_call" says "call": a word for a change.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http growth-toolkit https://upgrowth.in/connected-app/mcpclaude mcp add --transport http growth-toolkit https://upgrowth.in/connected-app/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__growth-toolkit__find_growth_moves",
"mcp__growth-toolkit__ai_crawler_access_check",
"mcp__growth-toolkit__content_seo_check",
"mcp__growth-toolkit__ytd_growth"
],
"ask": [
"mcp__growth-toolkit__unit_economics",
"mcp__growth-toolkit__growth_rate",
"mcp__growth-toolkit__roas_check",
"mcp__growth-toolkit__ad_budget_planner",
"mcp__growth-toolkit__max_affordable_cac",
"mcp__growth-toolkit__period_change",
"mcp__growth-toolkit__seo_roi",
"mcp__growth-toolkit__mdr_charges",
"mcp__growth-toolkit__robots_txt_generator",
"mcp__growth-toolkit__schema_generator",
"mcp__growth-toolkit__meta_tags_builder",
"mcp__growth-toolkit__youtube_earnings",
"mcp__growth-toolkit__instagram_earnings",
"mcp__growth-toolkit__engagement_rate",
"mcp__growth-toolkit__website_ad_revenue",
"mcp__growth-toolkit__ppc_forecast",
"mcp__growth-toolkit__customer_lifetime_value",
"mcp__growth-toolkit__ecommerce_metrics",
"mcp__growth-toolkit__growth_projection",
"mcp__growth-toolkit__acos_check",
"mcp__growth-toolkit__share_of_voice",
"mcp__growth-toolkit__break_even",
"mcp__growth-toolkit__campaign_roi",
"mcp__growth-toolkit__attrition_rate",
"mcp__growth-toolkit__book_strategy_call"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as growth-toolkit. Review it before you use it.
Capability tags behind 2 rules
- mcp__growth-toolkit__ai_crawler_access_check untrusted-input
- mcp__growth-toolkit__meta_tags_builder outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/in.upgrowth/growth-toolkit/verify?hash=79c47781545aae5f7c93bc165b1affb26700c9d1ef1673ebe78b4be0233b5531" | jq -e '.changed == false'Pinned hash 79c47781545a, from Oct 29, 2026, 19:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/in.upgrowth/growth-toolkit/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/in.upgrowth/growth-toolkit)Source: MCP Registry. Synced Oct 29, 2026, 19:17 UTC.