RO

riseup-oss/mcp

Developer tools
36 stars 4 forks Quality 83 Trend 32MIT

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.

Overview

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.

README

@riseup-oss/mcp

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.

What you can do with it

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.

Installation

npm install -g @riseup-oss/mcp

Requires Node.js 18+.

Setup

1. Create a Personal Access Token

Visit RiseUp’s developer tokens page and create a token. While creating it, select the scopes it should have — select one or more of:

Scope Shown on the page as Enables
budget:read תקציב get_budget, get_transactions, get_future_bank_balances_prediction (together with balances:read)
balances:read יתרות בנק get_current_bank_balances_data, get_historical_bank_balances_data, get_future_bank_balances_prediction (together with budget:read)
mortgages:read משכנתא get_mortgages_data
benchmarks:read השוואה ללקוחות דומים get_benchmarks_data

A tool called without its scope fails with a 403 that names the missing scope. Scopes can’t be added to an existing token — to use more tools later, create a new token with the scopes you need.

Copy the token. It is shown only once.

The token looks like riseup_pat_.

2. Configure your MCP client

Claude Desktop

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.

Claude Agent SDK

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 },
    },
  },
});

Environment variables

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

Tools (v0.6)

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), latest first. Filters combine with AND; maxTransactions (default 10000) keeps only the latest N. Each transaction includes its category, expense type, exclusion flag, and your comments / payment-app memo. See the transactions reference.
get_mortgages_data mortgages:read Get the customer’s mortgage: remaining balance, interest and principal, monthly payment, parts (tracks), last month’s mortgage payments in the cashflow, and potential savings with RiseUp’s mortgage product. See the mortgages reference.
get_current_bank_balances_data balances:read Get the current balance of each bank account, with when it was last updated. See the current balances reference.
get_historical_bank_balances_data balances:read Get daily bank balances over the last 1–90 days per account, with min / max / average. See the historical balances reference.
get_future_bank_balances_prediction balances:read + budget:read Predict each bank account’s balance at the end of a future date (futureDateForPrediction, YYYY-MM-DD, up to the end of the next cashflow month), from the current balance, the transactions to be billed until then and the predicted fixed expenses and incomes. See the future balances reference.
get_benchmarks_data benchmarks:read Compare the customer’s spending on eating out, groceries (כלכלה), electricity, insurance, mortgage, loans, communication, car and public transport with similar RiseUp customers. See the benchmarks reference.

The balance tools need a token with the balances:read scope (get_future_bank_balances_prediction needs budget:read as well), get_mortgages_data needs mortgages:read and get_benchmarks_data needs benchmarks:read; get_budget and get_transactions work with budget:read. More tools (get_cashflow) coming in future releases.

Documentation

Longer-form docs live in docs/:

Security

  • 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.

Development

git clone [email protected]:riseup-oss/mcp.git
cd mcp
npm install
npm run build
npm test

Local smoke tests

examples/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=current

examples/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.json

Both 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.

License

MIT

View the full README on GitHub

Install

npx -y @riseup-oss/mcp
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "riseup": { "command": "npx", "args": ["-y", "@riseup-oss/mcp"], "env": { "RISEUP_PAT": "riseup_pat_paste_your_token_here" } } } }