Cursor & Cline integration
QuarterCharts MCP for Cursor.
Wire up QuarterCharts in 30 seconds by pasting one JSON block into Cursor's mcp.json. Cursor's agent can then call 11 grounded financial-data tools backed by SEC EDGAR XBRL filings, each value carrying citation provenance back to the source filing. Same snippet works for Cline (it shares the Cursor config path).
30-second setup
Open the Cursor MCP config
Cursor reads MCP servers from
~/.cursor/mcp.json(or the project-local variant.cursor/mcp.jsonin your repo root). Create the file if it does not exist. Cline uses the same path convention — these instructions work for both.Paste the QuarterCharts entry
The snippet below uses anonymous access — works for every US-listed ticker at the free tier's rate limits (60 req/min). Per-feature paywalls still apply: Pro-only tools (e.g.
qc.get_pension_disclosures) require a Pro key. See With an API key below for the authenticated variant.Reload Cursor
Restart Cursor (or use the "Reload MCP servers" command in the agent panel). Cursor's MCP indicator should now list quartercharts as a connected server with 11 tools available.
Test it
In the Cursor chat/agent panel, ask: "What was NVDA's Q4 FY2026 revenue per QuarterCharts?". Cursor routes the call through
qc.get_chartand returns $68.127B with citation provenance pointing at the underlying SEC 10-Q filing (us-gaap:Revenues, accession-number embedded).
Config snippet (anonymous)
Paste this into ~/.cursor/mcp.json (create the file if it doesn't exist). Streamable HTTP transport — the modern MCP standard. No API key needed; the free tier handles every US-listed ticker at anonymous rate limits.
{
"mcpServers": {
"quartercharts": {
"transport": "http",
"url": "https://api.quartercharts.com/mcp"
}
}
}If your Cursor version is older and doesn't accept the transport key, drop it — Cursor will auto-detect from the URL. The example below also works: { "mcpServers": { "quartercharts": { "url": "https://api.quartercharts.com/mcp" } } }
SSE transport (compatibility shim)
The QuarterCharts MCP server primarily speaks Streamable HTTP. If your Cursor build requires the older Server-Sent Events (SSE) transport, use the SSE-compatible URL:
{
"mcpServers": {
"quartercharts": {
"transport": "sse",
"url": "https://api.quartercharts.com/mcp"
}
}
}Streamable HTTP is recommended (lower latency, no long-poll connection overhead). Use SSE only if your client explicitly errors on the HTTP transport.
With an API key (higher limits + Pro-only tools)
Mint a free key at /dashboard/api-keys and pass it as a Bearer token. Free-tier keys bump the rate limits beyond anonymous and let you call tools that anon clients cannot. Pro keys also unlock the Pro-only tools (pension disclosures, debt schedule, share-count history with split adjustment).
{
"mcpServers": {
"quartercharts": {
"transport": "http",
"url": "https://api.quartercharts.com/mcp",
"headers": {
"Authorization": "Bearer qc_live_your_key_here"
}
}
}
}Cursor and Cline both forward the headers block verbatim on every request. Treat the key like any other secret — don't commit mcp.json to a public repo with a live key inside.
What Cursor can call
All 11 tools currently shipped on the live MCP surface. Full input schemas at /mcp/tools.
| Tool | What it does |
|---|---|
| qc.get_chart | Full chart series (income / cashflow / balance / key-metrics). |
| qc.get_metric | Single named metric series (ROIC, P/E, dividend yield, etc.). |
| qc.get_explanation | Tier-gated metric explanations (free / pro / premium / quant). |
| qc.compare_tickers | Side-by-side comparison of one metric across up to 10 tickers. |
| qc.search_tickers | Substring search over the SEC EDGAR ticker directory. |
| qc.list_metrics | All metric_keys with legal-reviewed tier_content. |
| qc.list_tickers | Accessible ticker universe for the caller's plan. |
| qc.get_segments | Per-segment revenue + margin from XBRL dimensional facts (product/geography). |
| qc.get_pension_disclosuresPro | Funded status + discount rate + service/interest costs per plan type (DB/OPEB). |
| qc.get_debt_schedulePro | Long-term debt schedule per instrument + aggregated maturity wall. |
| qc.get_share_count_historyPro | Split-adjusted diluted-shares-outstanding history per fiscal year (closes phantom-dilution bug). |
Troubleshooting
- Cursor doesn't show "quartercharts" in the connected-servers list.
- Restart Cursor fully (quit + reopen, not just reload the window). Some Cursor builds only re-read
mcp.jsonon cold start. Also check the file is valid JSON — a missing comma silently disables every entry. - Tool calls return 429 Too Many Requests.
- You've hit the anonymous-tier rate limit (60 req/min). Mint a free key at /dashboard/api-keys and add the
headersblock from the "With an API key" section above — the rate limit jumps to 300 req/min on free keys. - A Pro-only tool returns 403 Forbidden.
- The pension / debt / share-count tools need a Pro-tier key. Free keys still get the 8 core tools. Upgrade self-serve at /pricing — Stripe checkout coming Q2 2026; until then email info@quartercharts.com.
- Cursor returns a transport-mismatch error.
- Older Cursor builds don't accept the
transportkey. Drop it and Cursor will auto-detect, or switch to"transport": "sse"if it requires SSE explicitly.
Other clients
QuarterCharts MCP works with any client that speaks JSON-RPC 2.0 over HTTPS. Setup guides for other common clients:
- Continue.dev — VS Code & JetBrains agent extension; flatter
config.jsonshape. - Claude Desktop — Anthropic's desktop app; same
mcpServersshape as Cursor but a different config path. - Raw JSON-RPC — call
POST /mcpdirectly from any HTTP client.