Official MCP server for RiseUp — programmatic read-only access to your own cashflow data from Claude Desktop, Base44, the Claude Agent SDK, and other MCP clients.
Status: v0.1. The package returns real data via the RiseUp API.
Once installed and configured, ask your AI assistant questions like:
- "What's my RiseUp budget for this month?"
- "Show me my budget for May 2026."
- "Compare my budget to last month."
The assistant calls the get_budget tool, which fetches your real cashflow data through RiseUp's Exposed API using a Personal Access Token (PAT) you created.
npm install -g @riseup-oss/mcpRequires Node.js 18+.
Visit RiseUp's developer tokens page, create a token, pick the budget:read scope, and copy it. It is shown only once.
The token looks like riseup_pat_<32-bytes-base64url>.
Add to your claude_desktop_config.json (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"riseup": {
"command": "npx",
"args": ["-y", "@riseup-oss/mcp"],
"env": {
"RISEUP_PAT": "riseup_pat_paste_your_token_here"
}
}
}
}Fully quit Claude Desktop (Cmd+Q on macOS) and reopen — closing the window isn't enough. Claude Desktop reads claude_desktop_config.json only at startup, so any change to RISEUP_PAT or other env values needs a full restart to take effect. After restart, the get_budget tool should appear.
import { Claude } from '@anthropic-ai/claude-agent-sdk';
const claude = new Claude({
mcpServers: {
riseup: {
command: 'npx',
args: ['-y', '@riseup-oss/mcp'],
env: { RISEUP_PAT: process.env.RISEUP_PAT },
},
},
});| Variable | Required | Default | Description |
|---|---|---|---|
RISEUP_PAT |
yes | — | Your riseup_pat_… Personal Access Token |
RISEUP_API_BASE |
no | https://input.riseup.co.il |
Override for staging / dev environments |
| Tool | Scope | Description |
|---|---|---|
get_budget |
budget:read |
Get the customer's budget for a given month. Accepts YYYY-MM, current, or previous. Returns envelopes (categories) with planned amounts and their actual transactions. |
get_transactions |
budget:read |
Get individual cashflow transactions filtered by cashflowMonth (YYYY-MM), transactionDate (YYYY-MM-DD), or businessName (case-insensitive substring). Filters combine with AND. |
More tools (get_balances, get_cashflow) coming in future releases.
Longer-form docs live in docs/:
- Quickstart — first API call in five minutes
- Authentication — token format, headers, revocation, the
X-Riseup-Token-Refcorrelation header - Rate limits — limits, the
429shape, how to handle it - Errors — the full error catalog
- Budget reference — the three budget endpoints in detail
- The PAT lives only in your local MCP client config — it is never sent to Anthropic or any third party. The MCP server runs on your machine; it only communicates with the RiseUp API and your local MCP client.
- The token is read-only. It cannot make changes to your account.
- Tokens expire after 30 days by default. Revoke a token any time at
/developer/tokens. - Never share your token, paste it into a chat, or commit it to source control.
git clone git@github.com:riseup-oss/mcp.git
cd mcp
npm install
npm run build
npm testexamples/smoke-test.mjs drives the built MCP server as a real MCP client (same @modelcontextprotocol/sdk stdio transport Claude Desktop uses), calls get_budget, and prints PII-safe shape signals about the response — useful for verifying the end-to-end pipeline (PAT → RiseUp API → back) without piping an LLM into the loop:
RISEUP_PAT=riseup_pat_... RISEUP_API_BASE=http://127.0.0.1:6040 \
node examples/smoke-test.mjs --date=currentexamples/fetch-budget.mjs is a lower-level alternative that calls the HTTP endpoint directly and dumps the JSON body to stdout for local inspection:
RISEUP_PAT=riseup_pat_... node examples/fetch-budget.mjs 2026-05 > /tmp/budget.jsonBoth default RISEUP_API_BASE to http://127.0.0.1:6040 because Node 18's fetch resolves localhost to ::1 and most servers bind IPv4 only — set explicitly if your local API server is elsewhere.
MIT