Verified conversions across 205 color spaces: CSS strings, gamut checks, .cube LUTs
GO AI Tools is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
31 no-AI tools: image conversion and EXIF stripping, App Store assets, colour maths. No API key.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http go-ai-tools-mcp https://goaichat.app/mcp-tools/mcp
# 2 — ask your agent for something these tools do
# estimate_ai_tokens, generate_app_icon_set, build_app_store_link and 28 more
GO AI Tools costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http go-ai-tools-mcp https://goaichat.app/mcp-tools/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
31 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Heuristic estimate (NOT a real per-model BPE tokenizer) of how many tokens a piece of text will become, ported from GO AI's browser-side token counter. Blends a chars/4 and words/0.75 baseline with surcharges for punctuation, digits and non-Latin script; typically within ±10-15% for ordinary English prose and ±15-25% when non-Latin script is detected -- code and heavily punctuated text tend to tok
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | The text to estimate, up to 1000000 characters (roughly 250K tokens). An empty string is valid and yields 0 tokens. |
| inputPricePerMillionUsd | number | no | USD price per 1,000,000 input tokens, from the provider's current pricing page. Omit to skip input cost -- no default is assumed, since a stale hardcoded price would be worse than none. |
| outputPricePerMillionUsd | number | no | USD price per 1,000,000 output tokens. Omit to skip output cost. |
| expectedOutputTokens | number | no | Assumed reply length in tokens, used only to estimate output cost. Defaults to 500. |
| calls | number | no | Number of times this input/output pair will be sent, to scale total cost. Defaults to 1; values below 1 are treated as 1. |
| contextWindows | array | no | Custom context windows to check fit against, e.g. [{"name":"my-model","sizeTokens":32000}]. Omit to use the site default set (8K, 128K, 200K, 1M, 2M). |
Turns one source image into a ZIP containing a complete iOS Xcode AppIcon.appiconset (AppIcon.png at 1024x1024, plus a hand-written Contents.json Xcode accepts, and optionally AppIcon-Dark.png and AppIcon-Tinted.png for the appearance variants modern iOS asks for), a full Android mipmap-mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi set of ic_launcher.png files (48/72/96/144/192px), and a flat sizes/ folder with
| Parameter | Type | Required | Notes |
|---|---|---|---|
| imageBase64 | string | yes | Base64-encoded source image bytes (PNG, JPEG, or WebP). 1024x1024 is ideal; anything else is padded to square and/or scaled. |
| variants | string | no | Which iOS appearance variants to include alongside the required light AppIcon.png. 'none': light only. 'dark': light + AppIcon-Dark.png. 'all': light + AppIcon-Dark.png + AppIcon-Tinted.png. Contents. |
| backgroundColor | string | no | CSS/hex colour (e.g. "#ffffff") used to flatten transparency and to pad a non-square source before it is centered onto a square canvas. |
Builds a correct apps.apple.com URL for an app ID or a pasted App Store URL, in a chosen two-letter storefront, with optional App Store Connect campaign attribution parameters (pt, ct, and mt=8). Always returns the assembled URL and a params table describing what each part does. When includeQr is true, also renders the URL as a QR code PNG using the same hand-rolled, dependency-free Reed-Solomon b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| appIdOrUrl | string | yes | Numeric App Store app ID (e.g. "6478912345"), or a full pasted App Store URL containing one (e.g. "https://apps.apple.com/us/app/x/id6478912345"). The id is extracted from anywhere in a URL; a bare va |
| store | string | yes | 2-letter App Store storefront code (e.g. "us", "gb", "jp"). Decides which country's listing, price, and availability the link opens. |
| pt | string | no | Provider token (pt) for App Store Connect campaign attribution, up to 256 characters. Trimmed; omitted from the URL entirely if empty after trimming. |
| ct | string | no | Campaign token (ct) for App Store Connect campaign attribution, up to 256 characters. Trimmed; omitted from the URL entirely if empty after trimming. |
| mt | boolean | no | Append mt=8 (media type: software), marking the link as pointing at an app. Defaults to true, matching the source page's checkbox (checked by default). |
| includeQr | boolean | no | Also render the URL as a QR code PNG and return it as image bytes. Defaults to false (URL + params only). |
Computes what a developer actually receives from an App Store sale: first removes the storefront's VAT/GST already baked into the customer-facing sticker price, then applies Apple's commission (standard 30%, Small Business Program 15%, or the post-year-one subscription 15%) to that tax-exclusive remainder -- NOT to the sticker price itself, which is the mistake most naive calculators make. Returns
| Parameter | Type | Required | Notes |
|---|---|---|---|
| price | number | yes | The customer-facing sticker price for this storefront (already tax-inclusive everywhere except the US). |
| countryCode | string | no | Two-letter App Store storefront code (e.g. us, gb, de, jp, in). Selects the default tax rate and currency symbol. Defaults to gb, matching the tool page. |
| taxRatePercent | number | no | Override the storefront's default tax rate baked into the price, as a percent (e.g. 20 for 20% VAT). Defaults to the selected countryCode's standard rate (0 for the US). Some storefronts' real rates v |
| commissionScenario | string | no | Which Apple commission rate applies to the tax-exclusive remainder: 'standard30' (30%, the default for most apps), 'small15' (15%, Apple's Small Business Program for developers under the program's pro |
Searches one Apple App Store country storefront by term, via Apple's public iTunes Search API (the same request the GO AI "App Store storefront checker" tool makes from the browser), and returns matching apps with title, seller, price, rating and a direct App Store link. Returns up to 200 results, Apple's own per-request maximum -- a result of exactly 200 likely means more exist. Results are order
| Parameter | Type | Required | Notes |
|---|---|---|---|
| term | string | yes | Search phrase, up to 200 characters. Sent verbatim to Apple's Search API as the query term. |
| country | string | no | 2-letter App Store storefront code, e.g. "US", "GB", "JP". Defaults to "US". |
| entity | string | no | App type: "software" (iPhone), "iPadSoftware" (iPad), or "macSoftware" (Mac). |
Looks up one app (by numeric App Store id, or a pasted apps.apple.com URL) in up to 30 App Store storefronts in a single call, via Apple's public iTunes Lookup API, and reports per-market availability, localized title, price and rating. Capped at 30 storefronts per call by design -- there are 173 total App Store storefronts, and this deliberately never sweeps all of them in one call; call again wi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| appIdOrUrl | string | yes | Numeric App Store id (e.g. "6742322421") or a full apps.apple.com URL containing one. |
| storefronts | array | no | Up to 30 2-letter storefront codes (e.g. ["US","GB","JP"]) after de-duplication. Omit to use the same 30 major markets the source tool defaults to. |
Computes BMI (with its standard weight-category label) and body fat percentage via the US Navy circumference method from height, weight, neck, waist, and (for females) hip measurements, plus the resulting lean body mass. The Navy equations are fitted in inches, so metric inputs are converted internally; the body-fat percentage is clamped to 2-75% and rounded to a whole number, matching GO AI's bod
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sex | string | yes | Sex, which selects the Navy formula variant. |
| units | string | no | metric = cm/kg, imperial = inches/lb. Applies to every measurement below. |
| height | number | yes | Height, in cm (metric) or inches (imperial). |
| weight | number | yes | Weight, in kg (metric) or lb (imperial). Used for BMI and lean mass, not for the body-fat percentage itself. |
| neck | number | yes | Neck circumference, just below the larynx, in cm or inches. |
| waist | number | yes | Waist circumference (at the navel for men, at the narrowest point for women), in cm or inches. |
| hip | number | no | Hip circumference at the widest point, in cm or inches. Required when sex is 'female'; ignored for 'male'. |
Resolves a musical tempo — either a direct BPM, or a set of tap timestamps/intervals run through the same median-filtered outlier rejection and 2-second session-reset logic as GO AI's tap-tempo tool — then returns the full straight/dotted/triplet delay and LFO-rate table (ms and Hz) for a set of note divisions, plus bar-length and bars<->seconds conversion for a time signature. All arithmetic (not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bpm | number | no | Tempo in beats per minute, used directly and unrounded. Provide exactly one of bpm, tapTimesMs, or tapIntervalsMs. |
| tapTimesMs | array | no | Strictly increasing millisecond timestamps of taps (e.g. from a high-resolution clock), in tap order, up to 4096. Provide exactly one of bpm, tapTimesMs, or tapIntervalsMs. |
| tapIntervalsMs | array | no | Milliseconds between each tap and the one before it (one fewer entry than the number of taps), up to 4096. Provide exactly one of bpm, tapTimesMs, or tapIntervalsMs. |
| timeSignature | no | One of "4/4","3/4","2/4","6/8","5/4","7/8","12/8" (the site's presets), or a custom {beats, unit} pair. Defaults to 4/4. Uses the written beat count — 6/8 is 6 beats of an eighth-note unit, not 2 dott | |
| bars | number | no | Number of bars to convert to seconds. At most one of bars/seconds is used if both are given (bars takes priority). |
| seconds | number | no | Number of seconds to convert to bars. Ignored if bars is also given. |
| divisions | array | no | Note divisions (denominator of 1/d) to include in the delay table, up to 64. Defaults to [1,2,4,8,16,32]. |
Generates a CSS clamp() declaration (in rem) that linearly interpolates a size between a value at a small viewport width and a value at a large one, exactly matching GO AI's clamp() calculator tool (same slope/intercept math, rounded to 4 decimal places). Returns a status: 'sameViewports' when the two viewport widths are equal (no line can be drawn -- css is null), 'flat' when the min and max size
| Parameter | Type | Required | Notes |
|---|---|---|---|
| minSizePx | number | yes | Size in px at the small viewport. |
| minViewportPx | number | yes | The small viewport width in px. |
| maxSizePx | number | yes | Size in px at the large viewport. |
| maxViewportPx | number | yes | The large viewport width in px. |
| rootFontSizePx | number | no | Root font size in px used to convert the px sizes to rem. Defaults to 16; a value of 0 also falls back to 16. |
| previewViewportsPx | array | no | Optional list of viewport widths (px), up to 64, to evaluate the resulting clamp() at, returned as computed pixel sizes. |
| typeScale | object | no | Optional: when provided, also returns a fluid type scale of this many steps, each step scaling both endpoints by ratio^step. |
Downscales an image to fit within a maximum dimension (default 1600px on the longer side, never enlarges -- matching GO AI's browser compressor tool) and re-encodes it as JPEG, WebP or AVIF at a given quality (1-100 scale, default 75). Input is base64-encoded image bytes (any format sharp/libvips can decode: JPEG, PNG, WebP, AVIF, GIF, TIFF, ...), not a file path or URL, capped at this server's in
| Parameter | Type | Required | Notes |
|---|---|---|---|
| imageBase64 | string | yes | Base64-encoded source image bytes (not a file path or URL). |
| format | string | no | Output format. 'webp' (default, matches the source's own default whenever WebP is available) is smaller than JPEG at equivalent visual quality; 'jpeg' is the safest choice for old viewers or print; 'a |
| quality | integer | no | Encoder quality, 5-100 (matches the source's slider range). Defaults to 75. 100 is the least-lossy setting the encoder offers, not truly lossless. |
| maxDimension | integer | no | Longer-side cap in pixels before encoding; the image is downscaled to fit inside this (aspect preserved) and is never enlarged. Defaults to 1600, matching the source. |
Analysis-only tool (no image bytes returned): re-encodes an image at the same fixed 14 quality levels GO AI's browser compressor samples to draw its size-against-quality curve (5, 10, ..., through 100 -- see the qualities in each returned point), for JPEG, WebP or AVIF, and reports the resulting byte size and percent change at each level. The image is first downscaled to fit within maxDimension (d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| imageBase64 | string | yes | Base64-encoded source image bytes (not a file path or URL). |
| format | string | no | Format to sample the curve in. Defaults to 'webp', matching the source's own default. |
| maxDimension | integer | no | Longer-side cap in pixels before encoding, aspect preserved, never enlarged. Defaults to 1600, matching the source. Capped at 2000 here (vs 4000 for image_compress) because this tool runs the encode 1 |
Computes the WCAG 2.x contrast ratio between a foreground (text) and background hex colour, and reports AA/AAA pass or fail for normal text, large text, and UI components (icons/borders/focus rings) separately, since WCAG grades each case on its own threshold. Also reports the newer APCA Lc figure alongside it for information -- APCA is not yet what conformance is measured against, only the WCAG r
| Parameter | Type | Required | Notes |
|---|---|---|---|
| foreground | string | yes | Foreground/text colour as a hex string, e.g. "#6b7280" or "6b7" (3- or 6-digit, leading # optional). |
| background | string | yes | Background colour as a hex string, same format as foreground. |
Given a foreground/background hex pair, moves only the lightness of one side (hue and saturation held fixed) in the smallest step that clears a target WCAG contrast ratio, so a failing brand colour can be fixed without draining its hue. Defaults to the 4.5:1 normal-text AA threshold, matching the source page's fix buttons; pass a named threshold ('normal-aa', 'normal-aaa', 'large-aa', 'large-aaa',
| Parameter | Type | Required | Notes |
|---|---|---|---|
| foreground | string | yes | Foreground/text colour as a hex string, e.g. "#6b7280" (3- or 6-digit, leading # optional). |
| background | string | yes | Background colour as a hex string, same format as foreground. |
| adjust | string | yes | Which colour to move toward passing; the other one stays fixed. |
| target | no | WCAG threshold to clear: 'normal-aa' 4.5:1 (default, matches the page's buttons), 'normal-aaa' 7:1, 'large-aa'/'ui-aa' 3:1, 'large-aaa' 4.5:1, or any custom positive ratio. |
Reads a JPEG or PNG's hidden metadata (JPEG: EXIF — camera make/model, lens, body/lens serial numbers, capture date, GPS coordinates and altitude — plus XMP, IPTC/Photoshop resources and comment segments; PNG: tEXt/iTXt/zTXt/eXIf/tIME chunks) and returns a structured report of exactly what it found, including the size of every metadata segment/chunk that was removed. Optionally (include_cleaned_im
| Parameter | Type | Required | Notes |
|---|---|---|---|
| image_base64 | string | yes | Base64-encoded bytes of the JPEG or PNG file to inspect. |
| filename | string | no | Original filename, used only to name the returned cleaned file (defaults to "image"). Format detection is by content signature, not by this name or extension. |
| include_cleaned_image | boolean | no | When true (default), also return the metadata-stripped image bytes alongside the report. Set to false to get only the report. |
Turns one source image into a complete favicon set: favicon.ico (a real multi-resolution ICO container holding 16, 32 and 48px PNG-encoded entries -- not a single-size file with an .ico extension), favicon-96x96.png, apple-touch-icon.png (180px, flattened onto backgroundColor because iOS paints transparency black there), web-app-manifest-192x192.png and web-app-manifest-512x512.png (optionally pad
| Parameter | Type | Required | Notes |
|---|---|---|---|
| imageBase64 | string | yes | Source image, base64-encoded. Any raster/SVG format @napi-rs/canvas can decode (PNG, JPEG, WebP, GIF, SVG). May be non-square and may carry transparency -- it is centred on a square canvas before anyt |
| siteName | string | no | Full site name, used as the manifest's "name" field and as the fallback for short_name / the apple-mobile-web-app-title meta tag when shortName is empty. |
| shortName | string | no | Short name for a home-screen label (roughly 12 characters fit). Used as the manifest's "short_name" and in the apple-mobile-web-app-title meta tag; falls back to siteName when empty. |
| themeColor | string | no | Hex colour (# optional, 3- or 6-digit) written to the manifest's theme_color field. Purely metadata -- never painted onto any icon. |
| backgroundColor | string | no | Hex colour (# optional, 3- or 6-digit) used three ways: the manifest's background_color field, the flatten colour behind the apple-touch-icon (iOS does not honour alpha there), and the padding colour |
| maskablePadding | boolean | no | When true (default), the 192x192 and 512x512 manifest icons are padded: the artwork is shrunk to a centred 80%-width square on the background colour, matching Android's maskable-icon safe zone, and th |
Projects the calendar date a goal body weight is reached under a fixed daily calorie intake. Unlike a naive straight-line calculator (kg to lose x 7700 / deficit, also returned here for comparison), this recomputes Mifflin-St Jeor maintenance calories at each simulated day as weight falls, so the effective deficit narrows the way it really does -- meaning the projected date is later than, or equal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sex | string | yes | Biological sex, used by the Mifflin-St Jeor formula. |
| age | number | yes | Age in years, 18-120. The source page is not validated for children; 18+ only. |
| units | string | no | metric = cm/kg, imperial = ft+in/lb. Applies to height and both weight fields. |
| heightCm | number | no | Height in centimeters. Required when units is 'metric'. |
| heightFt | number | no | Feet part of height. Required when units is 'imperial'. |
| heightIn | number | no | Inches part of height (0-11). Required when units is 'imperial'. |
| currentWeight | number | yes | Current body weight, kg if units is metric, lb if imperial. |
| goalWeight | number | yes | Goal body weight, same unit as currentWeight. Must be less than currentWeight -- this tool only projects weight loss, matching the source page. |
| activityLevel | string | yes | Activity multiplier bucket, the site's five options: sedentary x1.2 (desk job, no exercise), light x1.375 (1-3 sessions/week), moderate x1.55 (3-5 sessions/week, the site default), very_active x1.725 |
| dailyDeficitKcal | number | yes | Daily calorie deficit to hold against today's computed maintenance. The site's quick picks are 250/500/750/1000 kcal, but any positive number is accepted. |
| referenceDate | string | no | ISO date (YYYY-MM-DD) the projection counts forward from. Defaults to today (UTC) when omitted. |
| includeChartSeries | boolean | no | If true, also return the weekly weight series and the naive straight-line end week -- the same two lines the source page charts. Set false to skip them for a lighter response. |
Converts iPhone HEIC/HEIF photos to JPEG or PNG, decoding with a WebAssembly build of libheif (LGPL-3.0) and re-encoding with sharp -- the same pipeline as GO AI's browser-based HEIC converter tool, run server-side. Accepts 1-50 files as {filename, dataBase64} (each up to ~30MB decoded); every file is byte-sniffed by its actual magic bytes, never by filename extension or claimed mime type, so an i
| Parameter | Type | Required | Notes |
|---|---|---|---|
| files | array | yes | 1 to 50 files, in the order results are reported. Mix HEIC/HEIF and already-JPEG/PNG files freely -- each is byte-sniffed on its own. The batch is additionally capped at 4000000 bytes of combined deco |
| format | string | no | Output format for any real HEIC/HEIF input. Ignored for input already sniffed as JPEG or PNG, which is passed through unchanged rather than re-encoded. |
| quality | integer | no | JPEG quality, 50-100. Ignored when format is image/png (PNG is lossless). |
| bundleAsZip | boolean | no | When true and more than one file produced output bytes (converted or passed-through), bundle them into one converted.zip instead of returning each file as its own separate output. |
Reads an iOS/macOS provisioning profile (.mobileprovision or .provisionprofile, given as base64) by byte-searching its CMS/PKCS7-signed container for the embedded '<?xml ... </plist>' property list and parsing that XML -- it never validates or decodes the cryptographic signature, and does not report on the embedded certificates beyond how many there are. Reports expiry status and days remaining, p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| base64 | string | yes | Base64-encoded raw bytes of the .mobileprovision or .provisionprofile file. |
Static editorial recommendation -- NOT a live benchmark or leaderboard -- for which of six AI models (GPT-5, Gemini, Grok 4, Claude, DeepSeek, Kimi) to use for a given kind of task, ported from GO AI's own daily side-by-side-use judgement, current as of August 2026. Pick a task and get the recommended model plus the reasoning and a second-opinion backup. The optional priority can bias the pick t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task | string | yes | The kind of task, one of: write (Long or structured writing), copy (Punchy copy, hooks, social), edit (Editing my own draft), longdoc (Summarising long documents), code (Writing code), review (Reviewi |
| priority | string | no | "quality" (default) returns the task's default best-result pick. "cost" swaps to DeepSeek when this task supports a cheaper substitute. "fresh" swaps to Grok when this task supports a fresher/more cur |
Converts a color to and from OKLCH. Accepts either a CSS color string via color (hex, rgb()/rgba(), hsl()/hsla(), or oklch()) or explicit OKLCH lightness/chroma/hue via l, c and h — supply one or the other. Returns the canonical oklch() text for the color exactly as requested, plus its sRGB-gamut-mapped hex/rgb()/hsl() equivalents. Gamut mapping follows the CSS Color 4 algorithm (bisecting on ch
| Parameter | Type | Required | Notes |
|---|---|---|---|
| color | string | no | CSS color to convert from — hex ('#5b8cff' or '#58f'), rgb()/rgba(), hsl()/hsla(), or oklch(). Takes precedence over l/c/h when both are supplied. |
| l | number | no | OKLCH lightness, 0 (black) to 1 (white). Used (with c and h) only when color is omitted. |
| c | number | no | OKLCH chroma. sRGB's most saturated colour reaches about 0.31; the source page's own slider goes to 0.4 so out-of-gamut requests are possible on purpose. Used (with l and h) only when color is omitted |
| h | number | no | OKLCH hue in degrees, 0-360. Used (with l and c) only when color is omitted. |
Builds a perceptually even OKLCH swatch ramp from a base color (same color or l/c/h input as oklch_convert) by sweeping one channel — hue, lightness, or chroma — while holding the other two fixed, so every swatch keeps the same visual weight (this is the reason to build a ramp in OKLCH rather than HSL). Each step is gamut-mapped to sRGB with the CSS Color 4 chroma-reduction algorithm and returne
| Parameter | Type | Required | Notes |
|---|---|---|---|
| color | string | no | CSS color to convert from — hex ('#5b8cff' or '#58f'), rgb()/rgba(), hsl()/hsla(), or oklch(). Takes precedence over l/c/h when both are supplied. |
| l | number | no | OKLCH lightness, 0 (black) to 1 (white). Used (with c and h) only when color is omitted. |
| c | number | no | OKLCH chroma. sRGB's most saturated colour reaches about 0.31; the source page's own slider goes to 0.4 so out-of-gamut requests are possible on purpose. Used (with l and h) only when color is omitted |
| h | number | no | OKLCH hue in degrees, 0-360. Used (with l and c) only when color is omitted. |
| mode | string | no | Which channel the ramp sweeps while holding the other two fixed: 'hue' rotates hue around the wheel, 'light' sweeps lightness from a near-black floor to a near-white ceiling, 'chroma' sweeps chroma fr |
| steps | integer | no | Number of swatches in the ramp, 3-24. |
| name | string | no | Stem for the generated CSS custom properties (e.g. 'brand' produces --brand-1, --brand-2, ...); sanitized to [a-z0-9-] the same way the source page does. |
Builds a soil-check interval per houseplant from a fixed drought-tolerance table (32 common houseplants), adjusted by pot size, pot material, light and season, and returns both a schedule breakdown and the full text of a downloadable RFC 5545 .ics calendar file -- one recurring all-day 'check the soil' reminder per plant (deliberately never 'water', since only the plant's own soil can say that). M
| Parameter | Type | Required | Notes |
|---|---|---|---|
| plants | array | yes | Houseplant ids to include (each event uses this exact catalog, no free text). Duplicates are ignored. Ids: snake, zz, aloe, jade, echeveria, cactus, hawortia, ponytail, rubber, monstera, pothos, philo |
| potSize | string | no | Pot diameter band: small (under 12cm), medium (12-25cm, default), large (over 25cm). A larger pot holds more soil and dries more slowly. |
| potMaterial | string | no | Unglazed terracotta breathes and dries noticeably faster than plastic (default) or glazed ceramic. |
| light | string | no | Light level: bright direct sun dries soil fastest, low light slowest. Defaults to bright-but-indirect. |
| season | string | no | Current season, which scales every interval (summer fastest, winter roughly 60% slower). If omitted, defaults from today's calendar month assuming the *northern* hemisphere, exactly like the source pa |
| startDate | string | no | First reminder date, YYYY-MM-DD. Every plant's recurring event starts on this same date, each with its own repeat interval. Defaults to today. |
Given which SDKs and features are present in an iOS app (analytics, crash reporting, ads, attribution, accounts, in-app purchases, location, HealthKit, contacts, search, etc.), returns the App Store Connect privacy data types those items most likely require declaring, grouped the way Apple groups them (Contact info, Identifiers, Usage data, Diagnostics, ...), each with the reason (which chosen ite
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | SDKs/features present in the app binary. One or more of: firebaseAnalytics, crashlytics, sentry, amplitude, admob, metaSdk, attribution, push, accounts, signInApple, iap, revenuecat, support, userPhot |
Converts an amount of one ingredient between cup, tablespoon, teaspoon, millilitre, gram and ounce using that specific ingredient's own USDA FoodData Central portion weight, not a single water-based figure applied to everything -- a cup of flour (125 g) and a cup of honey (339 g) do not weigh the same. Supports an ingredient's own measurement-style variants where USDA publishes more than one (pack
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ingredient | string | yes | Which ingredient to convert, identified by its GO AI recipe-tool id (e.g. "flour-ap", "sugar-brown", "honey"). |
| variant | string | no | Measurement style for ingredients that have more than one USDA figure (e.g. sugar-brown: "packed"/"loose"; sugar-icing: "unsifted"/"sifted"; almonds: "whole"/"sliced"/"slivered"/"ground"). Omit for in |
| amount | string | yes | Amount as a decimal ("1.5"), a simple fraction ("3/4"), or a mixed number ("1 1/2"). |
| unit | string | yes | Unit the amount is given in. |
| cupSizeMl | number | no | Cup size in ml, for the 'cup' unit (and 'tbsp'/'tsp' on ingredients without their own USDA spoon weight). Defaults to the US customary cup (236.588 ml); other common values are 240 (US nutrition-label |
Scales a pasted recipe (one ingredient per array entry, e.g. '2 cups all-purpose flour') from one servings count to another, multiplying each line's leading amount by the ratio and reformatting it as a whole number or simple/mixed fraction rather than a decimal. When a line's unit and ingredient can both be recognised against GO AI's density table, appends the scaled amount's weight in grams in pa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| fromServings | number | no | Servings the recipe as written makes. 0 (or an omitted field) falls back to 1, matching the source tool's own guard. |
| toServings | number | no | Servings wanted. 0 (or an omitted field) falls back to 1, matching the source tool's own guard. |
| lines | array | yes | One ingredient per array entry, as free text (e.g. "2 cups all-purpose flour", "1/2 tsp table salt"), up to 500 lines of 1000 characters each. Lines with no parseable leading amount, or with an amount |
| cupSizeMl | number | no | Cup size in ml used when converting a scaled "cup"/"tbsp"/"tsp" amount to grams. Defaults to the US customary cup (236.588 ml); other common values are 240 or 250. |
Resizes a batch of 1+ images to a named real-world preset (App Store screenshots, Open Graph/social cards, Android launcher icon densities, a favicon set) or a custom width/height, using contain (whole picture, padded), cover (fills the frame, crops overflow) or stretch (distorts to fit) fitting. Each resized image is PNG-encoded (EXIF/ICC metadata stripped on re-encode, matching the source page)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| images | array | yes | One to 60 images. Each is resized independently to every size in the chosen preset. A call is additionally capped at 48000000 total output pixels across images x sizes, so a preset with large or numer |
| preset | string | no | Which size(s) to produce for every image. appstore69: App Store screenshot, 6.9" iPhone, 1320x2868. appstore67: App Store screenshot, 6.7" iPhone, 1290x2796. appstoreIpad: App Store screenshot, 13" iP |
| fit | string | no | How each image fills its target box. 'contain' keeps the whole picture and pads the gap with paddingColor. 'cover' fills the box and crops whatever hangs over. 'stretch' distorts the image to the exac |
| customWidth | integer | no | Target width in px. Only used when preset is "custom". |
| customHeight | integer | no | Target height in px. Only used when preset is "custom". |
| paddingColor | string | no | Hex color (e.g. "#ffffff") used to pad the frame when fit is "contain". Ignored for "cover" and "stretch". |
Composite one or more app screenshots into a drawn device frame (rounded bezel, Dynamic Island on phone-shaped canvases) with a gradient background and optional headline/caption text, and export as PNG at any/all of the 4 official App Store Connect sizes. A blank page (image omitted) draws no device, for a title card or an outro. A device positioned past the edge of its page is drawn spilling onto
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pages | array | yes | One entry per exported page/PNG, in order. Use null for a blank page. At most 10 pages at any single size; size:"all" renders every page 4 times over and fits 2. Over that, the call is refused before |
| texts | array | no | Zero or more text layers, at most 40. Order is z-order (later entries draw on top); each is confined to one page. |
| backgroundFrom | string | no | Gradient start color (top-left), hex. |
| backgroundTo | string | no | Gradient end color (bottom-right), hex. |
| joinedScene | boolean | no | When true and there is more than one page, one gradient stretches across the whole set instead of repeating per page. |
| size | string | no | Which official App Store Connect size to export: 6.9"/6.7"/6.5" iPhone or 13" iPad, or "all" for every size (returned as a ZIP). "all" renders 4 canvases per page, so it is limited to 2 pages per call |
Compares two or more iOS Localizable.strings files (sent as base64-encoded raw file bytes, not text) against a base file and reports keys missing from each other file, keys present in another file but not the base ("extra", reported but not counted toward the issue total), values byte-identical to the base (often untranslated, sometimes intentionally so), duplicate values under different keys with
| Parameter | Type | Required | Notes |
|---|---|---|---|
| files | array | yes | Two to 40 .strings files to compare against each other. |
| baseFile | string | no | Exact name of one of files[] to treat as the base ("compare against") file. When omitted, auto-selects the first file (after sorting all names alphabetically) whose name starts with "base." / "base-" |
Calculate Basal Metabolic Rate with Mifflin-St Jeor and Harris-Benedict (plus Katch-McArdle when body_fat_percent is given), then Total Daily Energy Expenditure, a goal-adjusted calorie target (cut/maintain/bulk), and a protein/fat/carb macro split, from sex, age, height, weight and activity level. These are population-average formulas, not a measurement of the person's actual metabolism -- real e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sex | string | yes | Biological sex. Selects the sex constant in the BMR formulas (Mifflin-St Jeor +5/-161, Harris-Benedict its own pair) and the calorie safety floor the goal target is checked against (1,500 kcal/day for |
| age | integer | yes | Age in years, 14-100. Every BMR formula here subtracts a per-year term, so this moves the result directly. |
| units | string | no | Which height/weight pair is read. 'metric' uses height_cm and weight_kg; 'imperial' uses height_ft (+ height_in) and weight_lb. The pair belonging to the other system is ignored, not merged. Defaults |
| height_cm | number | no | Height in centimetres. Required when units is 'metric', ignored when units is 'imperial'. |
| height_ft | integer | no | Height, whole feet, combined with height_in. Required when units is 'imperial', ignored when units is 'metric'. |
| height_in | number | no | Height, the inches remainder on top of height_ft (0-11). Used only when units is 'imperial', and treated as 0 when omitted -- so 6 ft flat is height_ft 6 with no height_in. |
| weight_kg | number | no | Weight in kilograms. Required when units is 'metric', ignored when units is 'imperial'. |
| weight_lb | number | no | Weight in pounds, converted internally at 2.20462 lb per kg. Required when units is 'imperial', ignored when units is 'metric'. |
| body_fat_percent | number | no | Optional. Unlocks the Katch-McArdle formula, which uses lean mass instead of total weight. |
| activity_level | string | yes | Multiplier applied to BMR to reach TDEE: sedentary x1.2 (desk job, no exercise), light x1.375 (1-3 sessions/week), moderate x1.55 (3-5), very_active x1.725 (6-7), extra_active x1.9 (physical job or tw |
| goal | string | yes | Calorie adjustment applied to TDEE to get the target: lose_20 is a 20% deficit, lose_15 a 15% deficit, maintain no change, gain_10 a 10% surplus. A deficit landing under the safety floor sets below_sa |
Ports GO AI's browser Live Photo-to-GIF tool server-side: trims a SHORT video clip and converts it to an animated GIF, or (a server-side addition the browser tool cannot do) a real MP4/WebM video. Input is base64 video bytes plus its mimeType (any container/codec this server's ffmpeg build can decode) and a trim range in seconds (startSeconds/endSeconds). HARD LIMITS -- this runs in a 400 MB con
| Parameter | Type | Required | Notes |
|---|---|---|---|
| videoBase64 | string | yes | Base64-encoded source video bytes (not a file path or URL). The decoded video must be at most 4 MB; larger payloads are rejected before any decoding happens. |
| mimeType | string | yes | The source video's mime type, e.g. "video/quicktime" or "video/mp4". Used only to pick a temp-file extension; the actual format is content-sniffed by ffmpeg. |
| startSeconds | number | no | Trim start, in seconds from the beginning of the video. Clamped to the video's own duration. |
| endSeconds | number | yes | Trim end, in seconds. Must leave at least 0.25s and at most 10s between startSeconds and endSeconds. |
| size | number | no | Output width in px: 0 keeps the source's own width (clamped to 720); otherwise 720, 480, 320 (default) or 240. Height is derived to preserve aspect ratio; both dimensions are forced even. Bigger sizes |
| fps | number | no | Target sampling/output frame rate: 10 (default), 12, 15, 20 or 25. Higher fps spends the frame budget faster, so it shortens the trim range that will fit. For GIF, the true achieved rate is reported b |
| motion | string | no | 'loop' (restarts from the first frame each cycle), 'bounce' (plays forward then backward, never visibly cuts -- roughly doubles the emitted frame count and so halves the span that fits the pixel budge |
| speed | number | no | Playback speed multiplier: 0.5, 1 (default), 1.5 or 2. Higher speed samples fewer frames per second of source video (and so fits a longer trim); 0.5 samples twice as many. |
| colours | number | no | GIF palette size: 256 (default), 128 or 64 shared colours across the whole clip. Ignored for mp4/webm. |
| dither | boolean | no | Floyd-Steinberg dithering for the GIF palette (default true). Smooths gradients at the cost of file size and adds noise to flat graphics -- turn off for screen recordings or flat artwork. Ignored for |
| format | string | no | Output container. 'gif' (default) runs the full sampling + shared-palette + LZW pipeline. 'mp4' (H.264) and 'webm' (VP9) skip that pipeline and have ffmpeg encode the trimmed/scaled/speed-adjusted cli |
Estimates the indoor light level a window gives a plant, in the category words houseplant care guides use (Direct sun / Bright indirect / Medium light / Low light / Too dark), from the window's hemisphere, compass aspect, what obstructs it, and how far back the plant sits from the glass. This is a small heuristic scoring table ported from GO AI's window-light tool page, not a physical light-meter
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hemisphere | string | yes | Hemisphere the window is in. South of the equator the sun tracks the northern sky, so the compass direction that gets the strongest light is reversed from what most (northern-hemisphere-written) plant |
| aspect | string | yes | True compass direction the window faces (before any hemisphere adjustment). |
| blocked | string | yes | What stands between the glass and the open sky: 'clear' = nothing, 'sheer' = a net curtain/blind or distant trees, 'near' = a tree or building close by, 'heavy' = mostly blocked. |
| distance | string | yes | How far back from the glass the plant sits: 'sill' = on the sill, 'd1' = within an arm's reach, 'd2' = one to two metres back, 'd3' = two to three metres back, 'd4' = further into the room. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install GO AI Tools or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish GO AI Tools can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.