Benchmark, interim result of
Finance MCP servers, head to head
On the 14 questions every server finished, canli-mcp answered 79% correctly (22 of 28 runs). The best of the other servers, EdgarTools + Yahoo Finance MCP, answered 54% (15 of 28).
- 79%correct on the 14 questions every server finished; the best of the others, EdgarTools + Yahoo, 54%
- 26,904input tokens per correct answer; the others 61,116 to 345,521
- 859tokens of tools on every request; the others 2,171 to 432,001
- 0 of 7kinds of question never answered; the others 1 to 4
- 4 of 4other setups scored lower on the shared questions
The setup
Same model. Same questions. Only the server changed.
Every server got the same model (gpt-5.4-mini), system prompt, 12-turn limit, 30,000-character cap on each tool result and scoring. No server had an API key. Each question ran 2 times per server, and the answers were computed from primary sources (SEC EDGAR, the US Treasury, FRED and Yahoo Finance chart data) separately from every server compared.
Accuracy
Correct on the questions every server finished
| Server | Correct | Runs |
|---|---|---|
| canli-mcp canli-mcp 0.1.0 as it stood before the benchmark, MIT | 79% | 22 of 28 |
| OpenBB MCP openbb-mcp-server 2.0.1 with openbb 5.0.0, in its tool-discovery mode, Apache-2.0 | 39% | 11 of 28 |
| EdgarTools MCP edgartools 5.61.1, its MCP server, MIT | 39% | 11 of 28 |
| Yahoo Finance MCP Alex2Yang97/yahoo-finance-mcp at commit b9c1765, MIT | 50% | 14 of 28 |
| EdgarTools + Yahoo Finance MCP both servers connected at once, MIT | 54% | 15 of 28 |
- Against OpenBB MCP, canli-mcp did better on 9 questions and worse on 4 (two-sided exact sign test, p = 0.2668).
- Against EdgarTools MCP, canli-mcp did better on 14 questions and worse on 3 (two-sided exact sign test, p = 0.0127).
- Against Yahoo Finance MCP, canli-mcp did better on 14 questions and worse on 5 (two-sided exact sign test, p = 0.0636).
- Against EdgarTools + Yahoo Finance MCP, canli-mcp did better on 11 questions and worse on 4 (two-sided exact sign test, p = 0.1185).
Coverage
By kind of question, over every finished run
Red marks a kind of question a server never answered correctly.
| Server | SEC filings | Fundamentals | Insider trades | 13F holdings | Rates and macro | Prices | Analytics | Input tokens | Seconds |
|---|---|---|---|---|---|---|---|---|---|
| canli-mcp | 5/6 | 3/6 | 6/6 | 4/6 | 8/8 | 6/6 | 6/10 | 11,782 | 5.33 |
| OpenBB MCP | 0/6 | 6/6 | 3/6 | 2/6 | 0/4 | not run | not run | 107,112.5 | 24.44 |
| EdgarTools MCP | 0/6 | 5/6 | 2/6 | 4/6 | 0/8 | 0/6 | 0/3 | 18,558 | 9.86 |
| Yahoo Finance MCP | 2/6 | 6/6 | 2/6 | 2/6 | 2/8 | 4/6 | 0/10 | 10,335 | 3.51 |
| EdgarTools + Yahoo Finance MCP | 1/6 | 6/6 | 2/6 | 4/6 | 2/8 | 4/6 | 0/3 | 21,186 | 10.37 |
Cost
What each server costs before the model asks anything
Each server is started with the benchmark's command; its instructions and whole tool list are counted in the shape an OpenAI-style client sends tools. No model is called. Tokens are o200k_base, measured 2026-10-11.
| Server | Tools sent | Tools reachable | Tokens | Seconds |
|---|---|---|---|---|
| canli-mcp | 3 | 306 | 859 | 0.08 |
| OpenBB MCP, every tool | 1,056 | 1,056 | 432,001 | 12.03 |
| OpenBB MCP, tool discovery (as benchmarked) | 14 | 1,056 | 2,171 | 10.32 |
| EdgarTools MCP | 13 | 13 | 3,801 | 1.17 |
| Yahoo Finance MCP | 9 | 9 | 2,205 | 0.91 |
Before quoting it
Read this before quoting it
- We wrote the 24 questions, in seven categories our servers were built for. What the other servers do well beyond them is not scored: news, options chains and analyst ratings (Yahoo Finance MCP), statement comparisons from XBRL (EdgarTools) and the many keyed data sources OpenBB connects to.
- The fair comparison is the first canli-mcp column. The two later columns are the same server after fixes this benchmark prompted, so they were tuned on these questions. A held-out set of 24 new questions, written after the fixes, will test the fixed server; it waits for API credit.
- The API account ran out of credit during the runs. OpenBB finished 14 of the 24 questions and EdgarTools 20. Runs stopped by the account are left out, never scored as wrong, and the headline compares only the 14 questions every server finished.
- One model and two runs per question. A difference of a question or two is noise.
- Before scoring, we widened the 10-year yield tolerance to accept a market close instead of only Treasury's official rate, and checked that EdgarTools' wrong filing answers came from its own responses, not from the 30,000-character result cap.
Every question
Every question, every server
Correct runs per question for every server, including the two tuned canli-mcp columns: canli-mcp after first fixes and canli-mcp after all fixes.
| Question | canli-mcp | canli-mcp after first fixes | canli-mcp after all fixes | OpenBB MCP | EdgarTools MCP | Yahoo Finance MCP | EdgarTools + Yahoo Finance MCP |
|---|---|---|---|---|---|---|---|
| According to NVIDIA's most recent annual report on Form 10-K, approximately how many employees did NVIDIA have at the end of the fiscal year? Answer with the number of employees. Answer: 42,000 | 1/2 | 2/2 | 2/2 | 0/2 | 0/2 | 2/2 | 0/2 |
| Tesla filed a press release on production and deliveries for the third quarter of 2026 with the SEC (an 8-K exhibit). How many vehicles did it say Tesla delivered in Q3 2026? Answer with the number of vehicles. Answer: 486,000 | 2/2 | 2/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 |
| On the cover page of Apple's annual report on Form 10-K for fiscal year 2025, how many shares of common stock were outstanding? Answer with the number of shares. Answer: 14,776,353,000 | 2/2 | 2/2 | 2/2 | 0/2 | 0/2 | 0/2 | 1/2 |
| What were Apple's total net sales (revenue) for fiscal year 2025, which ended September 27, 2025? Answer in US dollars as a plain number. Answer: 416,161,000,000 | 1/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| What was Microsoft's net income for its fiscal year ended June 30, 2025? Answer in US dollars as a plain number. Answer: 101,832,000,000 | 1/2 | 1/2 | 2/2 | 2/2 | 1/2 | 2/2 | 2/2 |
| What was NVIDIA's diluted earnings per share for its fiscal year 2026 (ended January 25, 2026)? Answer in US dollars per share. Answer: 4.9 | 1/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| According to SEC Form 4 filings, how many shares of Tesla common stock did Tesla's Chief Financial Officer sell in open-market sales on September 8, 2026? Answer with the number of shares. Answer: 2,605.75 | 2/2 | 1/2 | 1/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Add up all open-market sales (Form 4 transaction code S) of NVIDIA common stock by NVIDIA insiders reported in Form 4 filings filed between July 1 and September 30, 2026. How many shares were sold in total? Answer with the number of shares. Answer: 4,332,118 | 2/2 | 2/2 | 2/2 | 1/2 | 0/2 | 0/2 | 0/2 |
| How many Form 4 filings were filed with the SEC for Apple Inc. as the issuer during September 2026 (filing dates September 1-30, 2026, original Form 4s only, not amendments)? Answer with the count. Answer: 11 | 2/2 | 2/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 |
| According to Berkshire Hathaway's 13F filing for the quarter ended June 30, 2026, how many shares of Apple did it hold? Answer with the number of shares. Answer: 227,917,808 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| What is the total market value of all holdings reported in Berkshire Hathaway's 13F filing for the quarter ended June 30, 2026? Answer in US dollars as a plain number. Answer: 299,253,556,246 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 0/2 | 2/2 |
| How many entries (rows in the information table) does Bridgewater Associates' 13F filing for the quarter ended June 30, 2026 report? Answer with the count. Answer: 997 | 2/2 | 1/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 |
| What was the 10-year US Treasury par yield (Treasury daily par yield curve rate) on October 8, 2026? Answer in percent, e.g. 4.25. Answer: 5.22 | 2/2 | 2/2 | 1/2 | 0/2 | 0/2 | 2/2 | 2/2 |
| Using the US Treasury daily par yield curve, what was the 10-year yield minus the 2-year yield on October 8, 2026? Answer in percentage points, e.g. 0.35. Answer: 0.47 | 2/2 | 0/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 |
| What was the year-over-year change in the US Consumer Price Index for All Urban Consumers (CPI-U, all items, seasonally adjusted) for August 2026? Answer in percent, e.g. 2.9. Answer: 3.353 | 2/2 | 2/2 | 1/2 | not run | 0/2 | 0/2 | 0/2 |
| What was the US unemployment rate for August 2026 (seasonally adjusted)? Answer in percent. Answer: 4.1 | 2/2 | 2/2 | 2/2 | not run | 0/2 | 0/2 | 0/2 |
| What was Apple's (AAPL) closing stock price on October 8, 2026? Answer in US dollars. Answer: 340.42 | 2/2 | 2/2 | 2/2 | not run | 0/2 | 2/2 | 2/2 |
| What was Microsoft's (MSFT) total return including dividends from the close on December 31, 2025 to the close on September 30, 2026? Answer in percent, e.g. 12.3. Answer: 6.7272 | 2/2 | 2/2 | 1/2 | not run | 0/2 | 1/2 | 0/2 |
| What was the maximum drawdown of SPY during calendar year 2025, measured on daily dividend-adjusted closing prices (peak to trough within 2025)? Answer as a fraction, e.g. 0.12 for 12%. Answer: -0.187552 | 2/2 | 2/2 | 2/2 | not run | 0/2 | 1/2 | 2/2 |
| What was NVIDIA's (NVDA) annualized volatility in 2025, computed as the standard deviation of daily simple returns of adjusted closing prices times the square root of 252 (returns from the first trading day of 2025 through December 31, 2025, starting from the December 31, 2024 close)? Answer as a fraction, e.g. 0.35. Answer: 0.49618 | 2/2 | 2/2 | 2/2 | not run | 0/2 | 0/2 | 0/2 |
| What was the correlation between the daily simple returns of AAPL and MSFT in calendar year 2025, using adjusted closing prices? Answer as a number between -1 and 1. Answer: 0.486914 | 0/2 | 1/2 | 2/2 | not run | 0/1 | 0/2 | 0/1 |
| What was Tesla's (TSLA) beta to SPY in calendar year 2025, from daily simple returns of adjusted closing prices (covariance over SPY variance)? Answer as a number. Answer: 2.234381 | 0/2 | 0/2 | 2/2 | not run | not run | 0/2 | not run |
| What was SPY's annualized Sharpe ratio in calendar year 2025, with a 0% risk-free rate, from daily simple returns of adjusted closing prices (mean over standard deviation times the square root of 252)? Answer as a number. Answer: 0.9401 | 2/2 | 2/2 | 2/2 | not run | not run | 0/2 | not run |
| Price a European call option with Black-Scholes: spot 100, strike 105, 6 months to expiry, risk-free rate 4% (continuous), dividend yield 1% (continuous), volatility 22%. Answer in dollars. Answer: 4.712244 | 2/2 | 2/2 | 2/2 | not run | not run | 0/2 | not run |
Reproduce
Run it yourself
The harness, the questions, the code that computes each answer and every run with its tool calls are in
mcp-canli/bench/rivals
at commit 8c106a6f. All figures on this page are in
finance-mcp-servers.json.
