FinanceToolkit Docker & Self-Hosted Deployment

GitHub

Transparent and Efficient Financial Analysis

RAW Compose
1. Pull Image (DOCKERHUB) docker pull jerbouma/financetoolkit
2. Docker Run (1-Click Launch) docker run -d --name financetoolkit -p 8000:8000 --restart always jerbouma/financetoolkit:latest
3. Podman Run podman run -d --name financetoolkit -p 8000:8000 --restart always jerbouma/financetoolkit:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/jerbouma/financetoolkit:latest
5. ORAS Pull (OCI Artifact) oras pull jerbouma/financetoolkit:latest
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
# This file is meant for deploying the MCP server using Docker Compose. This, together with
# the Dockerfile, makes it possible to create a localhost deployment of the MCP server,
# which can be used for testing and development purposes or for running on a server.
#
# The server is currently already live at financetoolkit.jeroenbouma.com/mcp

services:
  finance-toolkit-mcp:
    build: .
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      MCP_TRANSPORT: streamable-http
      MCP_HOST: "0.0.0.0"
      MCP_PORT: "8000"
      FT_MCP_SECRET_KEY: "${FT_MCP_SECRET_KEY}"
      # 1 counts the tool calls and publishes the totals at /stats; the counts are kept
      # in mcp_stats.json on the volume below. Off by default.
      FT_MCP_ANALYTICS: "${FT_MCP_ANALYTICS:-0}"
    volumes:
      - ft_cache:/root/.config/financetoolkit
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 15s

volumes:
  ft_cache: