Skip to content

germankoch/zenmoney

v0.2.1MIT

Read accounts, transactions, categories and budgets, and manage transactions in your personal ZenMoney account.

ZenMoney

Personal ZenMoney tools for ChatGPT and Codex, served by the hosted MCP endpoint.

Connect

This package references a registered private ZenMoney MCP connection in the ignored .app.json. A raw MCP URL in an uploaded package does not by itself establish that cloud connection.

  1. Install or update ZenMoney, then connect its ZenMoney MCP dependency.
  2. In the opened authorization page, paste your token from https://zerro.app/token.
  3. Select Подключить ZenMoney. The browser returns to ChatGPT/Codex.
  4. Start a new chat, select ZenMoney with @, and ask for your account balances.

Before packaging for your deployment, use ChatGPT's Plugins → Add → Add custom MCP server, enter MCP_RESOURCE_URL from your local Worker config, choose OAuth, and create the connection. Copy .app.example.json to .app.json and replace the placeholder with that connection's verified App ID. The packaging script requires this local file and includes it in the generated archive under dist/; neither local identifiers nor archives are committed.

The ZenMoney token goes directly to the server over HTTPS. It is not put in this package or sent to the model. The MCP client receives a separate scoped OAuth credential with its own refresh token.

This instance accepts only the ZenMoney account already configured by its owner. It is not a public multi-tenant service. Tools can read accounts, categories, budgets and transactions, and create, update and delete transactions.

Token renewal

The server preserves an existing authorized refresh grant for the same account and checks it in the background every 30 minutes, renewing near expiry. A token copied from Zerro alone does not provide a refresh grant. If no usable grant is stored and the access token expires, reconnect and paste a new token.

Plugin packaging/authentication reference: https://developers.openai.com/plugins/build/plugins

Directory publishing and workspace installation are separate from this package; creating the archive does not publish or install it in your ChatGPT account.