Skip to main content

MCP server exposing Toshl Finance API to Claude Desktop

Project description

Toshl MCP

Author: Fedele Mantuano mantuano.fedele@gmail.com

MCP server that connects Claude Desktop to the Toshl Finance API. Transport: stdio. Auth: Toshl Personal Token via HTTP Basic Auth.

Tools

Tool Description
get_accounts List accounts with balances
get_entries List transactions with date range, category, tag filters
get_categories List expense/income categories
get_tags List tags
get_budgets List budgets with current spending status
get_summary Aggregated stats (totals, averages) for a date range

Requirements

  • Python 3.13 or 3.14
  • uv
  • Toshl Personal Token — generate at Toshl → Profile → Apps & tokens

Claude Desktop Configuration

1. Install uv (if not already installed):

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Install the package into a dedicated virtualenv:

With uv:

uv venv ~/.toshl-mcp
uv pip install --python ~/.toshl-mcp/bin/python toshl-mcp

Or with pip:

python3 -m venv ~/.toshl-mcp
~/.toshl-mcp/bin/pip install toshl-mcp

3. Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "toshl": {
      "command": "/Users/<your-username>/.toshl-mcp/bin/toshl-mcp",
      "env": {
        "TOSHL_TOKEN": "<your-toshl-personal-token>"
      }
    }
  }
}

Replace <your-username> with your macOS username (run whoami to confirm).

Environment Variables

Variable Required Default Description
TOSHL_TOKEN Yes Toshl Personal Token
LOG_LEVEL No WARNING Logging level (DEBUG, INFO, WARNING, ERROR)

Development

Setup

1. Install uv (if not already installed):

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Install all dependencies:

uv sync --all-groups

3. Install pre-commit hooks:

make pre-commit

Make commands

make install     # install dependencies
make lint        # check code
make lint-fix    # check and auto-fix
make format      # format code
make test        # run tests
make test-cov    # run tests with coverage report
make pre-commit  # run all pre-commit hooks
make dev         # start MCP inspector (requires .env)
make clean       # remove build artifacts and caches

Note: Stage changes with git add before running make pre-commit — unstaged files are ignored.

Testing with MCP Inspector

The MCP Inspector lets you call tools interactively in a browser without Claude Desktop.

1. Create a .env file in the project root:

TOSHL_TOKEN=your-personal-token-here

2. Start the inspector:

make dev

3. Open http://localhost:6274 in your browser.

4. Connect — click Connect in the top bar.

5. Test tools:

  • Click Tools in the left sidebar
  • Click List Tools to see all six tools
  • Select a tool (e.g. get_accounts), fill in any parameters, click Run

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toshl_mcp-0.1.1.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

toshl_mcp-0.1.1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file toshl_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: toshl_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for toshl_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f55f0db5d438ea950e49260088282a53a1ffe008770dbfa98d0f1f7ef135b605
MD5 84ee6c40ec1201b55a1337e0f3262888
BLAKE2b-256 c3421715816ddec7362fd8f7f17f4351ac81ed8f03fc861d234994a8d4541a02

See more details on using hashes here.

File details

Details for the file toshl_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: toshl_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for toshl_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e518652cbb820e07e482f48cfbd1296b3b11aa3399fce7579fc0c9b9fac4f02b
MD5 ff40591231bebf7fea508546f89c1523
BLAKE2b-256 5e0d9f95b33cd0606a721fee23d91340c785a68d95201f346a3684029e79b048

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page