Business Quant MCP Server
The Business Quant MCP server connects AI assistants — Claude, ChatGPT, Gemini, Le Chat, Perplexity, Cursor, VS Code Copilot, Claude Code, Windsurf, Codex and your own agents — to the same SEC-sourced financial data as the Fundamental Data API. Chat apps such as Claude and ChatGPT connect with your Business Quant sign-in, so there is no key to paste; developer tools and scripts connect with your API key. Then ask questions in plain English: "What did Apple's CFO say about gross margin on the last earnings call?" or "Find US stocks with market cap over $10B and P/E under 15." The assistant picks the right tool and pulls the data itself. There are 23 read-only tools covering company fundamentals, financial statements, segments, estimates, dividends, earnings call transcripts, insider and institutional ownership, SEC filings, quotes, screeners, funds and ETFs, and US economic data. It is free to use.
https://mcp.businessquant.com/mcp
Writing code instead? Every MCP tool is backed by a REST endpoint you can call directly — start with the Fundamental Data API overview. The most-used data in AI workflows is the Earnings Call Transcripts API, the Financial Statements API and the SEC Filing Section Extraction API.
1. Connection Details
Every client needs the server URL and the Streamable HTTP transport. It then proves who you are in one of two ways: by signing in with your Business Quant account (Claude, ChatGPT and other chat apps), or by sending your API key in a header (developer tools, scripts and agents). There is no separate MCP key or account.
| Setting | Value |
|---|---|
| Server URL | https://mcp.businessquant.com/mcp — include the /mcp path. |
| Transport | Streamable HTTP (MCP spec 2025-03-26 and later). Stateless — no session to manage. Clients that only support the older HTTP+SSE transport will not connect. |
| Sign-in (OAuth) | OAuth 2.1 with PKCE. The app discovers everything from the server URL (/.well-known/oauth-protected-resource), opens a Business Quant sign-in page, and asks you to Allow. Scope bq.read. Apps register by Client ID Metadata Document or Dynamic Client Registration. Access tokens last one hour and renew automatically; a connection unused for 90 days asks you to sign in again. |
| API key | Authorization: Bearer YOUR_API_KEY (preferred) or X-API-Key: YOUR_API_KEY. The key is not accepted as a URL parameter, so it never lands in logs or browser history. |
| Server name | Business Quant |
| Tools | 23, all read-only. |
2. Connect Claude, ChatGPT and Other Chat Apps
Chat apps connect with your Business Quant sign-in: the app sends you to a Business Quant page, you sign in and choose Allow, and you're done. The app never sees your password or your API key, and you can disconnect it at any time from Account → MCP Connectors, which also has one-click buttons for Claude, Cursor and VS Code.
| App | How to connect |
|---|---|
| Claude Web, desktop and mobile. Every plan (Free allows one custom connector). |
Team and Enterprise: an Owner adds the connector under Organization settings → Connectors, then each member clicks Connect. |
| ChatGPT Plus, Pro, Business, Enterprise and Edu, on the web. |
Business and Enterprise admins can publish the app to their whole workspace. |
| Cursor and VS Code Desktop. |
|
| Gemini Personal Google accounts (US). |
|
| Mistral Le Chat Web. |
|
| Perplexity Pro, Max and Enterprise. |
|
| Grok grok.com. |
|
| Microsoft Copilot Studio Agent makers. |
Gemini Enterprise, Microsoft 365 Copilot or Coze for your organization? Email [email protected] for a client ID and secret. |
ChatGPT and Claude have no one-click install link for connectors outside their directories, which is why they take a few steps. Signed-in connections use your plan's limits and data access exactly like your API key, and keep working if you regenerate the key.
3. Connect Developer Tools with Your API Key
For tools, scripts and agents that send an HTTP header. Pick your client, replace YOUR_API_KEY with your key, then restart or reload it. Ask "What Business Quant tools do you have?" to confirm the connection. Signed in to Business Quant? The MCP Connectors page shows these snippets with your key already filled in.
Connect Claude Code to the Business Quant MCP server
Run once in your terminal. Add --scope user to make it available in every project. Check it with claude mcp list or /mcp inside Claude Code.
claude mcp add --transport http businessquant https://mcp.businessquant.com/mcp \ --header "Authorization: Bearer YOUR_API_KEY"
Connect Cursor to the Business Quant MCP server
Add to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one project.
{
"mcpServers": {
"businessquant": {
"url": "https://mcp.businessquant.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Connect VS Code to the Business Quant MCP server
Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely instead of in the file. Use Copilot Chat in agent mode.
{
"inputs": [
{ "type": "promptString", "id": "bq-key", "description": "Business Quant API key", "password": true }
],
"servers": {
"businessquant": {
"type": "http",
"url": "https://mcp.businessquant.com/mcp",
"headers": { "Authorization": "Bearer ${input:bq-key}" }
}
}
}Connect Claude Desktop to the Business Quant MCP server
Easiest: add Business Quant as a custom connector in Claude with your sign-in (section 2) and it appears in Claude Desktop too. To use an API key instead, bridge with mcp-remote (requires Node.js): add this to claude_desktop_config.json and restart Claude Desktop. The header goes through env because some platforms break spaces inside args.
{
"mcpServers": {
"businessquant": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.businessquant.com/mcp",
"--header", "Authorization:${BQ_AUTH}"],
"env": { "BQ_AUTH": "Bearer YOUR_API_KEY" }
}
}
}Connect Codex CLI to the Business Quant MCP server
Add to ~/.codex/config.toml. The key is read from the BQ_API_KEY environment variable.
[mcp_servers.businessquant] url = "https://mcp.businessquant.com/mcp" bearer_token_env_var = "BQ_API_KEY"
Connect Windsurf to the Business Quant MCP server
Add to ~/.codeium/windsurf/mcp_config.json.
{
"mcpServers": {
"businessquant": {
"serverUrl": "https://mcp.businessquant.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Connect Gemini CLI to the Business Quant MCP server
Add to ~/.gemini/settings.json.
{
"mcpServers": {
"businessquant": {
"httpUrl": "https://mcp.businessquant.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Connect Anthropic API to the Business Quant MCP server
Claude can call the server straight from the Messages API. The MCP connector sends authorization_token as a Bearer header. It requires the MCP connector beta header — see Anthropic's documentation for the current header name.
mcp_servers=[{
"type": "url",
"url": "https://mcp.businessquant.com/mcp",
"name": "businessquant",
"authorization_token": "YOUR_API_KEY",
}]Connect OpenAI API to the Business Quant MCP server
Use the Responses API's remote MCP tool.
tools=[{
"type": "mcp",
"server_label": "businessquant",
"server_url": "https://mcp.businessquant.com/mcp",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"require_approval": "never",
}]Connect Python SDK to the Business Quant MCP server
Connect from your own agent with the official MCP Python SDK.
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async with streamablehttp_client(
"https://mcp.businessquant.com/mcp",
headers={"Authorization": "Bearer YOUR_API_KEY"},
) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("bq_dividends", {"ticker": "AAPL"})Connect cURL to the Business Quant MCP server
A quick test without any client. The reply is a server-sent event (event: message / data: {...}) containing the tool result.
curl -s https://mcp.businessquant.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"bq_dividends","arguments":{"ticker":"AAPL"}}}'4. Available Tools
Your assistant chooses tools on its own; you don't call them by name. Companies are identified by ticker (AAPL) or SEC CIK (320193), and funds by ticker or SEC Series ID. Each tool's full parameters and response fields match the REST endpoint linked with it.
Company data
| Tool | What it returns | REST endpoint |
|---|---|---|
Company profilebq_company_profile |
Name, CIK, exchange, sector, industry, address, fiscal year end and identifiers, by ticker or CUSIP. | Company Profile API |
Financial statementsbq_financial_statements |
Standardised income statement, balance sheet, cash flow, ratios or growth — annual, quarterly or TTM. | Financial Statements API |
Revenue segmentsbq_revenue_segments |
Business, product and geographic breakdowns, as reported values, share of total or growth. | Segment Financials API |
Dividendsbq_dividends |
Dividend history with TTM dividend, yield, last and next payment, for stocks and funds. | Dividend History API |
Analyst estimatesbq_analyst_estimates |
Consensus revenue or EPS estimates by fiscal period, alongside actuals. | Analyst Estimates API |
Peer companiesbq_peers |
Peers of a ticker, or members of a sector or industry, with comparison metrics. | Stock Peer Comparison API |
Earnings call transcriptbq_earnings_call_transcript |
Full earnings call — prepared remarks and Q&A — by ticker or CIK and fiscal quarter, paged for long calls. | Earnings Call Transcripts API |
Insider trading (Form 4)bq_insider_trading |
Insider summary, statistics, net buying and selling, top holders or every transaction. | Insider Trading API |
Institutional ownership (13F)bq_institutional_ownership |
A company's institutional holders, or an institution's portfolio, with history and transactions. | 13F Institutional Ownership API |
Corporate actionsbq_corporate_actions |
Splits, dividends, ticker changes, mergers and other corporate actions, filterable by type and date. | Corporate Actions API |
Market data & screening
| Tool | What it returns | REST endpoint |
|---|---|---|
Stock quotesbq_stock_quotes |
Latest snapshot, daily, end-of-day or 1-minute bars for one or several tickers. | EOD Stock Price API |
Market moversbq_market_movers |
Top gainers and losers of the latest session, with price and market-cap floors. | Top Gainers & Losers API |
Metric historybq_metric_history |
Time series of up to 5 metrics for up to 5 tickers, industries or sectors. | Historical Financial Metrics API |
Stock screenerbq_stock_screener |
Screen US stocks with conditions like "Market Capitalization" > 10000000000 AND "P/E Ratio" < 20. | Stock Screener API |
Metrics catalogbq_metrics_catalog |
Lists the screener columns and metric slugs the other tools accept. Assistants call this first. | Supported Metrics List API |
SEC filings
| Tool | What it returns | REST endpoint |
|---|---|---|
SEC filings listbq_sec_filings |
A company's filings, newest first, filterable by form type and date, with accession numbers. | SEC Filings API |
SEC filing contentsbq_sec_filing |
One filing by accession number: its extracted sections (e.g. Item 1A Risk Factors), its documents, or the plain text of one of them. | SEC Filing Section Extraction API |
Funds & ETFs
| Tool | What it returns | REST endpoint |
|---|---|---|
Fund / ETF databq_fund |
Overview, profile, reporting periods, holdings, holdings history, sector/country exposure, flows or risks for one fund. | ETF & Mutual Fund Overview API |
Compare fundsbq_compare_funds |
Side-by-side comparison of 2–6 funds: fees, performance, risk and holdings overlap. | ETF & Mutual Fund Comparison API |
Fund screenerbq_fund_screener |
Screen ETFs and mutual funds on expense ratio, AUM, returns, flows, exposure and risk. Max plan and above. | ETF & Mutual Fund Screener API |
Economic data
| Tool | What it returns | REST endpoint |
|---|---|---|
Economic indicators listbq_economic_indicators |
Catalogue of US economic indicators with codes, categories, frequency and units. | Economic Indicators List API |
Economic databq_economic_series |
History of up to 5 indicators, e.g. GDP, CPI and unemployment. | Economic Data API |
Economic calendarbq_economic_calendar |
Upcoming and recent economic data releases. | Economic Calendar API |
5. What You Can Ask
Once connected, ask in plain English. A few examples that use different tools:
- "Pull up Apple's last earnings call and summarise the Q&A on China."
- "Compare Microsoft's and Alphabet's operating margins over the last 5 years."
- "What percentage of Amazon's revenue comes from AWS, and how has that changed?"
- "Which insiders sold Nvidia stock in the last 6 months?"
- "Who are the largest institutional holders of Tesla, and who added the most last quarter?"
- "Find US stocks with market cap above $10B, P/E below 15 and dividend yield above 3%."
- "Summarise the new risk factors in Nvidia's latest 10-K."
- "What are the top holdings and sector exposure of QQQ?"
- "Compare VTI, ITOT and SCHB on fees and performance."
- "Chart US CPI and unemployment over the last 10 years."
- "What economic data releases are coming up this week?"
- "What are today's biggest gainers above $2B market cap?"
6. Plans, Rate Limits and Access
The MCP server applies your API plan exactly as the REST API does, whether the app signed in or sent your API key. Each tool call is one API request and counts toward your rate limit. An assistant often makes several tool calls to answer one question, so the Free plan's daily allowance can go quickly.
| Plan | Rate limit |
|---|---|
| Free | 40 requests per day (UTC) |
| Pro | 75 requests per minute |
| Max | 150 requests per minute |
| Ultra | 600 requests per minute |
| Enterprise | 900 requests per minute |
| Tool | Availability |
|---|---|
| Fund screener | Max, Ultra, Enterprise |
| Fund data — holdings matrix view | Max, Ultra, Enterprise |
| All other tools | All plans, including Free |
On the Free plan, financial statements return the latest 3 years, 12 quarters or 12 TTM periods, and analyst estimates return Apple's data as a sample whatever ticker is asked.
7. Responses, Paging and Errors
Tools return JSON. AI clients limit how much a tool may return, so every result is kept under 90,000 characters:
- Long text — earnings call transcripts and SEC filing sections — comes in pages of up to 40,000 characters by default. Each page includes
next_offset; the assistant keeps reading until it isnull. - Large tables are cut to fit and marked
"truncated": truewith a note saying how many rows were returned. The assistant then narrows the request or pages. - No data vs. unknown company: a ticker that doesn't exist is an error; a real company with no data for that request returns an empty result with a
metadata.messageexplaining why.
| Situation | Message the assistant receives |
|---|---|
| No sign-in and no API key | HTTP 401 with a WWW-Authenticate header pointing at the sign-in metadata. Chat apps react by opening the Business Quant sign-in; key-based clients should send Authorization: Bearer YOUR_API_KEY. |
| Sign-in expired or app disconnected | HTTP 401; the app asks you to connect again. |
| Malformed key | The API key is not in a valid format. |
| Invalid or inactive key | Authentication failed: … |
| Data not on your plan | This data isn't included in your current Business Quant plan. |
| Rate limit reached | Rate limit reached: … |
| Bad parameter or unknown ticker | The API's own message, e.g. an unknown ticker. |
| Timeout | Business Quant API timed out. Try a narrower request. |
| Service briefly unavailable | Business Quant API is unreachable right now. Try again shortly. (or HTTP 503 with Retry-After) |
8. Security and Privacy
- Read-only. No tool can create, change or delete anything. Tools are marked read-only, so clients that ask before write actions won't prompt for them.
- Fixed scope. The server only calls published Business Quant API endpoints. It cannot run arbitrary queries or fetch other URLs.
- Sign in without sharing secrets. Chat apps get a short-lived token after you sign in on a Business Quant page and choose Allow. They never see your password or your API key, and the consent screen shows which app is asking.
- You stay in control. Account → MCP Connectors lists every connected app with when it was last used. Disconnecting stops access within a minute.
- Your key stays private. It travels over HTTPS in a header, is used only for your own requests, is never logged by the MCP server, and is refused if put in the URL.
- Same rules as the REST API. Your plan's permissions, rate limits and usage accounting apply unchanged.
Frequently Asked Questions
What is the Business Quant MCP server?
It is a remote Model Context Protocol (MCP) server that lets AI assistants such as Claude, ChatGPT, Cursor and VS Code Copilot pull Business Quant financial data by themselves while they answer a question. It exposes 23 read-only tools covering company fundamentals, financial statements, segments, estimates, dividends, earnings call transcripts, insider and institutional ownership, SEC filings, quotes, screeners, funds and ETFs, and US economic data.
Which AI assistants work with the MCP server?
Claude (web, desktop and mobile), ChatGPT (developer mode on Plus, Pro, Business, Enterprise and Edu), Gemini, Mistral Le Chat, Perplexity, Grok and Microsoft Copilot Studio connect with your Business Quant sign-in. Claude Code, Cursor, VS Code (GitHub Copilot agent mode), Windsurf, Gemini CLI, OpenAI Codex CLI, the Anthropic Messages API MCP connector, the OpenAI Responses API and the official MCP SDKs connect with your API key. Any client that supports the Streamable HTTP transport works.
How do I connect Claude or ChatGPT?
Add https://mcp.businessquant.com/mcp as a custom connector. In Claude, open Customize, then Connectors, then Add custom connector. In ChatGPT, turn on Developer mode under Settings, Security and login, then open Plugins, click +, choose Create app, then Create MCP App, and pick OAuth. Then sign in to Business Quant and choose Allow. No API key is needed.
Do I need a separate API key for the MCP server?
No. Chat apps such as Claude and ChatGPT connect with your Business Quant sign-in and never see a key. Developer tools use your existing Business Quant API key, sent as an Authorization: Bearer header. The key is not accepted in the URL, so it never ends up in logs or browser history.
How do I disconnect an AI app?
Open Account, then MCP Connectors, on businessquant.com and click Disconnect next to the app. Access stops within a minute, and the app asks you to sign in again if you reconnect it. Regenerating your API key does not disconnect signed-in apps.
Do MCP tool calls count toward my API rate limit?
Yes. Each tool call is exactly one API request and counts against your plan's limit, just like a REST call, whether the app signed in or used your API key. An assistant may make several tool calls to answer one question, so the Free plan's 40 requests per day can go quickly.
Can the MCP server change or delete anything?
No. All 23 tools are read-only. The server only calls fixed Business Quant API endpoints and cannot run arbitrary queries, fetch other URLs or write data.
Is the Business Quant MCP server free?
Yes. The MCP server is free to use: every tool works on every plan except the fund screener and the fund holdings matrix view, which need the Max plan or above. Your plan's data limits and rate limits apply exactly as they do to the REST API.