CashStream plugin
The precision of a spreadsheet, without the friction.
Connect your agent to CashStream to manage accounts, transactions, recurring flows, and budget envelopes.
Version 0.2.4 includes a portable Agent Plugins package, a Codex package, and a
Claude Code package. Both client packages are generated from the same canonical
skills. Their MCP endpoint is https://cashstream.quentin-berger.fr/mcp.
Included skills
cashstreamis reference documentation: accounts, payees, transactions and split lines, envelopes, recurring business objects, occurrences, and their relationships. Its data model and MCP contract explain balances, statuses, transfers, partial payments, and tool capabilities. Loading it does not start a workflow or change records.cashstream-import-statementimports transactions from statements, CSV/PDF files, screenshots, pasted lists, or messages. It matches existing records, reconciles settled planned entries, checks duplicates, assigns split envelopes, and links known payments to scheduled occurrences before writing the decided changes through MCP. When identification, values, matches, or requested assignments are uncertain, it asks the user and waits before the affected writes. Newly inferred recurring flows are proposed with their schedule and require the user's decision.
The package intentionally has two skills: the shared documentation and the transaction-import workflow. Both use the same object model and live MCP tools.
Authentication and permissions
The service uses OAuth Authorization Code with PKCE S256 and dynamic client registration. The client opens CashStream for sign-in and consent, then uses the issued tokens for MCP requests. No API key or secret belongs in this package.
cashstream.readreads the connected user's accounts, transactions, payees, envelopes, and recurring schedules.cashstream.writecreates, changes, and archives those records and allocates money to envelopes, within the connected user's server-side permissions.
The native packages request both scopes for their included read/write workflows.
For a ChatGPT connection intended only for analysis, request cashstream.read
alone. The service enforces authorization independently of editable skills.
CashStream does not offer automatic bank synchronization at launch. Imports require supplied records, and reviews depend on how current the account data is.
Install in Codex
codex plugin marketplace add cashstreamhq/cashstream-plugin
codex plugin add cashstream@cashstream-marketplace
Start a new session and complete OAuth when prompted. The marketplace name and
the plugins/cashstream package path are preserved from the original 0.1.0
package so existing installations keep the same identity.
The repository was transferred from Quentin-BRG/cashstream-plugin to
cashstreamhq/cashstream-plugin. GitHub redirects the former clone URL; existing
installations retain cashstream@cashstream-marketplace, the package paths,
the public MCP endpoint, and the same OAuth scopes. New installations should use
the organization URL above.
To update the marketplace:
codex plugin marketplace upgrade cashstream-marketplace
Then refresh or reinstall CashStream from that marketplace in your client.
Connect in ChatGPT
The MCP endpoint can be connected as a custom ChatGPT plugin, subject to account and workspace policies:
- Open Plugins, select +, then Add custom MCP server.
- Enter
https://cashstream.quentin-berger.fr/mcp. - Select OAuth and Dynamic Client Registration when registration options are offered. The service publishes its endpoints through discovery.
- Complete the linking flow, review the discovered tools, and test the connection.
This repository does not contain a registered ChatGPT connection ID. Publishing the GitHub repository does not register or list a plugin in the ChatGPT directory. Use the portable package for supported package-import/submission workflows and follow OpenAI's connection guide and packaging guide.
The portable mcp.json stays within the Agent Plugins 1.0.0 schema; OAuth is
discovered from the service. No static bearer token is embedded in a manifest.
Claude Code preview
The Claude Code package follows the layout used by synapse-plugin:
claude plugin marketplace add cashstreamhq/cashstream-plugin
claude plugin install cashstream@cashstream-marketplace
Start a new session or reload plugins, then complete OAuth through /mcp if
prompted. Static package validation does not establish interactive client or
OAuth compatibility; the Claude package is a preview until that flow is tested.
Repository layout
plugin.json Portable Agent Plugins manifest
mcp.json Portable MCP configuration
skills/cashstream/ Documentation skill and shared references
skills/cashstream-import-statement/ Transaction-import skill
assets/ CashStream SVG symbol (without wordmark)
archive/branding/ Original PNG (excluded from plugin packages)
plugins/cashstream/ Generated Codex compatibility package
plugins/claude/ Generated Claude Code compatibility package
.agents/plugins/marketplace.json Codex repository marketplace
.claude-plugin/marketplace.json Claude Code repository marketplace
scripts/ Sync, validation, and ZIP packaging
The portable source of truth and generated compatibility packages follow the approach used by weave-plugin.
Develop and validate
Python 3.10 or newer is sufficient. Validation uses JSON Schema and YAML:
python -m pip install -r requirements-dev.txt
python scripts/sync_packages.py
python scripts/sync_packages.py --check
python scripts/validate_plugin.py
python scripts/build_plugin.py
Builds create dist/cashstream-portable-0.2.4.zip,
dist/cashstream-codex-0.2.4.zip, and dist/cashstream-claude-0.2.4.zip.
CI validates schema conformance, skill metadata, package paths, OAuth scope
consistency, and generated-file parity. It also builds the three archives.
Actual login, token refresh, and financial writes require separate end-to-end
validation against the service; a green packaging check does not claim those pass.
Repository boundary and license
This public repository contains plugin manifests, skills, packaging scripts, catalogs, and documentation. The CashStream service, application source, database, financial records, and infrastructure are outside this distribution.
Copyright 2026 Quentin Berger. Licensed under Apache License 2.0. This license applies to the plugin distribution, not the CashStream service.