Skip to main content

MCP server exposing Toshl Finance API to Claude Desktop

Project description

Toshl MCP

PyPI - Version PyPI - Downloads

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-1.0.0.tar.gz (18.4 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-1.0.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: toshl_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 18.4 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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e7b078f9041b19d50a0e76f6d8553c2ba0dffc19b2e0bf8805677d8c9093d67f
MD5 3b4356690488f667bcc1326562f0e4ea
BLAKE2b-256 dd704974074c961196ba29af57b366fe0df96059509fddc34189a15c8acce856

See more details on using hashes here.

File details

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

File metadata

  • Download URL: toshl_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 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-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1cc9869b4efafce393fcf60bb1101140598f8a635ed393d872218474e6ac667
MD5 cccbd179f6c0fef7cf7279d422b914d5
BLAKE2b-256 1027e394ada8b72b49864ef9da0db7bab44446bbaf98bb0c3ec63729dc0d9eb7

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