PluginBench
MCP Server
Active
MIT

Finance MCP MCP Server

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

What is the Finance MCP MCP server?

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

How to install Finance MCP

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • WEBULL_APP_KEY
    secret

    Webull OpenAPI app key. Without it prices fall back to Yahoo and the account and order tools are unavailable; everything else still works.

  • WEBULL_APP_SECRET
    secret

    Webull OpenAPI app secret. Signs every request; the app key alone cannot authenticate.

  • WEBULL_REGION_ID

    Webull region: us, hk, jp, sg, th, my, uk, au, eu, br, mx, za.

  • WEBULL_ENVIRONMENT

    prod 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_BROKER

    Which 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_TOKEN
    secret

    Only 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_ENVIRONMENT

    sim or live. Selects Saxo's simulation gateway or the live one.

  • IBKR_BASE_URL

    Only 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.

  • IBKR_TLS_INSECURE

    Set to 1 to accept the Client Portal Gateway's self-signed certificate unverified, or point IBKR_CACERT at it instead. This is a decision about the connection carrying your orders, so it is never made for you.

  • SEC_USER_AGENT

    A descriptive User-Agent with a real contact address, e.g. 'Jane Doe (jane@example.com)'. The SEC's fair-access policy requires it and the filings tools refuse to send requests without one rather than risk an IP ban.

  • BLS_API_KEY
    secret

    Optional. 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.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "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": "<YOUR_WEBULL_REGION_ID>",
        "WEBULL_ENVIRONMENT": "<YOUR_WEBULL_ENVIRONMENT>",
        "FINANCE_BROKER": "<YOUR_FINANCE_BROKER>",
        "SAXO_ACCESS_TOKEN": "<YOUR_SAXO_ACCESS_TOKEN>",
        "SAXO_ENVIRONMENT": "<YOUR_SAXO_ENVIRONMENT>",
        "IBKR_BASE_URL": "<YOUR_IBKR_BASE_URL>",
        "IBKR_TLS_INSECURE": "<YOUR_IBKR_TLS_INSECURE>",
        "SEC_USER_AGENT": "<YOUR_SEC_USER_AGENT>",
        "BLS_API_KEY": "<YOUR_BLS_API_KEY>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "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": "<YOUR_WEBULL_REGION_ID>",
        "WEBULL_ENVIRONMENT": "<YOUR_WEBULL_ENVIRONMENT>",
        "FINANCE_BROKER": "<YOUR_FINANCE_BROKER>",
        "SAXO_ACCESS_TOKEN": "<YOUR_SAXO_ACCESS_TOKEN>",
        "SAXO_ENVIRONMENT": "<YOUR_SAXO_ENVIRONMENT>",
        "IBKR_BASE_URL": "<YOUR_IBKR_BASE_URL>",
        "IBKR_TLS_INSECURE": "<YOUR_IBKR_TLS_INSECURE>",
        "SEC_USER_AGENT": "<YOUR_SEC_USER_AGENT>",
        "BLS_API_KEY": "<YOUR_BLS_API_KEY>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "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": "<YOUR_WEBULL_REGION_ID>",
        "WEBULL_ENVIRONMENT": "<YOUR_WEBULL_ENVIRONMENT>",
        "FINANCE_BROKER": "<YOUR_FINANCE_BROKER>",
        "SAXO_ACCESS_TOKEN": "<YOUR_SAXO_ACCESS_TOKEN>",
        "SAXO_ENVIRONMENT": "<YOUR_SAXO_ENVIRONMENT>",
        "IBKR_BASE_URL": "<YOUR_IBKR_BASE_URL>",
        "IBKR_TLS_INSECURE": "<YOUR_IBKR_TLS_INSECURE>",
        "SEC_USER_AGENT": "<YOUR_SEC_USER_AGENT>",
        "BLS_API_KEY": "<YOUR_BLS_API_KEY>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "hitl-finance-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "hitl-finance-mcp"
      ],
      "env": {
        "WEBULL_APP_KEY": "<YOUR_WEBULL_APP_KEY>",
        "WEBULL_APP_SECRET": "<YOUR_WEBULL_APP_SECRET>",
        "WEBULL_REGION_ID": "<YOUR_WEBULL_REGION_ID>",
        "WEBULL_ENVIRONMENT": "<YOUR_WEBULL_ENVIRONMENT>",
        "FINANCE_BROKER": "<YOUR_FINANCE_BROKER>",
        "SAXO_ACCESS_TOKEN": "<YOUR_SAXO_ACCESS_TOKEN>",
        "SAXO_ENVIRONMENT": "<YOUR_SAXO_ENVIRONMENT>",
        "IBKR_BASE_URL": "<YOUR_IBKR_BASE_URL>",
        "IBKR_TLS_INSECURE": "<YOUR_IBKR_TLS_INSECURE>",
        "SEC_USER_AGENT": "<YOUR_SEC_USER_AGENT>",
        "BLS_API_KEY": "<YOUR_BLS_API_KEY>"
      }
    }
  }
}
Claude Code
claude mcp add hitl-finance-mcp --env WEBULL_APP_KEY=<YOUR_WEBULL_APP_KEY> --env WEBULL_APP_SECRET=<YOUR_WEBULL_APP_SECRET> --env WEBULL_REGION_ID=<YOUR_WEBULL_REGION_ID> --env WEBULL_ENVIRONMENT=<YOUR_WEBULL_ENVIRONMENT> --env FINANCE_BROKER=<YOUR_FINANCE_BROKER> --env SAXO_ACCESS_TOKEN=<YOUR_SAXO_ACCESS_TOKEN> --env SAXO_ENVIRONMENT=<YOUR_SAXO_ENVIRONMENT> --env IBKR_BASE_URL=<YOUR_IBKR_BASE_URL> --env IBKR_TLS_INSECURE=<YOUR_IBKR_TLS_INSECURE> --env SEC_USER_AGENT=<YOUR_SEC_USER_AGENT> --env BLS_API_KEY=<YOUR_BLS_API_KEY> -- uvx hitl-finance-mcp

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Real-time global intelligence: markets, conflicts, country risk, energy, and infrastructure monitoring via 39 MCP tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with per-second metrics, ML-powered anomaly detection, and zero-configuration setup.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration platform with 100+ agents, swarm coordination, and self-learning memory for enterprise development.

68k
TypeScript
MIT
View repository →

Web scraping with stealth HTTP, real browsers, and Cloudflare bypass capabilities.

67k
Python
BSD-3-Clause
View repository →