Koskamo

upGrowth Growth Toolkit MCP

A free, read-only MCP server providing 29 digital marketing and growth tools. It allows AI assistants to calculate unit economics (CAC, LTV, ROAS), forecast PPC budgets, generate SEO metadata (schema, meta tags, robots.txt), check AI crawler access, and estimate creator earnings using user-provided data.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

upGrowth Growth Toolkit MCP logo, by upGrowthVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by upGrowth
MCP endpoint (Streamable HTTP)
https://upgrowth.in/connected-app/mcp
Vendor documentation

What you can do with it

  • Calculate CAC, LTV, and payback periods
  • Forecast PPC budgets and ROAS
  • Generate schema markup and meta tags
  • Check AI crawler access and visibility

Source and maintenance

Vendor evidenceRegistry 1.4.2
Maintenance checked

Protocol and capabilities

Server
upgrowth-growth-toolkit 1.4.2
MCP protocol
2025-06-18
Tools
29 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

upGrowth Growth Toolkit answers growth marketing maths and research questions. Use unit_economics for CAC, LTV, LTV:CAC and payback; growth_rate for period growth, CAGR or compound monthly growth; roas_check for return on ad spend and break-even ROAS; ad_budget_planner to estimate the ad budget needed for a customer target; find_growth_moves for documented 2026 growth moves by Indian companies in fintech, ecommerce, healthtech and SaaS from upGrowth's Growth Moves research, each with a source link; max_affordable_cac for the most a business can pay per customer or lead; period_change for YoY, MoM or simple % change; seo_roi for SEO return and break-even traffic; ai_crawler_access_check to see whether a website blocks AI crawlers in robots.txt; mdr_charges for card or payment gateway MDR, GST on it and net settlement; robots_txt_generator to write a robots.txt that allows or blocks AI crawlers by purpose; schema_generator for JSON-LD schema markup; content_seo_check for word count, keyword density and readability of pasted text; meta_tags_builder for title, description, Open Graph and Twitter tags; youtube_earnings, instagram_earnings, engagement_rate and website_ad_revenue for creator and publisher income; ytd_growth, growth_projection, ppc_forecast, customer_lifetime_value, ecommerce_metrics (AOV, conversion rate), acos_check, share_of_voice, break_even, campaign_roi and attrition_rate for business maths; book_strategy_call when the user asks to talk to upGrowth. All tools are read-only and store nothing; ai_crawler_access_check reads only the public robots.txt and llms.txt of the domain given.

Tools

29 advertised

unit_economics — Unit economics (CAC, LTV, payback)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

unit_economics input schema
{
  "type": "object",
  "required": [
    "acquisition_spend",
    "new_customers",
    "monthly_revenue_per_customer",
    "gross_margin_pct",
    "monthly_churn_pct"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "new_customers": {
      "type": "integer",
      "minimum": 1,
      "description": "New paying customers acquired in the same period."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Gross margin as a percentage, for example 70."
    },
    "acquisition_spend": {
      "type": "number",
      "minimum": 0,
      "description": "Total sales and marketing spend for the period, in currency units."
    },
    "monthly_churn_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of customers lost per month as a percentage, for example 3.",
      "exclusiveMinimum": 0
    },
    "monthly_revenue_per_customer": {
      "type": "number",
      "minimum": 0,
      "description": "Average revenue per customer per month (ARPU), in currency units."
    }
  }
}
unit_economics annotations
{
  "title": "Unit economics (CAC, LTV, payback)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
growth_rate — Growth rate (period, CAGR, CMGR)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

growth_rate input schema
{
  "type": "object",
  "required": [
    "start_value",
    "end_value",
    "periods"
  ],
  "properties": {
    "periods": {
      "type": "number",
      "description": "Number of periods between start and end, for example 12.",
      "exclusiveMinimum": 0
    },
    "end_value": {
      "type": "number",
      "minimum": 0,
      "description": "Value at the end."
    },
    "period_type": {
      "enum": [
        "month",
        "quarter",
        "year"
      ],
      "type": "string",
      "default": "month",
      "description": "Length of 1 period."
    },
    "start_value": {
      "type": "number",
      "description": "Value at the start, for example revenue or users.",
      "exclusiveMinimum": 0
    }
  }
}
growth_rate annotations
{
  "title": "Growth rate (period, CAGR, CMGR)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
roas_check — ROAS and break-even ROAS
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

roas_check input schema
{
  "type": "object",
  "required": [
    "ad_revenue",
    "ad_spend",
    "gross_margin_pct"
  ],
  "properties": {
    "ad_spend": {
      "type": "number",
      "description": "Ad spend for the same period, in currency units.",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "ad_revenue": {
      "type": "number",
      "minimum": 0,
      "description": "Revenue attributed to the ads, in currency units."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Gross margin as a percentage.",
      "exclusiveMinimum": 0
    }
  }
}
roas_check annotations
{
  "title": "ROAS and break-even ROAS",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ad_budget_planner — Ad budget planner
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ad_budget_planner input schema
{
  "type": "object",
  "required": [
    "target_customers",
    "cost_per_click",
    "click_to_lead_pct",
    "lead_to_customer_pct"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "cost_per_click": {
      "type": "number",
      "description": "Expected average cost per click, in currency units.",
      "exclusiveMinimum": 0
    },
    "target_customers": {
      "type": "integer",
      "minimum": 1,
      "description": "New customers wanted per month."
    },
    "click_to_lead_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of clicks that become leads, as a percentage.",
      "exclusiveMinimum": 0
    },
    "lead_to_customer_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of leads that become customers, as a percentage.",
      "exclusiveMinimum": 0
    }
  }
}
ad_budget_planner annotations
{
  "title": "Ad budget planner",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_growth_moves — Find Growth Moves research
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_growth_moves input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 14,
      "minimum": 1,
      "description": "Maximum moves to return."
    },
    "sector": {
      "enum": [
        "fintech",
        "ecommerce",
        "healthtech",
        "saas",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "Sector to search. Use any to search all sectors."
    },
    "company": {
      "type": "string",
      "description": "Optional company name to match, for example Razorpay."
    },
    "keyword": {
      "type": "string",
      "description": "Optional keyword to match in the move description, for example acquisition, UPI or AI agents."
    }
  }
}
find_growth_moves annotations
{
  "title": "Find Growth Moves research",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
max_affordable_cac — Maximum affordable CAC and cost per lead
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

max_affordable_cac input schema
{
  "type": "object",
  "required": [
    "monthly_revenue_per_customer",
    "gross_margin_pct",
    "monthly_churn_pct"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Gross margin as a percentage.",
      "exclusiveMinimum": 0
    },
    "monthly_churn_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of customers lost per month as a percentage.",
      "exclusiveMinimum": 0
    },
    "target_ltv_to_cac": {
      "type": "number",
      "default": 3,
      "description": "Target LTV to CAC ratio, for example 3 for 3:1.",
      "exclusiveMinimum": 0
    },
    "lead_to_customer_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Optional. Share of leads that become customers, to work out the maximum cost per lead.",
      "exclusiveMinimum": 0
    },
    "monthly_revenue_per_customer": {
      "type": "number",
      "description": "Average revenue per customer per month (ARPU), in currency units.",
      "exclusiveMinimum": 0
    }
  }
}
max_affordable_cac annotations
{
  "title": "Maximum affordable CAC and cost per lead",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
period_change — YoY, MoM or % change
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

period_change input schema
{
  "type": "object",
  "required": [
    "previous_value",
    "current_value"
  ],
  "properties": {
    "comparison": {
      "enum": [
        "yoy",
        "mom",
        "qoq",
        "wow",
        "custom"
      ],
      "type": "string",
      "default": "custom",
      "description": "Which comparison this is, used only for labelling."
    },
    "current_value": {
      "type": "number",
      "description": "Value in the later period."
    },
    "previous_value": {
      "type": "number",
      "description": "Value in the earlier period."
    }
  }
}
period_change annotations
{
  "title": "YoY, MoM or % change",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
seo_roi — SEO ROI
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

seo_roi input schema
{
  "type": "object",
  "required": [
    "monthly_organic_visits_gain",
    "conversion_rate_pct",
    "value_per_conversion",
    "monthly_seo_cost"
  ],
  "properties": {
    "months": {
      "type": "number",
      "default": 12,
      "description": "Months to total over.",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Optional gross margin as a percentage. Leave out to measure on revenue.",
      "exclusiveMinimum": 0
    },
    "monthly_seo_cost": {
      "type": "number",
      "description": "Monthly SEO spend, in currency units.",
      "exclusiveMinimum": 0
    },
    "conversion_rate_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of visits that convert, as a percentage.",
      "exclusiveMinimum": 0
    },
    "value_per_conversion": {
      "type": "number",
      "minimum": 0,
      "description": "Average revenue per conversion (order value or deal value), in currency units."
    },
    "monthly_organic_visits_gain": {
      "type": "number",
      "minimum": 0,
      "description": "Extra organic visits per month expected from SEO."
    }
  }
}
seo_roi annotations
{
  "title": "SEO ROI",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ai_crawler_access_check — AI crawler access check
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

ai_crawler_access_check input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public domain to check, for example example.com."
    }
  }
}
ai_crawler_access_check annotations
{
  "title": "AI crawler access check",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
mdr_charges — MDR charges calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

mdr_charges input schema
{
  "type": "object",
  "required": [
    "sales_value",
    "mdr_pct"
  ],
  "properties": {
    "gst_pct": {
      "type": "number",
      "default": 18,
      "maximum": 100,
      "minimum": 0,
      "description": "GST charged on the MDR fee, as a percentage."
    },
    "mdr_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "MDR or TDR charged by the provider, as a percentage, for example 1.8."
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "sales_value": {
      "type": "number",
      "description": "Total value of the transactions, in currency units.",
      "exclusiveMinimum": 0
    },
    "transactions": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional. Number of transactions, needed only with a fixed fee per transaction."
    },
    "fixed_fee_per_transaction": {
      "type": "number",
      "minimum": 0,
      "description": "Optional fixed fee per transaction, in currency units."
    }
  }
}
mdr_charges annotations
{
  "title": "MDR charges calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
robots_txt_generator — robots.txt generator for AI crawlers
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

robots_txt_generator input schema
{
  "type": "object",
  "properties": {
    "ai_search": {
      "enum": [
        "allow",
        "block"
      ],
      "type": "string",
      "default": "allow",
      "description": "Whether AI search crawlers may crawl the site."
    },
    "ai_training": {
      "enum": [
        "allow",
        "block"
      ],
      "type": "string",
      "default": "allow",
      "description": "Whether AI model training crawlers may crawl the site."
    },
    "sitemap_url": {
      "type": "string",
      "description": "Optional full sitemap URL, for example https://example.com/sitemap.xml."
    },
    "ai_user_fetch": {
      "enum": [
        "allow",
        "block"
      ],
      "type": "string",
      "default": "allow",
      "description": "Whether assistants may fetch pages when a user asks about them."
    },
    "disallow_paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "description": "Optional paths to keep out of all crawlers, each starting with /, for example /wp-admin/."
    }
  }
}
robots_txt_generator annotations
{
  "title": "robots.txt generator for AI crawlers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
schema_generator — Schema markup (JSON-LD) generator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 (per Google Search Central structured data docs, developers.google.com/search/docs/appearance/structured-data) and returns a ready-to-paste script tag.

schema_generator input schema
{
  "type": "object",
  "required": [
    "schema_type",
    "data"
  ],
  "properties": {
    "data": {
      "type": "object",
      "description": "Fields for that type. faq: questions [{question, answer}]. local_business: name, business_type (for example Dentist), address {street, locality, region, postal_code, country}, telephone, url, image, price_range, geo {latitude, longitude}, opening_hours [{days: [Monday...], opens: \"09:00\", closes: \"18:00\"}]. organization: name, organization_type, url, logo, description, legal_name, founding_date, email, telephone, same_as [urls], address. article: headline, article_type (Article, BlogPosting or NewsArticle), url, images [urls], date_published, date_modified, authors [{name, url, job_title}], publisher {name, logo}. product: name, description, images, brand, sku, price, currency, availability (InStock, OutOfStock, PreOrder, SoldOut), price_valid_until, rating_value, review_count. person: name, url, job_title, works_for, image, description, same_as. breadcrumb: items [{name, url}]."
    },
    "schema_type": {
      "enum": [
        "faq",
        "local_business",
        "organization",
        "article",
        "product",
        "person",
        "breadcrumb"
      ],
      "type": "string",
      "description": "Which schema to build."
    }
  }
}
schema_generator annotations
{
  "title": "Schema markup (JSON-LD) generator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
content_seo_check — Content SEO check (word count, keyword density, readability)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

content_seo_check input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "The article or page text, plain text, Markdown or HTML. Up to 60,000 characters."
    },
    "keyword": {
      "type": "string",
      "description": "Optional focus keyword or phrase."
    },
    "secondary_keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Optional extra keywords to count."
    }
  }
}
content_seo_check annotations
{
  "title": "Content SEO check (word count, keyword density, readability)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
meta_tags_builder — Meta tags builder (title, description, Open Graph, Twitter card)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Builds the HTML head tags for a page: title, meta description, canonical, Open Graph and Twitter card tags, with character counts and truncation warnings.

meta_tags_builder input schema
{
  "type": "object",
  "required": [
    "title",
    "description",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Canonical page URL."
    },
    "title": {
      "type": "string",
      "description": "Page title."
    },
    "image_url": {
      "type": "string",
      "description": "Optional share image URL."
    },
    "page_type": {
      "enum": [
        "website",
        "article"
      ],
      "type": "string",
      "default": "website",
      "description": "Open Graph type."
    },
    "site_name": {
      "type": "string",
      "description": "Optional site or brand name."
    },
    "description": {
      "type": "string",
      "description": "Meta description."
    },
    "twitter_handle": {
      "type": "string",
      "description": "Optional X (Twitter) handle, for example @upgrowth."
    }
  }
}
meta_tags_builder annotations
{
  "title": "Meta tags builder (title, description, Open Graph, Twitter card)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
youtube_earnings — YouTube earnings and watch hours calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

youtube_earnings input schema
{
  "type": "object",
  "required": [
    "monthly_views"
  ],
  "properties": {
    "cpm": {
      "type": "number",
      "minimum": 0,
      "description": "Ad CPM, in currency units. Needs monetized_playback_pct."
    },
    "rpm": {
      "type": "number",
      "minimum": 0,
      "description": "Revenue per 1,000 views from YouTube Studio, in currency units. Use this or cpm."
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "subscribers": {
      "type": "integer",
      "minimum": 0,
      "description": "Optional subscriber count."
    },
    "monthly_views": {
      "type": "number",
      "description": "Views per month on long-form videos.",
      "exclusiveMinimum": 0
    },
    "monetized_playback_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Share of views that show an ad, as a percentage."
    },
    "avg_view_duration_minutes": {
      "type": "number",
      "minimum": 0,
      "description": "Optional average view duration in minutes, to work out watch hours."
    }
  }
}
youtube_earnings annotations
{
  "title": "YouTube earnings and watch hours calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
instagram_earnings — Instagram creator earnings calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

instagram_earnings input schema
{
  "type": "object",
  "required": [
    "followers",
    "posts_per_month"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "followers": {
      "type": "integer",
      "minimum": 1,
      "description": "Follower count."
    },
    "rate_per_post": {
      "type": "number",
      "minimum": 0,
      "description": "Fee per sponsored post, in currency units. Use this or rate_per_1000_followers."
    },
    "rate_per_story": {
      "type": "number",
      "minimum": 0,
      "description": "Optional fee per story."
    },
    "posts_per_month": {
      "type": "number",
      "minimum": 0,
      "description": "Sponsored posts or reels per month."
    },
    "stories_per_month": {
      "type": "number",
      "minimum": 0,
      "description": "Optional sponsored stories per month."
    },
    "rate_per_1000_followers": {
      "type": "number",
      "minimum": 0,
      "description": "Fee per post per 1,000 followers, in currency units."
    },
    "avg_engagements_per_post": {
      "type": "number",
      "minimum": 0,
      "description": "Optional average likes plus comments plus saves plus shares per post."
    }
  }
}
instagram_earnings annotations
{
  "title": "Instagram creator earnings calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
engagement_rate — Engagement rate calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates social media engagement rate for Instagram, YouTube, LinkedIn or any platform from likes, comments, shares and saves, by followers, reach, impressions or views.

engagement_rate input schema
{
  "type": "object",
  "required": [
    "base_value"
  ],
  "properties": {
    "likes": {
      "type": "number",
      "minimum": 0
    },
    "posts": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Number of posts the totals cover."
    },
    "saves": {
      "type": "number",
      "minimum": 0
    },
    "shares": {
      "type": "number",
      "minimum": 0
    },
    "comments": {
      "type": "number",
      "minimum": 0
    },
    "base_type": {
      "enum": [
        "followers",
        "reach",
        "impressions",
        "views"
      ],
      "type": "string",
      "default": "followers",
      "description": "What to divide by."
    },
    "base_value": {
      "type": "number",
      "description": "Followers, reach, impressions or views.",
      "exclusiveMinimum": 0
    }
  }
}
engagement_rate annotations
{
  "title": "Engagement rate calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
website_ad_revenue — Website ad revenue (AdSense) calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

website_ad_revenue input schema
{
  "type": "object",
  "required": [
    "monthly_pageviews"
  ],
  "properties": {
    "cpm": {
      "type": "number",
      "minimum": 0,
      "description": "Earnings per 1,000 ad impressions, in currency units."
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "page_rpm": {
      "type": "number",
      "minimum": 0,
      "description": "Earnings per 1,000 pageviews (from AdSense reports), in currency units. Use this or cpm."
    },
    "ads_per_page": {
      "type": "number",
      "minimum": 0,
      "description": "Ad units per page, used with cpm."
    },
    "fill_rate_pct": {
      "type": "number",
      "default": 100,
      "maximum": 100,
      "minimum": 0,
      "description": "Share of ad requests filled."
    },
    "monthly_pageviews": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  }
}
website_ad_revenue annotations
{
  "title": "Website ad revenue (AdSense) calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ytd_growth — Year-to-date (YTD) growth calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ytd_growth input schema
{
  "type": "object",
  "properties": {
    "last_ytd_total": {
      "type": "number",
      "description": "Alternative: last year's total for the same period."
    },
    "months_elapsed": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "Months covered, needed with totals for the run rate."
    },
    "this_ytd_total": {
      "type": "number",
      "description": "Alternative: this year's YTD total."
    },
    "last_year_monthly": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "maxItems": 12,
      "description": "Last year's values for the same months."
    },
    "this_year_monthly": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "maxItems": 12,
      "description": "This year's values by month so far, January first (or first month of the financial year)."
    }
  }
}
ytd_growth annotations
{
  "title": "Year-to-date (YTD) growth calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ppc_forecast — PPC and Google Ads forecast
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

ppc_forecast input schema
{
  "type": "object",
  "required": [
    "monthly_budget",
    "cost_per_click",
    "conversion_rate_pct"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "cost_per_click": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "monthly_budget": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Optional gross margin for profit and break-even CPA.",
      "exclusiveMinimum": 0
    },
    "conversion_rate_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Share of clicks that convert.",
      "exclusiveMinimum": 0
    },
    "value_per_conversion": {
      "type": "number",
      "minimum": 0,
      "description": "Optional revenue per conversion."
    }
  }
}
ppc_forecast annotations
{
  "title": "PPC and Google Ads forecast",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
customer_lifetime_value — Customer lifetime value (repeat purchase)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

customer_lifetime_value input schema
{
  "type": "object",
  "required": [
    "average_order_value",
    "purchases_per_year",
    "customer_lifespan_years",
    "gross_margin_pct"
  ],
  "properties": {
    "cac": {
      "type": "number",
      "description": "Optional customer acquisition cost.",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "exclusiveMinimum": 0
    },
    "purchases_per_year": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "average_order_value": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "customer_lifespan_years": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "annual_discount_rate_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Optional, to discount future years."
    }
  }
}
customer_lifetime_value annotations
{
  "title": "Customer lifetime value (repeat purchase)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ecommerce_metrics — Ecommerce metrics (AOV, conversion rate, revenue per visitor)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates average order value, conversion rate, revenue per visitor and orders per customer, and the sessions needed to hit a revenue target.

ecommerce_metrics input schema
{
  "type": "object",
  "required": [
    "revenue",
    "orders"
  ],
  "properties": {
    "orders": {
      "type": "integer",
      "minimum": 1
    },
    "revenue": {
      "type": "number",
      "minimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "sessions": {
      "type": "number",
      "description": "Optional sessions or visitors in the same period.",
      "exclusiveMinimum": 0
    },
    "customers": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional unique customers."
    },
    "target_revenue": {
      "type": "number",
      "description": "Optional revenue goal for the same period length.",
      "exclusiveMinimum": 0
    }
  }
}
ecommerce_metrics annotations
{
  "title": "Ecommerce metrics (AOV, conversion rate, revenue per visitor)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
growth_projection — Growth and revenue projection
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

growth_projection input schema
{
  "type": "object",
  "required": [
    "start_value",
    "growth_rate_pct",
    "periods"
  ],
  "properties": {
    "periods": {
      "type": "integer",
      "maximum": 120,
      "minimum": 1
    },
    "period_type": {
      "enum": [
        "month",
        "quarter",
        "year"
      ],
      "type": "string",
      "default": "month"
    },
    "start_value": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "target_value": {
      "type": "number",
      "description": "Optional target to reach.",
      "exclusiveMinimum": 0
    },
    "growth_rate_pct": {
      "type": "number",
      "description": "Growth per period as a percentage; negative for decline.",
      "exclusiveMinimum": -100
    }
  }
}
growth_projection annotations
{
  "title": "Growth and revenue projection",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
acos_check — Amazon ACoS, TACoS and break-even ACoS
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates Amazon advertising cost of sales (ACoS), ROAS, break-even ACoS from margin, profit after ads, and TACoS against total sales.

acos_check input schema
{
  "type": "object",
  "required": [
    "ad_spend",
    "ad_sales"
  ],
  "properties": {
    "ad_sales": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ad_spend": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "total_sales": {
      "type": "number",
      "description": "Optional total sales including organic, for TACoS.",
      "exclusiveMinimum": 0
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Optional margin before ad costs.",
      "exclusiveMinimum": 0
    }
  }
}
acos_check annotations
{
  "title": "Amazon ACoS, TACoS and break-even ACoS",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
share_of_voice — Share of voice calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates share of voice for a brand against competitors on any metric: AI assistant citations or mentions, search impressions, ad impressions, social mentions or press coverage.

share_of_voice input schema
{
  "type": "object",
  "required": [
    "brand_name",
    "brand_value",
    "competitors"
  ],
  "properties": {
    "metric": {
      "type": "string",
      "description": "What was counted, for example ChatGPT citations or impressions."
    },
    "brand_name": {
      "type": "string"
    },
    "brand_value": {
      "type": "number",
      "minimum": 0
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "number",
            "minimum": 0
          }
        }
      },
      "maxItems": 20
    }
  }
}
share_of_voice annotations
{
  "title": "Share of voice calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
break_even — Break-even calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

break_even input schema
{
  "type": "object",
  "required": [
    "fixed_costs",
    "price_per_unit",
    "variable_cost_per_unit"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "fixed_costs": {
      "type": "number",
      "minimum": 0
    },
    "target_profit": {
      "type": "number",
      "minimum": 0,
      "description": "Optional profit goal."
    },
    "price_per_unit": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "variable_cost_per_unit": {
      "type": "number",
      "minimum": 0
    }
  }
}
break_even annotations
{
  "title": "Break-even calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
campaign_roi — Marketing campaign ROI
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates ROI for a marketing campaign or channel (content, email, events, influencer, recruitment marketing) on revenue and on gross profit.

campaign_roi input schema
{
  "type": "object",
  "required": [
    "cost",
    "attributed_revenue"
  ],
  "properties": {
    "cost": {
      "type": "number",
      "description": "Total campaign cost.",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "default": "INR",
      "description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR."
    },
    "campaign_name": {
      "type": "string",
      "description": "Optional label."
    },
    "gross_margin_pct": {
      "type": "number",
      "maximum": 100,
      "description": "Optional margin for profit-based ROI.",
      "exclusiveMinimum": 0
    },
    "attributed_revenue": {
      "type": "number",
      "minimum": 0
    }
  }
}
campaign_roi annotations
{
  "title": "Marketing campaign ROI",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
attrition_rate — Attrition and churn rate calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculates employee attrition or customer churn rate for a period from separations and headcount at the start and end, with a simple annualised rate.

attrition_rate input schema
{
  "type": "object",
  "required": [
    "separations",
    "headcount_start",
    "headcount_end"
  ],
  "properties": {
    "separations": {
      "type": "number",
      "minimum": 0,
      "description": "People or customers who left in the period."
    },
    "headcount_end": {
      "type": "number",
      "minimum": 0
    },
    "period_months": {
      "type": "number",
      "default": 1,
      "maximum": 12,
      "exclusiveMinimum": 0
    },
    "headcount_start": {
      "type": "number",
      "minimum": 0
    }
  }
}
attrition_rate annotations
{
  "title": "Attrition and churn rate calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
book_strategy_call — Book a strategy call with upGrowth
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns the link to book a free 30-minute growth strategy call with upGrowth. Use only when the user asks to speak with upGrowth.

book_strategy_call input schema
{
  "type": "object",
  "properties": {}
}
book_strategy_call annotations
{
  "title": "Book a strategy call with upGrowth",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
253 ms
95th percentile latency
253 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 253 ms · metadata changed · 29 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http upgrowth-growth-toolkit-mcp https://upgrowth.in/connected-app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add upgrowth-growth-toolkit-mcp --url https://upgrowth.in/connected-app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable upgrowth-growth-toolkit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "upgrowth-growth-toolkit-mcp": {
      "url": "https://upgrowth.in/connected-app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "upgrowth-growth-toolkit-mcp": {
      "type": "streamableHttp",
      "url": "https://upgrowth.in/connected-app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start upgrowth-growth-toolkit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "upgrowth-growth-toolkit-mcp": {
      "type": "http",
      "url": "https://upgrowth.in/connected-app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http upgrowth-growth-toolkit-mcp https://upgrowth.in/connected-app/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "upgrowth-growth-toolkit-mcp": {
      "url": "https://upgrowth.in/connected-app/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "upgrowth-growth-toolkit-mcp": {
      "serverUrl": "https://upgrowth.in/connected-app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like upGrowth Growth Toolkit MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run upGrowth Growth Toolkit MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing