> ## Documentation Index
> Fetch the complete documentation index at: https://fruitstand.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Fund Returns MCP Servers, Compared

> How Fruit Stand's Fund Returns MCP server compares to other finance MCP servers for computed fund and ETF returns: coverage, return periods, free tiers, and pricing.

*By Fruit Stand Team · September 7, 2026 · Comparisons*

If you want an LLM to answer questions about how a fund or ETF has performed, an [MCP server](https://modelcontextprotocol.io) is the cleanest way to wire live data into the conversation. But most finance MCP servers weren't built for that question. They hand back **prices** or **holdings**, and leave the return math to you. We looked at the finance MCP servers people actually connect for fund data to see which ones publish **computed** trailing and calendar year returns for funds and ETFs, how many funds and ETFs each covers, whether there's a free option, and what it costs.

This is the MCP counterpart to our earlier writeup, [Fund and ETF Returns Data on Snowflake, Compared](/blog/fund-etf-returns-comparison). Fruit Stand's own [Fund Returns MCP server](/api-reference/introduction) is included below as one row among the rest.

## Fund Returns MCP Server Comparison

Last updated: September 7, 2026

| Server                                                                                          | Calendar year returns      | Trailing returns                                                                               | Total time periods                                                                                 | Total funds                                                   | Total ETFs                      | Has free option                              | Pricing |
| ----------------------------------------------------------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------- | -------------------------------------------- | ------- |
| [**Fruit Stand: Fund Returns**](/api-reference/introduction)                                    | Yes                        | Yes                                                                                            | 16 trailing periods (1D → 20Y + since inception) plus calendar year, back to each fund's inception | \~26,000 US mutual funds                                      | \~6,000 US ETFs                 | Yes — 250 requests/mo, MCP included, no card | `$`     |
| [**Twelve Data**](https://twelvedata.com/mcp)                                                   | Yes (annual total returns) | Yes                                                                                            | \~7 trailing (YTD, 1M, 3M, 1Y, 3Y, 5Y, 10Y) plus annual, quarterly, and load-adjusted returns      | 80,000+ funds and ETFs combined (global; split not published) | Included in the combined figure | Yes\*                                        | `$$$`   |
| [**EODHD**](https://eodhd.com/financial-apis/mcp-server-for-financial-data)                     | No                         | Yes (ETF fundamentals)                                                                         | 5 trailing (YTD, 1Y, 3Y, 5Y, 10Y) for ETFs; funds report yields, not total returns                 | 20,000+ US funds (per EODHD)                                  | 10,000+ ETFs (per EODHD)        | Yes — 20 API calls/day                       | `$$`    |
| [**Financial Modeling Prep**](https://site.financialmodelingprep.com/datasets/etf-mutual-funds) | No                         | No (holdings, weights, and price history — returns are yours to compute)                       | Not applicable                                                                                     | Not published                                                 | Not published                   | Yes\*                                        | `$$`    |
| [**Alpha Vantage**](https://mcp.alphavantage.co)                                                | No                         | No (`ETF_PROFILE` is holdings, sectors, and expense ratio; returns come from the price series) | Not applicable                                                                                     | None (no mutual fund coverage)                                | Not published                   | Yes — 25 requests/day                        | `$`     |
| [**Financial Datasets**](https://docs.financialdatasets.ai/mcp-server)                          | No                         | No (`get_index_fund` is holdings only; prices for stocks and ETFs)                             | Not applicable                                                                                     | None (no mutual fund coverage)                                | Not published                   | Yes                                          | `$`     |
| [**Polygon.io**](https://github.com/polygon-io/mcp_polygon)                                     | No                         | No (aggregates and reference data; ETFs priced as tickers)                                     | Not applicable                                                                                     | None (no mutual fund coverage)                                | Yes — 5 requests/min            | `$`                                          |         |

\* A free tier exists, but the fund and ETF performance data is gated to a paid plan — Twelve Data's fund/ETF **metrics** are on the Ultra plan; Financial Modeling Prep's ETF and mutual fund holdings are on the Ultimate plan.

**Pricing key:** `$` — a free-tier-first plan or entry paid plans under about \$50/mo · `$$` — roughly \$50 to \$250/mo for the relevant data · `$$$` — \$250/mo or more, or enterprise-only, for the relevant data.

## What this actually shows

Almost none of the popular finance MCP servers are a fund-returns product. **Financial Modeling Prep**, **Alpha Vantage**, **Financial Datasets**, and **Polygon.io** all expose funds and ETFs in some form — holdings, sector weights, expense ratios, a price series — but none of them publish a computed trailing or calendar year return for a fund. "Fund returns" on those servers means pulling an adjusted price history and doing the CAGR and cumulative math yourself, in the model or in your own code. Three of the four don't carry mutual funds at all.

**EODHD** is the middle ground. Its ETF fundamentals include a small block of trailing returns (YTD, 1-year, 3-, 5-, and 10-year) alongside volatility and Sharpe ratio, so an MCP client can read those directly. But there's no year-by-year calendar return breakout, and on the mutual fund side the performance fields are yields rather than total returns.

**Twelve Data** is the closest thing to a direct comparison. Its mutual fund and ETF performance data returns trailing, annual, quarterly, and load-adjusted returns — a genuine computed-returns product, and the only other one here with a year-by-year annual return series. Two caveats: the trailing schedule is shorter (roughly YTD through 10-year, versus Fruit Stand's sixteen periods out to 20-year and since-inception), and the fund and ETF **metrics** that carry those returns sit on the Ultra plan, so the free tier and the lower paid tiers won't answer a fund-returns question.

Where a server's specific coverage counts or return periods aren't publicly documented, the cells above say "Not published" rather than guess.

## Where Fruit Stand fits

[Fund Returns](/api-reference/introduction) is built to answer one question well: what has this fund or ETF actually returned. The MCP server exposes six tools — `SearchFunds`, `GetFund`, `GetTrailingReturns`, `GetCalendarReturns`, `BatchTrailingReturns`, and `BatchCalendarReturns` — over roughly 32,000 US mutual funds and ETFs:

* **16 trailing periods** per fund: 1-day, 1-week, 1-, 3-, 6-month, YTD, and 1, 2, 3, 4, 5, 7, 10, 15, 20-year, plus since-inception. Periods of 2 years and up are annualized (CAGR); shorter ones are cumulative.
* **Calendar year returns** for every year back to each fund's own inception, not a fixed shared cutoff.
* **Survivorship-bias-free** — delisted funds keep their full return history instead of disappearing.
* **A flat, public price with a real free tier.** The \$0 plan is 250 requests/month with no card, and the hosted MCP server is included on every plan, authenticated with the same API key as a `Bearer` token.

For the setup walkthrough, see [Connect Fruit Stand to the Claude Desktop App](/blog/connect-claude-desktop). For the pipeline behind the numbers, see [How Fund Returns Data Moves from source to Snowflake](/blog/fund-returns-pipeline-s3-to-snowflake).

## F.A.Q.

<AccordionGroup>
  <Accordion title="How was this comparison put together?">
    From each server's own MCP documentation, API reference, and public pricing pages as of the "Last updated" date above. Where a specific detail — a coverage count, a return period, a price for the relevant data — wasn't publicly documented, the cell is marked "Not published" rather than estimated.
  </Accordion>

  <Accordion title="Which server has the broadest fund and ETF coverage?">
    Twelve Data lists the largest raw universe (80,000+ funds and ETFs, global, split not published). Fruit Stand covers roughly 32,000 US mutual funds and ETFs with full computed trailing and calendar year returns on every one. EODHD publishes 20,000+ US funds and 10,000+ ETFs. Alpha Vantage, Financial Datasets, and Polygon.io don't cover mutual funds at all.
  </Accordion>

  <Accordion title="Is Fruit Stand cheaper than the other servers?">
    For getting fund and ETF returns specifically, in most cases yes. Fruit Stand includes the MCP server on a \$0 tier and tops out at \$129/month. Twelve Data's fund/ETF performance metrics require the Ultra plan; Financial Modeling Prep's fund and ETF holdings require the Ultimate plan. EODHD's fundamentals feed is the nearest comparison on price. Check each provider's current plans, since the data you need may sit on a higher tier than the headline price suggests.
  </Accordion>

  <Accordion title="Can't the model just compute returns from a price series?">
    It can, and for a one-off number that's fine. Doing it correctly at scale is the hard part: adjusted closes that fold in splits and distributions, the right annualization convention for multi-year windows, partial-period handling for young or delisted funds, and gap handling for thinly traded funds. A returns product does that once, consistently, for every fund. That's the difference between the "Yes" and "No" rows in the trailing-returns column above.
  </Accordion>

  <Accordion title="How often is this comparison updated?">
    MCP servers and their pricing change quickly. This page reflects what was publicly available as of the "Last updated" date; check each server's own documentation and pricing for current terms.
  </Accordion>
</AccordionGroup>

## Get Fund Returns MCP for free

Fruit Stand's free tier is 250 requests a month with no card — enough to connect the Fund Returns MCP server to Claude and start pulling trailing and calendar year returns for any US fund or ETF.

<Card title="Connect Fund Returns to Claude — free" icon="plug" href="/blog/connect-claude-desktop" cta="Set it up">
  Add the Fund Returns MCP server to the Claude Desktop app with your free API key and start querying fund and ETF returns in a conversation.
</Card>

## Disclosure

Fruit Stand Data LLC is not affiliated with or endorsed by Twelve Data, EODHD, Financial Modeling Prep, Alpha Vantage, Financial Datasets, Polygon.io, or any other company mentioned above. Details reflect publicly available information as of the publish date and can change; check each provider's own documentation and pricing for current terms. Fund Returns data is provided for informational purposes only and is not investment advice. Questions? Reach out at [contact@fruitstand.dev](mailto:contact@fruitstand.dev).
