Skip to content
mcp/skillhub

Finance MCP Server

by blahaj-gifio.github.Blahaj-gif/hitl-finance-mcpv0.3.1

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

3Pythonstdioofficial registry

context tax

queued

security

queued

cold start

queued

freshness

Active28d ago

Install Finance MCP server

Install in Claude Code

claude mcp add hitl-finance -e WEBULL_APP_KEY='<webull-app-key>' -e WEBULL_APP_SECRET='<webull-app-secret>' -e SAXO_ACCESS_TOKEN='<saxo-access-token>' -e BLS_API_KEY='<bls-api-key>' -- uvx hitl-finance-mcp

Configuration

VariableRequiredSecretDescription
WEBULL_APP_KEY—yesWebull 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—yesWebull 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—yesOnly 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—yesOptional. 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.

Freshness

Active — last maintenance signal 28d ago. The newest of the signals below sets the band.

  1. Last commit (default branch)

    2026-09-12 · 28d ago · GitHub

  2. Latest release

    2026-08-12 · 58d ago · GitHub · v0.3.1

  3. Package published

    no data · npm/PyPI

  4. Registry entry updated

    2026-08-12 · 58d ago · official registry · v0.3.1

FAQ

›How do I install the Finance MCP server in Claude Code?

Run: claude mcp add hitl-finance -e WEBULL_APP_KEY='<webull-app-key>' -e WEBULL_APP_SECRET='<webull-app-secret>' -e SAXO_ACCESS_TOKEN='<saxo-access-token>' -e BLS_API_KEY='<bls-api-key>' -- uvx hitl-finance-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.

›Does Finance require an API key?

Yes. It expects WEBULL_APP_KEY, WEBULL_APP_SECRET, SAXO_ACCESS_TOKEN, BLS_API_KEY, of which 4 are secrets.

›Can I use Finance as a remote (hosted) MCP server?

No hosted endpoint is published; it runs locally over stdio.

›Is Finance in the official MCP registry?

Yes, as io.github.Blahaj-gif/hitl-finance-mcp.

Alternatives to Finance

Other finance & fintech MCP servers.

View all