Skip to content
Saver OptionBusiness

AI and MCP

Connect AI clients over MCP

Ask an AI assistant about your workspace's software spending in plain language. Saver Option Business runs one remote MCP server that compatible AI clients can connect to after you sign in and approve.

What MCP is

The Model Context Protocol (MCP) is an open standard that lets AI applications call tools on other services. An AI client that supports remote MCP servers can connect to Saver Option Business, and then answer questions such as “Which subscriptions renew next month?” by calling the tools below with your permission.

Server URL

The endpoint is https://<your Saver Option domain>/mcp. The intended production endpoint is https://www.saveroption.com/mcp. Signed-in members can copy it from Settings → AI clients (MCP).

Transport
Details
TransportStreamable HTTP. Clients POST JSON-RPC messages and get JSON responses. The server is stateless and offers no event stream (GET returns 405).
Protocol versions2025-11-25, 2025-06-18 and 2025-03-26.
CapabilitiesTools only.

How sign-in works

  1. You add the server URL in your AI client.
  2. The client finds Saver Option's sign-in server and registers itself.
  3. Your browser opens Saver Option. You sign in with Google if needed.
  4. On the consent screen you choose one workspace and Read only or Read and change. The screen shows the app's self-declared name and the address it will return you to.
  5. You're sent back to the client, which can now call tools within your role.
Authorization
StandardWhere
OAuth 2.1 authorization code flow with PKCE (S256 only)/business/oauth/authorize
Protected resource metadata (RFC 9728)/.well-known/oauth-protected-resource/mcp
Authorization server metadata (RFC 8414)/.well-known/oauth-authorization-server
Dynamic client registration (RFC 7591)/oauth/register
Token endpoint (authorization_code, refresh_token)/oauth/token
Token revocation (RFC 7009)/oauth/revoke

Unauthenticated requests get 401 with a WWW-Authenticate header pointing at the protected resource metadata. Access tokens last one hour; refresh tokens last 30 days and rotate on every use. Registered redirect URIs must use HTTPS, or HTTP on a loopback address (localhost or 127.0.0.1, any port).

Scopes

Scopes
ScopeAllows
business.readEvery read tool, within your role.
business.writeAlso create_subscription and update_subscription — only when you chose “Read and change” and your role is Owner, Admin or Finance (members: records they own).

Changes need your confirmation

The change tools work in two steps. A call with confirm: false (the default) returns the interpreted details or a before/after comparison, with warnings, and saves nothing. The client should show you the preview; only a second call with confirm: true saves it. Repeating the same confirmed call doesn't create a duplicate.

What it can't do

  • Cancel, renew or buy subscriptions, make payments, or change anything at a vendor.
  • Delete records, manage members or change workspace settings.
  • Run arbitrary queries, SQL or code — each tool has a fixed input schema that the server validates.
  • Reach any workspace other than the one you approved.
Each connection is limited to 120 requests a minute. The OAuth endpoints are rate-limited per IP address. Figures are returned per currency and never converted, and each one says whether it's actual, a normalized estimate or a projection.

Tools

Generated from the server's tool registry.

  • list_subscriptions

    List subscriptions. List the workspace's software subscriptions with price, billing interval, monthly/annual equivalents, renewal date, seats, owner and department. Filter by status, category, department, vendor, billing interval, currency or a search term; sort by cost, renewal date or name. Paginated (limit/offset).

    Inputs: statussearchcategorydepartmentvendorbilling_intervalcurrencyinclude_archivedsortlimitoffset
  • get_subscription_details

    Get subscription details. Full details of one subscription: terms, seats, renewal decision, recorded price changes, recent recorded payments and open savings opportunities for it.

    Inputs: subscription_id*
  • get_spend_summary

    Get spend summary. The workspace's software spend at a glance: monthly and annualized run-rate per currency, active and trial counts, recorded payments in the last 30 and 365 days, renewals in the next 30 days, license utilization, and potential vs realized savings. Each figure states whether it's actual, an estimate or a projection.

    Inputs: currency
  • get_upcoming_renewals

    Get upcoming renewals. Subscriptions renewing in the next N days (default 30, max 365), with expected amount, auto-renew flag, cancellation deadline and renewal decision, plus cancellation deadlines that fall in the window. Totals are a projection at current prices.

    Inputs: daysinclude_cancellation_deadlines
  • get_spending_by_category

    Get spending by category. Monthly equivalent spend per software category, per currency, with share of total and subscription counts.

    Inputs: currencylimit
  • get_spending_by_vendor

    Get spending by vendor. Monthly equivalent spend per vendor, per currency, with share of total and subscription counts.

    Inputs: currencylimit
  • find_duplicate_tools

    Find duplicate or overlapping tools. Potential duplicate software records (same website, very similar names, same vendor and category) and categories with several active tools that usually do the same job. These are for the user to review — never confirmed duplicates; ask the user whether the tools serve the same purpose.

    Inputs: none
  • get_savings_opportunities

    Get savings opportunities. Savings opportunities found by Spend Detective's rules (unused per-seat licenses, underutilized plans, potential overlap, high-cost plans, annual billing, open-source alternatives, renewals to review, matching Saver Option deals), each with evidence, an estimate only where the workspace's own data supports one, confidence and the recommended action. Potential and realized savings are reported separately.

    Inputs: statustypelimit
  • analyze_saas_spending

    Analyze SaaS spending. A structured analysis to answer “where should we start reducing our software budget?”: run-rate per currency, the largest subscriptions and their share, concentration, items needing attention (high-cost renewals soon, cancellation deadlines, unused seats, missing prices/dates), the top savings opportunities with evidence, and data-quality gaps. All figures come from the workspace's own records.

    Inputs: none
  • compare_software_alternatives

    Compare software alternatives. For one of the workspace's subscriptions or software records: its current cost (normalized estimate) and alternatives from the Saver Option catalog that cover the same job, with functional notes and pricing evidence only where the catalog states them, related live deals, and a general migration checklist. Cost differences are only given when both prices are known on a comparable basis.

    Inputs: subscription_idsoftware_idlimit
  • search_deals

    Search Saver Option deals. Search live listings in the Saver Option Deals marketplace (discounts, credits, startup programs, lifetime deals, free plans, open-source alternatives). Returns only what the listings state — discount text, price and expiry are null when the listing doesn't give them — with verification status and links to the deal page.

    Inputs: querycategoryoffer_typelimitoffset
  • get_deal_details

    Get deal details. Full details of one Saver Option deal listing by ID or slug (from search_deals): terms, eligibility, how to redeem, expiry, verification method and date, and the source page.

    Inputs: deal_id*
  • get_deals_for_my_software

    Find deals for our software. Live Saver Option listings for the tools this workspace already records (same product), tools with no listing right now, and listings for other products in the same categories (possible alternatives).

    Inputs: none
  • generate_savings_report

    Generate a savings report. Creates and saves a dated savings report for the workspace (spend run-rate, potential savings by type with evidence, confirmed savings, renewals in the next N days, data-quality notes and method) and returns it with a link the user can open or share inside Saver Option.

    Inputs: titlerenewal_days
  • create_subscriptionChanges records

    Add a subscription. Adds a subscription record (creating the software in the inventory if it isn't there). Two steps: call with confirm false (default) to get the interpreted details and warnings — nothing is saved — show them to the user, then call again with the same fields and confirm true. Ask the user for missing details instead of guessing prices or dates. This only records the subscription in Saver Option; it never buys or changes anything at the vendor.

    Inputs: software_name*vendorcategorywebsiteplanpricecurrencybilling_intervalcustom_interval_countcustom_interval_unitpricing_modelseats_purchasedseats_in_usestart_datenext_renewal_dateauto_renewcancellation_deadlinecontract_end_datestatusdepartmentownernotesconfirm
  • update_subscriptionChanges records

    Update a subscription. Changes fields of an existing subscription record (price, billing, dates, seats, status, owner, department, notes). Two steps: confirm false (default) returns a before/after preview and saves nothing; call again with confirm true after the user agrees. Fields you leave out stay as they are. Changing status only updates the record — it never cancels anything at the vendor.

    Inputs: subscription_id*planpricecurrencybilling_intervalcustom_interval_countcustom_interval_unitpricing_modelseats_purchasedseats_in_usestart_datenext_renewal_dateauto_renewcancellation_deadlinecontract_end_datestatusdepartmentownernotesconfirm

Tools marked “Changes records” appear only on connections approved with read and change access.

AI client compatibility

The server targets Claude, ChatGPT, Gemini and Grok. A client is listed as verified only after sign-in, read tools and (where supported) write tools have been tested with this server. Until then, no client-specific setup steps are published.

AI client compatibility
ClientStatusLast verifiedRead toolsWrite toolsWhat the vendor documents
ClaudeVerifiedOct 24, 2026Verified: sign-in through Saver Option's consent screen worked, the read tools were listed, and list_subscriptions, get_spend_summary, get_upcoming_renewals and search_deals returned the connected workspace's dataAvailable on a “Read and change” connection; every change is previewed first and saved only after you confirmAnthropic documents custom connectors to remote MCP servers with OAuth sign-in (dynamic client registration or a client ID metadata document) for claude.ai, the Claude desktop and mobile apps and Claude Code. Vendor docs
ChatGPTVerifiedOct 24, 2026Verified: sign-in through Saver Option's consent screen and the read tools, answering with the connected workspace's dataAvailable on a “Read and change” connection; every change is previewed first and saved only after you confirmOpenAI documents remote MCP servers in ChatGPT's developer mode (beta), with OAuth. Availability, and whether write actions are allowed, depend on the plan and workspace settings. Vendor docs
GeminiVerifiedOct 24, 2026Verified: sign-in through Saver Option's consent screen and the read tools, answering with the connected workspace's dataAvailable on a “Read and change” connection; every change is previewed first and saved only after you confirmGoogle documents remote MCP servers over Streamable HTTP with OAuth for the Gemini CLI. Vendor docs
GrokVerifiedOct 24, 2026Verified: sign-in through Saver Option's consent screen and the read tools, answering with the connected workspace's dataAvailable on a “Read and change” connection; every change is previewed first and saved only after you confirmxAI documents remote MCP tools for its API (Streamable HTTP or SSE servers). Vendor docs

More