# Xynthera AI — connect a prepaid budget to a local AI client

## 1. Choose your budget

Open https://xynthera-ai.toasty-seal-8877.chatgpt.site/payg.html, choose the eligible billing country and exact amount (€10–€10,000 including applicable tax). Save the private code, then confirm the one-time Stripe payment yourself. No agent purchase, recurring payment or automatic recharge is provided. The amount excluding tax funds a shared balance across the three operations.

## 2. Keep your private code outside the conversation

The code saved before checkout is your budget credential. Put it only into your own private client configuration or secret store. Never paste it into a chat prompt, URL, shared repository, exported workflow or support email. There is no second API-key creation step. Read balance without consuming credit and proceed only after actual activation.

## 3. Load the local MCP adapter

The kit contains `mcp/server.mjs`, a Node.js 20+ local stdio adapter. It is separate from the remote legacy subscription MCP endpoint. It calls only the three prepaid HTTP APIs using the private Bearer code; it cannot purchase, recharge or create an order. The local adapter must run in your own trusted client environment. It is not a cloud OAuth connector or marketplace listing. This preparation does not install anything on the seller's computer.

Claude Desktop example: open Settings → Developer → Edit Config. Merge the `xynthera-ai-prepaid` entry from `claude-desktop.example.json` into the existing `mcpServers` object; keep your other entries. Replace the path with the absolute location of `mcp/server.mjs` on your machine. Replace the secret placeholder **locally**, never in the chat. For Windows, use escaped backslashes in JSON, for example `C:\\Users\\YOUR_USER\\Downloads\\xynthera-ai-integration-kit\\mcp\\server.mjs`. If `node` is not found by the client, use its installed absolute executable path. Fully quit/restart your client after changing its configuration.

The example defaults `XYNTHERA_MCP_SESSION_MAX_EUR` to `0`: paid tools are blocked. The first prompt can be: “List the Xynthera AI operations and read my remaining balance. Do not run any paid check.” Tools: `get_catalog`, `read_balance`, `reconcile_invoice`, `check_contract`, `check_events`. Paid tools receive `{ "input": { "request_id": "your-stable-id", ... } }`; use the corresponding synthetic JSON fixture inside `input`.

## Explicitly enable a spending limit

Only after reviewing prices and approving consumption, set a positive `XYNTHERA_MCP_SESSION_MAX_EUR` locally, then restart the adapter. For example `0.10` means a maximum €0.10 **excluding tax** per running adapter process: alternatively 20 invoice checks at €0.005, 10 contract checks at €0.010 or 50 event batches at €0.002, or a mixture fitting that same cap. The cap is a spending ceiling on already paid credit, not another payment. It does not reserve or transfer money to a vendor.

The session limit applies to one running process. Restarting starts a new cap; multiple configured instances have separate caps. The server’s shared remaining balance still gates each request. This is not a persistent daily/account-wide ceiling. Keep your AI client’s own tool-approval controls enabled if you require individual confirmation. The adapter’s explicit spending authorization is its positive configured session cap; it does not independently ask a human for each call.

A new request ID/input may consume the operation price even when findings report a business inconsistency. Identical successful requests can be returned from the adapter’s memory within its session. After a timeout or unknown outcome, the adapter conservatively holds that request’s allowance and blocks another MCP attempt with the same ID. Read the actual server status and review the outcome; if manual reconstruction is necessary, use the documented direct HTTP API with exactly the same ID, operation and full input. Do not raise limits or change IDs merely to bypass that uncertainty.

The MCP tool response contains a text content item whose text is the result JSON. Save the complete result JSON, including the nested receipt/report/signature. Keep complete returned reports/signatures yourself. The local adapter is not a report archive and the prepaid service does not store submitted documents/reports. Client/tool execution histories can retain submitted data under the client’s own settings; inspect those settings before using production data. Signatures are returned but do not turn caller-declared evidence into an independently verified bank payment, delivered event or legal certification.

Local protocol/transport tests qualify the adapter’s behavior. They do not establish compatibility with every desktop/cloud AI client or prove a real customer payment. The existing remote subscription endpoint retains its separate x-api-key interface and does not accept this prepaid code.

Official local-client configuration reference checked 13 October 2026: https://modelcontextprotocol.io/docs/develop/connect-local-servers .

Resource bounds also apply: 1,000 paid POST attempts and 256 unique IDs per process, bounded volatile response cache, and a 256 KiB response limit. Reaching a local bound does not replenish the paid server balance. Review any uncertain request before restarting; see `mcp/README.md` for precise behavior.
