# ProfitNod > Real profit and break-even ROAS for your store and your AI. An app for online stores. It computes profit, break-even ROAS and campaign decisions from the store's orders and the merchant's costs, and exposes them to AI agents through MCP and REST. Store changes proposed by an agent wait for the merchant's approval. ## For agents - MCP endpoint (Streamable HTTP, JSON responses): https://profitnod.com/mcp with "Authorization: Bearer ", or https://profitnod.com/mcp/ - REST: POST https://profitnod.com/api/v1/tools/{tool} with the tool input as JSON and the same Bearer key. GET https://profitnod.com/api/v1/tools lists tools and schemas. - OpenAPI: https://profitnod.com/api/v1/openapi.json - A connection key is created by the merchant in the app (Connect AI). Keys are read-only unless the merchant chose more. - Amounts are in the store currency, major units. A low/high pair means a product cost is missing: report a range. - Tools named propose_* do nothing until the merchant approves them in the app. - Rate limit: 120 calls per minute per key. ## Tools - get_profit_summary: The store's real profit for a period: net revenue, product cost, shipping, payment fees, ad spend, what is left before ads, profit after ads, ROAS next to break-even ROAS, cost per order next to break-even cost per order, the one next step, and what data is missing. Numbers are computed by code from store orders and the merchant's costs; when a product cost is missing the result is a low/high range. Use this first for any question about profit, ROAS or whether ads make money. - explain_break_even: Shows step by step how the store's break-even ROAS and break-even cost per order are worked out from its own numbers, and what each cost contributes. Use it when the merchant asks 'what ROAS do I need?' or doubts a number. - get_daily_profit: Day-by-day table for a period: orders, net revenue, ad spend, left before ads, profit after ads, ROAS and break-even ROAS. Use it to find which day went wrong or to chart a trend. - get_product_profit: Per product variant for a period: units, sales, unit cost, margin (sales minus product cost, before shipping, fees and ads) and share of sales. Flags variants whose cost is missing. Sort by sales, margin, margin_low (worst first) or units. - get_campaign_decisions: For every ad campaign with recorded spend: spend, purchases, revenue (the ad platform's claim scaled down so all campaigns together never exceed store revenue), ROAS against break-even, profit, and a decision: raise, hold, cut, too_early, no_data or fix_costs, each with its reason. Decisions are rule-based and conservative. The merchant's ads are never changed by this tool. - list_missing_costs: Product variants that have no cost yet, biggest sellers first. Each missing cost turns profit into a range, so filling these makes the numbers exact. - list_ad_spend: The ad spend entries recorded for a period, by day, channel and campaign, with purchases and purchase value where given. - get_cost_settings: The merchant's cost settings: shipping cost per order, payment fee rate, other per-order costs, and whether the fee rate was confirmed. - get_setup_status: What is set up and what is still missing for exact profit: store sync, shipping cost, product costs, ad spend, AI connection. - list_approvals: Store changes an AI has proposed and their status: pending (waiting for the merchant's tap in the app), done, rejected or failed. - get_activity_log: The audit trail: every change made through the app or by a connected AI, newest first, with who did it and when. - record_ad_spend: Save ad spend per day, channel and (optionally) campaign. Include purchases and purchase_value as the ad platform reports them to get per-campaign decisions. Saving the same day, channel and campaign again replaces the earlier entry. Amounts are in the store's currency unless `currency` is given, in which case they are converted at that day's reference rate. - record_ad_spend_total: Quick way to add ad spend when daily numbers aren't at hand: give one total for a period and it is spread evenly over the days. It replaces earlier whole-channel entries for that channel on those days. For exact daily results and per-campaign decisions use record_ad_spend instead. - delete_ad_spend: Remove one recorded ad spend entry by day, channel and campaign (leave campaign out for the whole-channel entry). - set_product_costs: Set what a product variant costs you per unit, by variant_id or by SKU. These costs are kept in this app and used for profit; the store's own 'cost per item' field is not changed (use propose_store_cost_update for that). Pass cost null to remove a cost you set earlier. - update_cost_settings: Change the cost settings used for profit: shipping cost per order, payment fee percent and fixed part, other per-order costs, and a rough product cost share for products without a cost. Only the fields you pass change. - ask_support: Ask the app's support a question, report a problem or suggest an improvement on the merchant's behalf. Returns the support answer. The message is kept so the team can read it and improve the app. - propose_price_change: Propose a new price for one product variant. Nothing changes in the store until the merchant approves it on the Approvals page of the app. Returns the approval id; check it later with list_approvals. - propose_store_cost_update: Propose writing a product variant's unit cost into the store's own 'cost per item' field, so the store's reports match. Nothing changes until the merchant approves it on the Approvals page of the app. ## Pages - [Guide](https://profitnod.com/docs) - [Break-even ROAS calculator](https://profitnod.com/break-even-roas-calculator) - [Break-even ROAS: the formula, with a worked example](https://profitnod.com/guides/break-even-roas-formula) - [What is a good ROAS for a Shopify store?](https://profitnod.com/guides/good-roas-for-shopify) - [ROAS vs profit](https://profitnod.com/guides/roas-vs-profit) - [Profit after ads on Shopify](https://profitnod.com/guides/shopify-profit-after-ads) - [What an AI can know about a store's profit](https://profitnod.com/guides/ai-shopify-profit) - [Security](https://profitnod.com/security) - [Pricing](https://profitnod.com/pricing) - [Privacy](https://profitnod.com/privacy)