accueil / serveurs / Dev & Code / io.stackcut/stackcut
io.stackcut/stackcut
serveur MCP (Model Context Protocol) · stackcut 1.10.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.stackcut/stackcut est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.stackcut/stackcut » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 24 outils
- audit_stack≈ 4112 tokens
Use when the user wants their stack checked as a whole: several subscriptions, the paid services in a codebase, or a portfolio of products ('audit what we pay for', 'what can we cut?'). One line per service with vendor, plan, what they pay, seats, the features they use and usage (or evidence strings); add project for a portfolio and account for a shared bill. Per service: status (eligible = a cheaper path checked end to end; needs_info = likely cheaper but a check is open, so ask its questions; keep; no_recipe), the best path, right_size, overlaps, and levers that are not counted as savings. Totals keep prices the user confirmed apart from modeled list prices. If facts are missing, start_audit says which ones matter first. Send vendor names, feature names, numbers and prices only: never source code, secrets or raw invoices. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (5)
Paramètresdecision· string · optionnel · cut_spend | consolidate | replace_one | choose_stack | check_in
consolidate: overlaps on every job each tool doesservices· array · requislimit_paths· integer · optionnelactive_users· number · optionnel
People or accounts active in the last 30 days (0 = unused: cleanup levers and sanity checks)revenue_usd_per_month· number · optionnel
The product's revenue per month (context for sanity checks: no revenue, cost per user, fees vs revenue; never a cap)
Exemple d'appel{"name": "audit_stack", "arguments": {"services": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - choose_stack≈ 3807 tokens
Use when the user is picking vendors for something they're building: 'cheapest database for 20k users', 'Resend or Postmark at 60,000 emails a month?', 'what will auth cost at 10k MAU?'. Give each job with its volumes and must-have features; every tier of every indexed vendor is priced at those volumes and the cheapest valid tier wins. A pick 'fits' only when every volume is within published caps or priced overage, no published limit is broken, each must-have is included in that plan or priced as its add-on, and the price was checked within 120 days; anything else comes back as a check or a question. total keeps proven, estimated and unpriced jobs apart. Pass scales (MAU) for cost curves and break-evens; with no MAU elsewhere, the smallest scale is the MAU priced. budget_monthly_usd tests a budget. For a whole product brief, use plan_stack_from_spec. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (8)
Paramètresneeds· array · requisprefer· string · optionnel · cheapest | managed | open_source
managed leaves out self-hosted optionsscales· array · optionnel
Price the stack at several scales, e.g. [1000, 20000, 200000] MAU (scale_by mau) or [1, 10, 100] (scale_by multiplier): per-job cost curve, tier changes and break-even points between optionsproject· string · optionnel
What is being built. Volumes written here ('1,200,000 preview images/mo', '20k MAU') are used and echoed as assumptions. Say 'personal' or 'hobby' if it is non-commercial; otherwise plans that forbid commercial use (e.g. Vercel Hobby) are blocked.scale_by· string · optionnel · mau | multiplier
mau: scales are monthly active users (per_user volumes × MAU; other monthly volumes and sizes grow in proportion to the MAU they were given at); multiplier: every monthly volume and size is multipliedlimit_per_job· integer · optionnelunit_economics· object · optionnel
Revenue model for gross margin per scale: price_usd with conversion_rate, or revenue_per_maubudget_monthly_usd· number · optionnel
Exemple d'appel{"name": "choose_stack", "arguments": {"needs": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_alternatives≈ 3550 tokens
Use when the user names one product they pay for and asks for something cheaper, whether it's worth it, or what to switch to: 'cheaper than Typeform?', 'is Semrush worth $139 a month for us?', 'we pay $90 for SendGrid'. Pass what they pay (monthly_spend_usd), seats, the features they use and their usage (usage, or evidence such as '40,000 emails/mo') so each plan's caps can be checked. Returns ranked paths re-costed at their price, including a cheaper plan of the same vendor (right_size). A path with fit 'fits' passed every check; a 'check' path is a candidate with open checks, so ask its questions before recommending it. status, why and questions say what is still missing. Savings are modeled from public list prices. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (15)
Paramètresplan· string · optionnel
Their plan, e.g. 'Essential' (else read from the vendor name)limit· integer · optionnelseats· integer · optionnel
Paid seats; per-seat prices on both sides scale with itusage· object · optionnel
Their usage, checked against each plan's caps (priced with published overage and add-ons). Units: seats, members, mau, emails_per_month, emails_per_day, contacts, domains, events_per_month, identified_events_per_month, pageviews_per_month, errors_per_month, requests_per_month, requests_per_day, searches_per_month, cpu_ms_per_request, db_gb, storage_gb, bandwidth_gb, projects, sites, videos, video_minutes, responses_per_month, tasks_per_month, keywords_tracked, credits_per_month, history_days, apps, files, boards, event_types, monitors, tokens_per_month, images_per_month, audio_minutes_per_month, characters_per_month, transactions_per_month, sandbox_hours_per_month, concurrent_sessions, session_minutes, call_participants, meeting_minutes, records, inboxes, tokens_in_per_month, tokens_out_per_month, cached_tokens_per_month, video_minutes_stored, video_minutes_delivered_per_month, gmv_usd_per_month, payouts_per_month, active_accounts, verifications_per_month, browser_hours_per_month, proxy_gb_per_month, job_executions_per_month, sso_connections, sso_users, inbound_emails_per_month, stream_hours_per_month, vcpu_hours_per_month, credits_usd_per_month, disputes_per_month, payout_volume_usd_per_month, object_writes_per_month, object_reads_per_month, job_executions_per_day, scim_connections, searches_per_hour, sms_per_month, vectors_stored, vector_queries_per_month, cache_commands_per_month, mtu, gpu_seconds_per_month, revenue_usd_per_month, phone_minutes_per_month, vector_read_units_per_month, vector_write_units_per_month, hosts, tickets_per_month (MAU is accepted for mau). Example: {"emails_per_month": 40000, "domains": 4, "db_gb": 3}. get_usage_questions says which units matter for a vendor and where the user finds each number.vendor· string · requis
Product name as on the invoice, e.g. 'Typeform', 'Slack Pro', 'HubSpot Sales Hub Starter'billing· object · optionnel
Billing evidence: scope (dedicated, shared or unknown), account_id (a non-secret alias; the account key), allocated_monthly_usd (attribution only, never a saving), avoidable_monthly_usd with avoidability_confirmed (what leaving actually removes from the bill; 0 is valid), commitment_months_remaining (non-refundable months left; 0 only when cancellable now) and source (a reference, no private contents). With billing, a path is eligible only once the avoidable amount, scope, commitment and source are all givenevidence· array · optionnel
Usage facts in words, read best effort: 'db 1.5 GB', '40,000 emails/mo', '37 domains', '3,000 MAU', 'shared by 40 projects'confirmed· boolean · optionnel
true when the user confirmed they pay for this (with plan: its list price counts as confirmed spend). Scanner-only lines are unconfirmedlast_active· string · optionnel
When this resource (project, app, account) was last used: an ISO date ('2026-03-10'), 'never', or '5 months ago'. 90+ days idle or never used gets a cleanup levershared_with· integer · optionnel
How many products share this bill (one account, org or team), when only this product is audited: moving one product off it saves only what it adds to the bill, never the whole bill. monthly_spend_usd is then the whole account's billactive_users· number · optionnel
People or accounts active in the last 30 days (0 = unused: cleanup levers and sanity checks)features_used· array · optionnel
Features they actually use; sizes and counts ('4,000 contacts', 'videos over 5 minutes') are read as usagemonthly_spend_usd· number · optionnel
What they pay per month today, all seats (replaces the modeled baseline)revenue_usd_per_month· number · optionnel
The product's revenue per month (context for sanity checks: no revenue, cost per user, fees vs revenue; never a cap)replacement_validation· object · optionnel
A replacement path the user checked themselves: its current price, capacity, burst limits and paid add-ons against their usage. It answers that path's capacity checks (never its must-haves) and ranks it first
Exemple d'appel{"name": "find_alternatives", "arguments": {"vendor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_build_packet≈ 312 tokens
Use when the user wants to replace a tool by building their own (Replace with AI): returns SPEC.md, AGENTS.md and the runbook files a coding agent builds from, for a recipe with a build path. A recipe without one returns the assessment files for validating a switch or downgrade instead, never a spec to clone a service. Check packet_kind and next_step before acting. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (1)
Paramètresrecipe_id· string · requis
Exemple d'appel{"name": "get_build_packet", "arguments": {"recipe_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_detection_rules≈ 328 tokens
Rules for finding paid services in a codebase on the user's own machine: package names, environment variable name patterns, config files, API hosts and feature patterns for about 100 vendors. Apply them locally and send only the vendor and feature names you found to audit_stack, never code or secret values. Names without rules come back under unknown. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (1)
Paramètresvendors· array · optionnel
Only these vendors, by id or name (default: all)
Exemple d'appel{"name": "get_detection_rules", "arguments": {"vendors": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_exit_plan≈ 852 tokens
Use when the user wants to cancel, unsubscribe from, pause or pay less for something they subscribe to: streaming, music, news, dating, cloud storage, AI tools, apps or business software ('cancel YouTube TV', 'how do I get out of Adobe', 'stop my Audible'). Returns Stackcut's exit plan: every way to cancel by who bills them (the company, Apple, Google Play, a partner or a contract), the steps with the words to expect on screen, when access ends, notice periods, fees and refunds, what to export first, cheaper ways to keep it, and notes for an agent, each fact sourced to the vendor's own page with a check date. Pass billed_by when known (the name on their card statement or receipt) and renewal_date to get the last safe day to cancel. Never cancel for the user without their go-ahead: they sign in, see any offer, and confirm the final step. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (7)
Paramètresgoal· string · optionnel · cancel | pay_less | renegotiatemarket· string · optionnel
The user's country, e.g. DE: when Stackcut has a guide checked for that market (JP, DE, BR, MX, NL), local_guide points to itservice· string · requis
The subscription, e.g. 'YouTube TV', 'Adobe Creative Cloud', 'disneyplus.com'billed_by· string · optionnel · direct_web | direct_app | apple_app_store | google_play | amazon | roku | paypal | carrier_or_isp
Who charges them (card statement or receipt): the company (direct_web; direct_app in its app), Apple, Google Play, Amazon, Roku, PayPal, a phone or TV provider, a partner or a contract. Omit or 'unknown' for every route and the question to ask. Short words are aliasesmonths_left· integer · optionnel
Monthly payments left (else from renewal_date)renewal_date· string · optionnel
Next renewal date, YYYY-MM-DD: adds the last safe day to cancel from the documented notice periodmonthly_price· number · optionnel
USD a month: with renewal_date or months_left, estimates an early termination fee
Exemple d'appel{"name": "get_exit_plan", "arguments": {"service": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_plan≈ 335 tokens
Use only when the user gives you a Stackcut agent code (it starts with sca_; they copy it from 'Send to my agent' on stackcut.io). Returns their own savings plan: every subscription with its verdict, the proven saving, the proof (receipts, card charges or a sourced price), steps and checks. Walk them through it from the biggest proven saving down and ask before any cancel, purchase or sign-up. The code is read-only and expires. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (1)
Paramètrescode· string · requis
The agent code from stackcut.io, e.g. sca_…
Exemple d'appel{"name": "get_my_plan", "arguments": {"code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_recipe≈ 315 tokens
Full detail for one recipe from search_recipes: every replacement path with modeled first-year savings, monthly cost, setup time and upkeep, what is out of scope, checks to run before switching, how to leave the current vendor (cancel steps, refunds, exports, what you lose), step-by-step playbooks, sources, and Stackcut's own lab results where they exist (not customer results). Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Recipe id from search_recipes, e.g. 'crm-pipeline'
Exemple d'appel{"name": "get_recipe", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_usage_questions≈ 388 tokens
Before an audit: which usage numbers decide each vendor's answer (emails a month, domains, database size, seats…), where the user finds each one (dashboard page, API, export), and ready-to-ask questions. Units already stated in context are marked as given. Pass the answers to audit_stack or find_alternatives as usage and features_used. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (2)
Paramètrescontext· string · optionnel
Optional: what is already known, in words (e.g. 'about 40,000 emails/mo, 4 domains'); units it states are marked as given and not asked againvendors· array · requis
Vendors they pay for, by name or id, e.g. ['Resend', 'Supabase Pro']
Exemple d'appel{"name": "get_usage_questions", "arguments": {"vendors": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_workflow_recipe≈ 323 tokens
One runbook from search_workflow_recipes in full: the evidence to collect, keep/downsize/consolidate/migrate/build/retire decisions, ordered steps, acceptance tests, rollout, rollback, maintenance, costs still unresolved, and scoped starter templates with their download digest. A reviewed playbook is not a completed customer migration. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Workflow id from search_workflow_recipes, e.g. 'portfolio-shared-billing'
Exemple d'appel{"name": "get_workflow_recipe", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - leaderboard≈ 371 tokens
The top replacement paths across the catalog by modeled first-year savings, payback months, or how often people and agents used them. Leaves out partial replacements unless include_partial, and never lists trials, one-time credits, expiring or non-commercial plans. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnelmetric· string · optionnel · savings | payback | popularcategory· string · optionnelpath_type· string · optionnel · switch | downgrade | open_source | per_use | agent_skill | build | bundledinclude_partial· boolean · optionnel
Exemple d'appel{"name": "leaderboard", "arguments": {"limit": 1, "metric": "savings", "category": "texte", "path_type": "switch", "include_partial": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_categories≈ 216 tokens
The catalog's categories with how many recipes each has and the best modeled first-year saving in each. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_categories", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_stack_jobs≈ 252 tokens
The jobs choose_stack can compare (database, auth, hosting, transactional and inbound email, object storage, LLM APIs, payments, sandboxes, browser automation, queues…) with how many vendors each has, plus the volume units and aliases it accepts. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_stack_jobs", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - plan_stack_from_spec≈ 1551 tokens
Use when the user shares a product brief or spec and asks what to build it with or what it will cost. Works out the jobs the brief needs (what it rules out, plans for later or already has is never priced), the volumes from its numbers or listed default rates, and its budget; prices the stack at several scales with choose_stack; and returns SPEC.md, AGENTS.md and a manifest for a coding agent. Keyword rules over the brief, no model call: when total.hypothetical is true, confirm the assumed jobs and volumes with the user before quoting the cost. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (8)
Paramètresspec· string · requis
The product brief (markdown or plain text, up to 20,000 characters): what it does, who uses it, how it makes money, any numbers you know (users, conversion, prices, volumes). Never paste secrets or personal data.prefer· string · optionnel · cheapest | managed | open_sourcescales· array · optionnel
MAU targets to price, default [1000, 20000, 200000]add_jobs· array · optionnel
Jobs to add that the brief doesn't mentionoverrides· array · optionnel
Edit the derived assumptions: a volume per MAU per month (per_user) or a fixed monthly total for a jobexclude_jobs· array · optionnel
Derived jobs to drop (job ids)limit_per_job· integer · optionnelunit_economics· object · optionnel
Revenue model for gross margin per scale: price_usd with conversion_rate, or revenue_per_mau
Exemple d'appel{"name": "plan_stack_from_spec", "arguments": {"spec": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - prepare_negotiation≈ 756 tokens
Find documented existing-customer offers, cancellation-flow promotions and renewal negotiation routes for a service. Returns channel- and market-specific paths, vendor sources, freshness, questions and draft request/terms/counteroffer/decline/confirmation scripts. It sends nothing and makes no account changes. Eligibility and offer amounts are unknown until the vendor confirms them. Compare costs only with complete prices, renewal terms, duration, fees and an explicit horizon; amounts must share the current bill's currency and billing cadence. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (13)
Paramètresfees· number · optionnel
All mandatory fees over the comparison period; explicit 0 only if confirmed.market· string · optionnel
Country code, e.g. USservice· string · requisbilled_by· string · optionnel · direct_web | direct_app | apple_app_store | google_play | amazon | roku | paypal | carrier_or_ispcurrent_plan· string · optionnelrenewal_date· string · optionnelmonthly_spend· object · optionnel
Current bill. Despite the legacy property name, specify whether this amount is monthly or annual.offered_price· number · optionnelrenewal_price· number · optionnelcomparison_months· integer · optionnelrequired_features· array · optionneloffer_duration_months· integer · optionnelmaximum_commitment_months· integer · optionnel
Exemple d'appel{"name": "prepare_negotiation", "arguments": {"service": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_action_outcome≈ 1046 tokens
Record a minimal structured report about an attempted cancel, price reduction, negotiation, pause, downgrade, or switch. First call get_exit_plan and send its packet_revision and route_id; stale packet revisions are rejected. Reports are user-reported evidence, never verified execution. The server stores no free text, receipts, messages, or direct identifiers. Reusing client_dedupe_key returns the existing report without inflating counts; blocked or changed-step reports create a review task and never edit a packet automatically. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (19)
Paramètresaction· string · requis · cancel | pay_less | renegotiate | pause | downgrade | switchlocale· string · requis
Language tag such as en or en-USmarket· string · requis
Two-letter country codeblocker· string · optionnel · authentication_required | billing_owner_required | billing_channel_mismatch | unsupported_market | support_contact_required | unexpected_fee | offer_unavailable | screen_changed
Required for blocked or steps_changedchannel· string · requis · direct_web | direct_app | apple_app_store | google_play | amazon | roku | paypal | carrier_or_isp
The selected route's billed_by channeloutcome· string · requis · requested | offer_received | accepted | confirmed | declined | no_offer | blocked | steps_changedservice· string · requis
The service name or id from get_exit_plancurrency· string · optionnel
Required with numeric amountsroute_id· string · requis
The selected route_id from get_exit_planfees_amount· number · optionneleffective_on· string · optionneloffer_amount· number · optionnel
Optional reported amount, never treated as verified savingsrenewal_amount· number · optionnelsavings_amount· number · optionnel
Optional reported savings amount (negative means costs rose), never treated as verified savingspacket_revision· string · requis
The current packet_revision from get_exit_planclient_dedupe_key· string · requis
A fresh opaque idempotency key; never use an email, account id, or other personal valuecommitment_months· integer · optionneloffer_billing_period· string · optionnel · month | year | week | one_timeoffer_duration_months· integer · optionnel
Exemple d'appel{"name": "report_action_outcome", "arguments": {"action": "cancel", "locale": "texte", "market": "texte", "channel": "direct_web", "outcome": "requested", "service": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_exit_outcome≈ 468 tokens
After the user reports what happened, count a cancellation, keeping the service for less, getting blocked, or changed steps. This updates only an anonymous usage counter and does not verify an action. Use report_action_outcome for a durable report tied to the current packet revision and route. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (4)
Paramètresstep· integer · optionnel
For blocked or steps_changed: include the step number where it stopped matching, when knownoutcome· string · requis · cancelled | kept_for_less | blocked | steps_changedservice· string · requis
The service, as passed to get_exit_planbilled_by· string · requis · direct_web | direct_app | apple_app_store | google_play | amazon | roku | paypal | carrier_or_isp
The route they used: its billed_by from get_exit_plan (get_exit_plan's aliases are read as their channel here too)
Exemple d'appel{"name": "report_exit_outcome", "arguments": {"outcome": "cancelled", "service": "texte", "billed_by": "direct_web"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_guide_feedback≈ 747 tokens
After using guidance, report a missing vendor or billing route, a mismatching step, unavailable source, incomplete instructions, unexpected fee, observed retention offer, required human handoff, or that the guide matched. Send only the structured fields, never account information, URLs, screenshots or text. Current packet routes and step numbers are validated; stale revision reports are kept as unverified provenance. An acknowledgement records feedback for review, never completion or a published fix. Retry with the same opaque key when delivery is uncertain. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (12)
Paramètreskind· string · requis · vendor_missing | billing_route_missing | step_mismatch | source_unavailable | incomplete_instructions | unexpected_fee | retention_offer_seen | human_handoff_requiredlocale· string|null · optionnelmarket· string|null · optionnelchannel· string|null · optionnel · direct_web | direct_app | apple_app_store | google_play | amazon | roku | paypal | carrier_or_ispservice· string|null · optionnelroute_id· string|null · optionnelstep_index· integer|null · optionnelvendor_domain· string|null · optionnel
For vendor_missing only: public registrable vendor domain such as example.com, without URL, path, query or account subdomainhandoff_reason· string|null · optionnel · authentication_required | two_factor_required | captcha | billing_owner_required | final_approval_required | support_contact_required | other | Nonepacket_revision· string|null · optionnelclient_dedupe_key· string · requis
Opaque retry key, never a personal valuehandoff_expectation· string|null · optionnel · expected | unexpected | unknown | None
Exemple d'appel{"name": "report_guide_feedback", "arguments": {"kind": "vendor_missing", "client_dedupe_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_outcome≈ 305 tokens
Only after the user confirms what they did: record that they picked, switched to or reverted from a replacement path. Adds one to anonymous public counters and stores no personal data. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (3)
Paramètresoutcome· string · requis · picked | switched | revertedpath_id· string · requisrecipe_id· string · requis
Exemple d'appel{"name": "report_outcome", "arguments": {"outcome": "picked", "path_id": "texte", "recipe_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_discoveries≈ 350 tokens
Find human-reviewed research notes about new products, replacement workflows, changed flows and build-versus-buy lessons. Returns original posts and primary sources with explicit author-reported versus documented claims and unknown costs. These are research notes, not tested recipes or verified savings. Private queue drafts are never returned. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (4)
Paramètreskind· string · optionnel · product | recipe | flow | lessonlimit· integer · optionnelquery· string · optionnelvendor· string · optionnel
Exemple d'appel{"name": "search_discoveries", "arguments": {"kind": "product", "limit": 1, "query": "texte", "vendor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_exits≈ 449 tokens
Lists services in Stackcut's cancel library (streaming, music, news, dating, cloud storage, AI tools, apps and software), by name, domain or category, with the page and JSON for each. Use get_exit_plan for one service's steps. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
At most 100 are returnedquery· string · optionnel
A name or domain, e.g. 'peacock', 'vpn'action· string · optionnel · cancel | pay_less | renegotiate
Filter for a documented action pathwaycategory· string · optionnel · streaming_video | music_audio | news_magazines | dating | cloud_storage | productivity | ai_tools | design_creative
Exemple d'appel{"name": "search_exits", "arguments": {"limit": 1, "query": "texte", "action": "cancel", "category": "streaming_video"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_recipes≈ 825 tokens
Use when the user wants a cheaper way to do a job and names a feature or kind of tool rather than one product: 'cheaper keyword research', 'forms without Typeform', 'what can replace our CRM'. Filter by the vendor they pay for, a feature, a category or a path type (switch, cheaper plan, open source, pay per use, agent skill, build it). Returns compact recipe cards, each with its best priced path that saves money; get_recipe has every path, cost and source. intent 'new' prices options for a job they don't pay for yet; requirements labels must-haves. For one product they pay for, find_alternatives re-costs it at their own price and usage. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (9)
Paramètressort· string · optionnel · savings | popular | relevancelimit· integer · optionnelquery· string · optionnel
Free text, e.g. 'client approval portal' or 'semrush backlinks'intent· string · optionnel · new | replace
new: they pay for no tool yet: costs, never savings (default replace)vendor· string · optionnel
Product currently paid for, e.g. 'Airtable', 'Salesforce', 'Semrush Pro'feature· string · optionnel
A feature they rely on, e.g. 'rank tracking', 'e-signatures'category· string · optionnel
Category name from list_categories, e.g. 'CRM', 'SEO data'path_type· string · optionnel · switch | downgrade | open_source | per_use | agent_skill | build | bundled
Only recipes offering this kind of replacementrequirements· object · optionnel
Options per recipe: excluded kinds dropped, must-haves labeled
Exemple d'appel{"name": "search_recipes", "arguments": {"sort": "savings", "limit": 1, "query": "texte", "intent": "new", "vendor": "texte", "feature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_workflow_recipes≈ 382 tokens
Use for a whole operational change rather than one subscription: billing shared across projects, moving hosting or email, retiring a dormant project, cheaper AI model routing, queues, auth or storage. Returns reviewed runbooks with the query words they matched; get_workflow_recipe returns one in full. Runbooks are guidance, not proof that a migration ran. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelquery· string · optionnel
The job in words, e.g. 'shared billing across projects' or 'queue retries worker'vendor· string · optionnel
Only runbooks tagged for this vendor id, e.g. 'stripe', 'supabase'
Exemple d'appel{"name": "search_workflow_recipes", "arguments": {"limit": 1, "query": "texte", "vendor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - start_audit≈ 576 tokens
Start here when the user wants to cut spend across several tools, consolidate apps, or replace one tool safely, and the bills alone won't decide it. Send vendors and team_size (or a stack manifest) and get the few missing facts that would change the answer, ranked by what's at stake, each with where to find it. Fetch those, add them, and call again until status is 'enough', then call next.tool with next.arguments. Send counts, prices, feature and job names only, never raw exports, customer data, secrets or people's names. Stackcut stores the arguments of tool calls to improve its recommendations (vendor names, prices, seats, features, usage numbers, billing amounts and project descriptions; account keys only as a one-way hash, billing and validation sources not at all; never IP addresses). Tool results are summarized; exit tools log only result counts, qualification flags and public evidence statuses, not answer contents. Don't send personal data or secrets.
Paramètres, retour & exemple (5)
Paramètresvendors· array · optionnel
A first pass without a manifest: the tools the team pays for, e.g. ['Notion', 'Asana', 'Loom'].decision· string · optionnel · cut_spend | consolidate | replace_one | choose_stack | check_in
With vendors: what the audit is for (default cut_spend).manifest· object · optionnel
A stack manifest (JSON Schema at https://stackcut.io/schemas/stack-manifest-1.json; manifest_version '1'): goal, org, builder, services (vendor, plan, monthly_spend_usd, seats, active_users, features_used, usage, renewal_date, …), workflows, unknowns.team_size· integer · optionnel
With vendors: people on the team.max_questions· integer · optionnel
Most questions to return (default 8).
Exemple d'appel{"name": "start_audit", "arguments": {"vendors": [], "decision": "cut_spend", "manifest": {}, "team_size": 1, "max_questions": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».