Skip to main content

MCP server exposing Toshl Finance API to Claude Desktop

Project description

Toshl MCP

PyPI - Version PyPI - Downloads

Author: Fedele Mantuano

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.1.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.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: toshl_mcp-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d640e6aeb6a9ca63a30cd856b49cdddd902d77cf21b1e9c9469a39db96ea4311
MD5 3d7207f63ca79ea1a38b424dd67a4529
BLAKE2b-256 1c6a74bbeed874492948bc72c849127909ebe913a243f9ff5443896dfb0dcb0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: toshl_mcp-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d396b92d441fc48e1f510860c30f2a187555bcf56e0ff86e6569368cd21e6364
MD5 e4afd5dce0d19ebbcf31b62db17f7e3b
BLAKE2b-256 ebf727f1d249c2ec4bef7d3693ead4963cab106613b848935b250b571c9e0132

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