leeway-financial-data
Forecast + analytics market data for AI agents: financial forecasts (revenue/net income/EPS), fundamental screening, historical market cap across 70+…
What it can do
- General Isin: Resolve a company name or ISIN to its primary stock symbol and exchange. Use this first if you only have a name or ISIN. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or
- General Mainstock: Find the primary listing for a given ISIN. Useful to avoid secondary or illiquid listings. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange
- General Symbols: List all available stock symbols for a specific exchange (e.g., XETRA, NYSE). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use
What data it sees
Do you need an account
An API key from the service settings is required
Forecast + analytics market data for AI agents: financial forecasts (revenue/net income/EPS), fundamental screening, historical market cap across 70+ exchanges and 100k+ tickers. OAuth 2.1 or API token.
How to connect
How to connect leeway-financial-data to Claude
The server address to paste into Claude settings:
https://leeway-financial-data--lars-wissler.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect leeway-financial-data to ChatGPT
The server address to paste into ChatGPT settings:
https://leeway-financial-data--lars-wissler.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect leeway-financial-data to Cursor
The server address to paste into Cursor settings:
https://leeway-financial-data--lars-wissler.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (32)
Raw names from tools/list. Only developers need these.
| general_isin | Resolve a company name or ISIN to its primary stock symbol and exchange. Use this first if you only have a name or ISIN. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/isin/{isin}) |
| general_mainstock | Find the primary listing for a given ISIN. Useful to avoid secondary or illiquid listings. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/mainstock/{isin}) |
| general_symbols | List all available stock symbols for a specific exchange (e.g., XETRA, NYSE). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/symbols/{exchange}) |
| general_exchanges | List all supported stock exchanges and their codes. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/exchanges) |
| general_screener | Filter and find stocks based on fundamental criteria like ROE, margins, market cap, and industry. Returns a list of candidates. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/screener) |
| general_tradingperiod | Get the first and last date the requested stock was tradable on the exchange. Returns two datestrings in an object. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/tradingperiod/{symbolExchange}) |
| general_dailyrequestsleft | Check how many API request units are remaining for the current day. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/general/dailyrequestsleft) |
| historicalquotes_benchmark | Get absolute and relative performance vs. benchmark indices or ETFs. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/historicalquotes/benchmark) |
| historicalquotes_marketwide-lastday-quote | One OHLCV bar per listed instrument on an exchange for a trading day—useful for screening an entire market in one call across 70+ exchanges. Omit date for the latest session. Costs 1 request unit per call. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/historicalquotes/marketwide-lastday-quote/{exchange}) |
| historicalquotes | Get historical end-of-day price data (OHLCV) for a symbol. Format: SYMBOL.EXCHANGE (e.g., SAP.XETRA). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/historicalquotes/{symbolExchange}) |
| historicalquotes_marketcap | Get historical market capitalization data for a company. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/historicalquotes/marketcap/{symbolExchange}) |
| historicalquotes_marketcap_aggregation | Aggregated valuation multiples across sectors, countries and market cap. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/historicalquotes/marketcap/aggregation/{type}) |
| fundamentals | Get comprehensive company fundamentals including balance sheet, income statement, and cash flow for up to 20 years. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/fundamentals/{symbolExchange}) |
| fundamentals_keyfigures | Get calculated key figures (margins, growth, analyst metrics) as time series for a symbol. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/fundamentals/keyfigures/{symbolExchange}) |
| fundamentals_forecast | Get fundamental forecasts and analyst estimates for a company. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/fundamentals/forecast/{symbolExchange}) |
| live_relative-move | Compare today's price change to the average daily range over the last year (unusual move detection). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/live/relative-move/{symbolExchange}) |
| live | Get the latest real-time or near-real-time price quote for a symbol. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/live/{symbolExchange}) |
| dividends | Get the most recent dividend information for a stock. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/dividends/{symbolExchange}) |
| dividends_history | Get the full historical dividend record for a stock. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/dividends/history/{symbolExchange}) |
| splits | Get historical stock split data. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/splits/{symbolExchange}) |
| intraday | Get intraday price data (1m, 5m, 1h intervals) for a symbol. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/intraday/{symbolExchange}) |
| events_ipos | List upcoming or recent Initial Public Offerings (IPOs). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/events/ipos) |
| events_earnings | Get the earnings calendar for upcoming corporate reports. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/events/earnings) |
| events_trends | Get trending stocks and market sentiment signals. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/events/trends) |
| events_splits | Split dates of securities at covered exchanges in the requested timeframe. Uses 2 API calls per request. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/events/splits) |
| img_logos | Logos for publicly traded companies. Paths can be found in the fundamentals JSON. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/img/logos/{path}) |
| img_logosbycodeexchange | Logos for publicly traded companies. Paths can be found in the fundamentals JSON. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/img/logosbycodeexchange/{codeexchange}) |
| macro_indicators | List available macroeconomic indicators (GDP, inflation, etc.). All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/macro/indicators) |
| macro_countries | List supported countries for macroeconomic data. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/macro/countries) |
| macro | Get macroeconomic data for a specific country. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/macro/{country}) |
| bond | Get data for corporate or government bonds by ISIN. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/bond/{isin}) |
| news | Get the latest financial news and articles. All symbols must use the format SYMBOL.EXCHANGE (e.g., AAPL.US or SAP.XETRA). If exchange is unknown, use general_isin first. (Path: GET /api/v1/public/news/) |