mcpField
F
Fruit Stand Fund Returns

Fruit Stand Fund Returns

VerifiedFeaturedRemote
api.fruitstand.devFinance0Updated 2w ago

About Fruit Stand Fund Returns

Fruit Stand Fund Returns was a hosted service for querying total returns and metadata for US mutual funds and ETFs. The MCP server was retired on 2026-10-12; its README says the dataset remains available on Snowflake Marketplace.

Key features

  1. 01Search and list funds
  2. 02Retrieve fund metadata by ticker
  3. 03Query trailing total returns
  4. 04Query calendar-year total returns
  5. 05Batch return queries for up to 100 funds
  6. 06Daily refreshed data

Use cases

  1. 01Compare trailing returns across fund tickers
  2. 02Screen funds by metadata and category
  3. 03Review performance in a selected calendar year
  4. 04Retrieve return data for a group of funds

MCP support

The hosted MCP server exposed fund search, metadata, trailing-return, and calendar-return tools over Streamable HTTP. It has been shut down; the README states that the fund returns dataset is still available on Snowflake Marketplace.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://api.fruitstand.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://api.fruitstand.dev/mcpAuth required

Tools

6
ParameterTypeRequiredDescription
queryParamsobjectYes
queryParams.qanyNoCase-insensitive substring match on ticker or fund name (e.g. `vanguard 500`, `SPY`). Omit to list every fund.
queryParams.typeanyNoFilter by security type: `ETF` or `FUND` (mutual fund). Matched exactly.
queryParams.countryanyNoFilter by domicile country as stored (e.g. `USA`). Exact match.
queryParams.exchangeanyNoFilter by listing exchange as stored (e.g. `NYSE ARCA`, `NASDAQ`). Exact match.
queryParams.cursoranyNoKeyset pagination cursor: the `next_cursor` from the previous response. Omit for the first page.
queryParams.limitintegerNoPage size, 1–1000. Defaults to 100.

Details

From the project README

Fruit Stand Fund Returns — MCP Server

Warning

Retired 2026-10-12. The hosted Fruit Stand Fund Returns MCP server (https://api.fruitstand.dev/mcp) has been shut down and removed from the MCP registry. The instructions below no longer work. This repository is archived for reference only. The Fund Returns dataset is still available on the Snowflake Marketplace — see fruitstand.dev/datasets/fund-returns.

Live trailing & calendar-year total returns for 32,000+ US mutual funds and ETFs, as an MCP server. Ask an AI assistant to compare fund performance by ticker — no Morningstar or Bloomberg contract, free tier, same API key as the REST API.

Hosted, remote MCP over Streamable HTTP · works with Claude, Cursor, and any MCP client · get a free API key

Comparing SPY, QQQ and VTI ETF returns through the Fruit Stand Fund Returns MCP server in Claude


Quick start

1. Get an API key

Sign up at app.fruitstand.dev — the free tier needs no card.

2. Point your client at the endpoint
https://api.fruitstand.dev/mcp

Remote MCP over Streamable HTTP, authenticated with your API key as a bearer token.

Native remote-MCP clients (Claude web/desktop "Add custom connector", Cursor, etc.) — use the URL above and add the header:

Authorization: Bearer YOUR_API_KEY

Claude Desktop config (claude_desktop_config.json) — bridge to the remote endpoint with mcp-remote:

{
  "mcpServers": {
    "fruit-stand": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://api.fruitstand.dev/mcp",
        "--header",
        "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Restart the client and the Fruit Stand tools appear.

Docker — the same bridge as a container (this repo's Dockerfile), for clients that take a docker command:

{
  "mcpServers": {
    "fruit-stand": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "FRUITSTAND_API_KEY", "ghcr.io/fruitstanddev/fruitstand-mcp"],
      "env": { "FRUITSTAND_API_KEY": "YOUR_API_KEY" }
    }
  }
}

The container only bridges stdio to api.fruitstand.dev/mcp — all data comes from the hosted server.

3. Ask a question

"Compare the 1-year, 5-year, and since-inception returns of SPY, QQQ, and VTI, and tell me which had the best 2022 calendar year."

The assistant calls batchTrailingReturns and batchCalendarReturns and summarizes.


Tools

Six tools, mirroring the REST API. Returns come back as decimal fractions (0.1234 = 12.34%).

ToolDoesKey inputs
searchFundsSearch / list the fund universe (keyset paginated)q, type, country, exchange, cursor, limit
getFundFund metadata by tickercode
getTrailingReturnsTrailing returns for one fund (latest or as-of a date)code, as_of?
batchTrailingReturnsTrailing returns for up to 100 funds in one callcodes[], as_of?
getCalendarReturnsCalendar-year return for one fund (latest or a given year)code, year?
batchCalendarReturnsCalendar-year returns for up to 100 funds in one callcodes[], year?

Tickers use the SYMBOL.US form (e.g. SPY.US, VTSAX.US).


About the data

  • Coverage: ~32,000 US mutual funds & ETFs.
  • Trailing returns: standard windows through since-inception, total return (distributions reinvested).
  • Calendar returns: full-year total return per calendar year.
  • Freshness: refreshed daily from the same pipeline that builds the Fruit Stand datasets on Snowflake Marketplace.
  • Methodology & field reference: app.fruitstand.dev/api/mcp and the docs.

MCP tool calls are metered exactly like REST calls and count against your monthly quota. A key with no active plan gets a 403 on tool calls.


Links

License

MIT — this repo holds the public docs and connector metadata for the hosted service; the service implementation lives in a separate repo.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.