Finance MCP

io.github.Blahaj-gif/hitl-finance-mcp

Market data, SEC filings and risk tools for Webull, Saxo and IBKR. Only you can send an order.

Connect this server

Add this to your MCP client config — claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor).Suits: Claude Desktop · Cursor.

{
  "mcpServers": {
    "hitl-finance-mcp": {
      "command": "uvx",
      "args": [
        "hitl-finance-mcp"
      ],
      "env": {
        "WEBULL_APP_KEY": "<your WEBULL_APP_KEY>",
        "WEBULL_APP_SECRET": "<your WEBULL_APP_SECRET>",
        "WEBULL_REGION_ID": "us",
        "WEBULL_ENVIRONMENT": "prod",
        "FINANCE_BROKER": "webull",
        "SAXO_ACCESS_TOKEN": "<your SAXO_ACCESS_TOKEN>",
        "SAXO_ENVIRONMENT": "sim",
        "IBKR_BASE_URL": "https://localhost:5000/v1/api",
        "BLS_API_KEY": "<your BLS_API_KEY>"
      }
    }
  }
}
Environment variables
  • WEBULL_APP_KEYsecretWebull OpenAPI app key. Without it prices fall back to Yahoo and the account and order tools are unavailable; everything else still works.
  • WEBULL_APP_SECRETsecretWebull OpenAPI app secret. Signs every request; the app key alone cannot authenticate.
  • WEBULL_REGION_IDWebull region: us, hk, jp, sg, th, my, uk, au, eu, br, mx, za.
  • WEBULL_ENVIRONMENTprod trades the real account. paper repoints the ENTIRE client at Webull's sandbox, quotes included, and needs separate sandbox credentials — production keys return 401 there.
  • FINANCE_BROKERWhich broker adapter the account and order tools use, and where prices come from: webull, saxo or ibkr. Only the tools the configured broker can serve are registered, so the tool list never advertises one that would refuse. Webull is the only adapter that has been run against a live account; saxo and ibkr are written from published documentation and say so in every result they produce.
  • SAXO_ACCESS_TOKENsecretOnly for FINANCE_BROKER=saxo. A 24-hour simulation token comes from Saxo's Developer Portal with no approval process and no live money; live access needs the OAuth2 code flow. UNVERIFIED ADAPTER.
  • SAXO_ENVIRONMENTsim or live. Selects Saxo's simulation gateway or the live one.
  • IBKR_BASE_URLOnly for FINANCE_BROKER=ibkr. This is the Client Portal Web API, not the TWS socket API: run IBKR's Client Portal Gateway and log in at https://localhost:5000 in a browser first. A paper account works and is the better choice. UNVERIFIED ADAPTER.
  • BLS_API_KEYsecretOptional. BLS allows 25 macro queries a day without a key; a free key raises it to 500 and extends history from 10 to 20 years.

A starting point — check the repository for exact arguments and setup. Restart your client after editing the config.

Category
Developer Tools
Version
0.5.0
Registry
active
Published
11/6/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that Finance MCP is listed here — it’s also the link we check for a free listing.

Finance MCP — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-blahaj-gif-hitl-finance-mcp?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="Finance MCP — listed on Serverdex" width="123" height="40" loading="lazy"></a>

Recommended. A dofollow link from your own domain is the one that counts for search engines, and it's the link we check for a free listing.

Markdown — for your README

[![Finance MCP — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-blahaj-gif-hitl-finance-mcp?utm_source=badge)

Nice for visibility, but GitHub marks README links nofollow, so it doesn't pass authority. Use the HTML badge on your site as well.