FCHubFCHub.co

Tool Guide

What FluentCart MCP exposes by default, what reversible mode adds, and what deliberately stays absent.

FluentCart MCP does three things:

  1. finds the part of the store you are asking about;
  2. describes the exact input before calling it;
  3. reads the store, or performs an explicitly enabled reversible change.

The server discovers your store's REST routes at startup. A tool appears only when both the product policy and the connected WordPress principal allow it.

The source catalogue is not your tool list

The source contains reviewed definitions for FluentCart routes that the product deliberately refuses to execute. Your client's tools/list response is the authority for that connection. A definition in source does not make an operation available.

The default surface

Dynamic mode is the default. With writes disabled it presents three tools:

ToolPurpose
fluentcart_search_toolsFind relevant reads by plain-English query and optional category
fluentcart_describe_toolsReturn exact input schemas and annotations for selected reads
fluentcart_execute_read_toolValidate and execute one discovered read

Set FLUENTCART_WRITE_MODE=reversible and one more tool appears:

ToolPurpose
fluentcart_execute_reversible_writeExecute a reviewed create or update that has read-back and a supported undo

There is no destructive or real-money executor.

What you can read

The exact names depend on the routes your store serves, but the reviewed surface covers:

AreaTypical work
OrdersOrders, line items, transactions, addresses, activity and fulfilment state
ProductsCatalogue, variants, pricing, stock, downloads, licences, taxonomy and bundles
CustomersProfiles, addresses, order history, subscriptions and lifetime-value context
Subscriptions & renewalsBilling relationships, individual renewal records, renewal state, transactions and upcoming payments
ReportsRevenue, trends, top products, customers, refunds, retention and attribution
CouponsCoupon definitions, eligibility and usage
ShippingZones, methods, classes, packages and destination calculations
TaxClasses, rates, EU VAT settings, records and overrides
Store configurationModules, roles, permissions, email, print templates and integrations
Reference dataCountries, currencies, payment methods, statuses, labels and categories

Search is the normal entry point. You do not need to memorise endpoint names:

Show me unpaid orders from the last seven days.
Which products are below their stock threshold?
What renews next week in PLN?

On FluentCart 1.6, the server can also list renewal records and open one renewal in detail. The subscription projection keeps the useful 1.6 context, including the collection method and pending skip state where the store returns them. It does not invent an outcome for an absent field.

Two field semantics worth knowing

  • In sales-report inputs, timezone is optional and echoed only as a label. FluentCart still filters dates in the store timezone, so supplying a different label does not change the figures.
  • In PDF seller-status output, e_invoice_profile is the configured ZUGFeRD/Factur-X profile; it is not a seller identity profile. The tool returns configuration status rather than private seller values.

What reversible mode adds

Reversible mode is for routine admin work that can be read back and restored or removed:

  • create or update products and variants;
  • create or update coupons and customers;
  • create or update shipping zones, methods and classes;
  • create or update tax classes, rates and shipping overrides;
  • create or update attribute groups and terms;
  • create or update order bumps and upgrade paths;
  • update product stock and taxonomy assignments;
  • update the reviewed tax settings document.
  • update only a subscription's total billing-cycle limit (bill_times) through a narrow, guarded path. It performs a best-effort preflight against fresh bill_times and bill_count, then verifies the result before it reports success. FluentCart 1.6 has no atomic version precondition; an ambiguous failure reports that the mutation may have applied and tells the caller to re-fetch instead of retrying blindly. 0 means unlimited billing cycles; a finite limit cannot move to or below the number of cycles already billed. Only store-billed manual or system subscriptions qualify; gateway-billed automatic subscriptions and subscriptions with linked FluentCart Pro licences fail closed before a write.

Subscription lifecycle endpoints remain out of scope. In FluentCart 1.6, pausing, resuming, or reactivating can change scheduled charges or related renewal state in ways the server cannot prove it can restore. The fact that an endpoint exists is not an undo button. Charges, renewal creation, skipping, voiding, resending, transaction synchronisation, refunds, and cancellation stay absent. The generic store-settings tool also rejects subscription_management_mode and subscription_system_charge; store-wide billing controls need their own dedicated guard.

Subscription gateway resync (fluentcart_subscription_fetch) is absent too. FluentCart 1.6 uses it to contact the gateway and can update local subscription state, which makes the old “read” label wrong. Use the FluentCart admin when a gateway resync is genuinely needed.

Create operations are not advertised as idempotent when FluentCart would create a duplicate on retry. Update operations are marked idempotent only when writing the same state twice has the same result.

Enable the mode explicitly:

{
  "env": {
    "FLUENTCART_WRITE_MODE": "reversible"
  }
}

What is not available

This server does not expose:

  • file uploads;
  • refunds or subscription cancellation;
  • deletion;
  • bulk mutations;
  • order-status changes or marking an order paid;
  • dispute handling or transaction-status changes;
  • role and permission changes;
  • plugin installation or integration credential changes;
  • emails, login actions or other external side effects.

No mode, environment variable or presentation style brings those actions back. Use FluentCart's admin or official operator tooling when you need them.

Presentation modes

All modes use the same filtered registry. Changing mode changes presentation, not authority.

ModeWhat the client seesBest for
dynamic (default)Three read tools; four with reversible writesSmall context and broad discovery
curatedA reviewed shortlist registered directlyCommon shop workflows with fewer discovery calls
codeTwo read-only tools over an isolated JavaScript sandboxJoining several reads before returning a concise result
fullEvery definition this store and principal may useClients that prefer direct schemas and have room for them

Current measured counts and definition-token costs live in fluentcart-mcp/release-contract.json. They are generated from the built server rather than copied into this page.

Optional native FluentCart abilities

FluentCart supplies native WordPress Abilities for several advanced reads. The bridge is off by default and requires its own WordPress Application Password. The 2.1.0 evidence refresh audits the target runtime at FluentCart Core 1.6.0 and Pro 1.6.0:

FLUENTCART_ABILITIES_MODE=enabled
FLUENTCART_ABILITIES_USERNAME=ability-reader
FLUENTCART_ABILITIES_APP_PASSWORD=your-separate-application-password

It adds three read-only entry points:

ToolPurpose
fluentcart_search_abilitiesSearch the audited reads discovered on this store
fluentcart_describe_abilitiesInspect the live input and output schema
fluentcart_execute_read_abilityValidate and execute one admitted read

Unknown abilities and all native writes remain absent. If the live catalogue or its read-only metadata drifts from the audited contract, startup fails closed.

Annotations

Tool annotations tell a client what it may safely do:

AnnotationMeaning
Read-onlyThe operation does not change store state
IdempotentRepeating the same call has the same effect
DestructiveThe operation removes or irreversibly overwrites data
Open-worldThe operation creates data or reaches outside the current record

The server uses annotations together with its own risk registry. A friendly description never overrides policy.

Where the exact truth lives

  • release-contract.json — measured profiles, modes, counts, protocols and release evidence
  • manifest.json — packaged MCP metadata and advertised public tools
  • compatibility-support.json — captured FluentCart route and Ability evidence
  • your client's tools/list response — the actual surface for that store and principal

FluentCart 1.6+ compatibility

Version 2.1.0 is the FluentCart 1.6+ compatibility release: route discovery was refreshed and the nonfunctional legacy tax-country delete definition is absent. It represented an endpoint that could not execute, not a missing feature to restore.

The new renewal read surface is included. “1.6+” identifies the FluentCart family this work targets. The exact runtime verified for this release is WordPress 7.0.2 with FluentCart Core 1.6.0 and FluentCart Pro 1.6.0; it is not a blank cheque for a release that has not been tested yet.

On this page