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

# Connect Fruit Stand to the Claude Desktop App

> Add the Fruit Stand Fund Returns MCP server to the Claude Desktop app as a custom connector, using your API key as a Bearer token.

*By Fruit Stand Team · September 6, 2026 · Guides*

The Fruit Stand Fund Returns [MCP server](https://api.fruitstand.dev/mcp) lets you pull trailing and calendar-year returns for 32,000+ US funds and ETFs straight into a Claude conversation. This guide walks through adding it to the **Claude Desktop app** as a custom connector, authenticated with your API key.

There's no OAuth today — the server authenticates with an API key sent as a **Bearer token** in a request header. That one detail trips people up, so read the callout in Step 3 carefully.

## Before you start

You'll need two things:

* **A paid Claude plan.** Custom connectors are available on Claude Pro, Max, Team, and Enterprise, not the free tier.
* **A Fruit Stand API key.** If you don't have one yet, grab a free key below. If you already have an account, open your dashboard to copy it.

<CardGroup cols={2}>
  <Card title="Get a free API key" icon="key" href="/pricing" cta="Start free">
    New to Fruit Stand? Our pricing page has a free tier that's enough to get started — no card required.
  </Card>

  <Card title="View your API keys" icon="gauge" href="https://app.fruitstand.dev/subscriptions" cta="Open dashboard">
    Already have an account? Copy your API key from your subscriptions dashboard.
  </Card>
</CardGroup>

## Step 1: Open the custom connector dialog

In the Claude Desktop app, go to **Settings → Connectors**, scroll to the bottom, and click **Add custom connector**.

## Step 2: Name the connector and enter the server URL

Give the connector a name you'll recognize in your connectors list, then enter the Fruit Stand MCP server URL:

```text theme={null}
https://api.fruitstand.dev/mcp
```

Click **Continue**.

<Frame caption="Name the connector and paste the Fruit Stand MCP server URL.">
  <img src="https://mintcdn.com/fruit-stand/nzrf19aRzBZJxPfL/images/connect-claude-desktop/add-connector-name-url.png?fit=max&auto=format&n=nzrf19aRzBZJxPfL&q=85&s=b81f7ac9cc38e7c67aa67af187fbac8b" alt="Add custom connector dialog with the name Fruit Stand Mutual Fund & ETF Returns and the server URL https://api.fruitstand.dev/mcp" width="1056" height="882" data-path="images/connect-claude-desktop/add-connector-name-url.png" />
</Frame>

## Step 3: Set authentication to None and add your API key header

On the next screen, under **Authentication**, select **None** — the server uses an API key rather than OAuth.

Then, under **Request headers**, add one header:

* **Header name:** `authorization`
* **Value:** your API key, prefixed with `Bearer ` (see the warning below)
* Leave **Required** checked.

<Warning>
  **In the value field, type `Bearer ` — the word "Bearer" followed by a single space — before your API key.** The header value is sent exactly as you enter it, so the space after `Bearer` is required. A bare key, or `Bearer` with no space, will fail to authenticate.

  ✅ Correct: `Bearer zpka_xxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxx`

  ❌ Wrong: `zpka_xxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxx`

  ❌ Wrong: `Bearerzpka_xxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxx`
</Warning>

Click **Add**.

<Frame caption="Select None for authentication, then add an 'authorization' header set to 'Bearer <your-api-key>'.">
  <img src="https://mintcdn.com/fruit-stand/nzrf19aRzBZJxPfL/images/connect-claude-desktop/add-connector-auth-header.png?fit=max&auto=format&n=nzrf19aRzBZJxPfL&q=85&s=0abdf45e497462b76b1e73ca957cc6fe" alt="Custom connector authentication step with None selected and an authorization request header containing a Bearer token" width="1052" height="1766" data-path="images/connect-claude-desktop/add-connector-auth-header.png" />
</Frame>

## Step 4: Confirm the connection and tools

Back on the Connectors page, the connector shows as connected with its tools listed under **Tool permissions**. You'll see the Fund Returns tools — `SearchFunds`, `GetFund`, `GetTrailingReturns`, `GetCalendarReturns`, `BatchTrailingReturns`, and `BatchCalendarReturns`. Set them to **Always allow** (or leave them to prompt) depending on how much you want Claude to ask first.

<Frame caption="Once connected, the Fund Returns tools appear under Tool permissions.">
  <img src="https://mintcdn.com/fruit-stand/nzrf19aRzBZJxPfL/images/connect-claude-desktop/connector-connected-tools.png?fit=max&auto=format&n=nzrf19aRzBZJxPfL&q=85&s=709ee4a6c65915eef51b7fbbe8a003e8" alt="Connected Fruit Stand connector showing six fund returns tools under Tool permissions" width="2030" height="1582" data-path="images/connect-claude-desktop/connector-connected-tools.png" />
</Frame>

## Step 5: Try it out

Start a new chat and ask something the data can answer, for example:

> Search for funds matching "total stock market" and show me the 1-, 5-, and 10-year trailing returns for the closest match.

Claude will call the Fruit Stand tools and answer from live data.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The connector fails to authenticate">
    Nearly always the `Bearer ` prefix. Re-open the connector's request header and confirm the value is `Bearer` + a single space + your key, with no extra spaces before or after. Because the value is hidden after saving, the quickest fix is to delete the header and re-add it.
  </Accordion>

  <Accordion title="I don't see 'Add custom connector'">
    Custom connectors require a paid Claude plan (Pro, Max, Team, or Enterprise). On the free tier the option isn't shown.
  </Accordion>

  <Accordion title="Where do I find my API key?">
    Open your [subscriptions dashboard](https://app.fruitstand.dev/subscriptions) to view and copy your key. Need one? Start free on the [pricing page](/pricing).
  </Accordion>
</AccordionGroup>

Questions? Reach out at [contact@fruitstand.dev](mailto:contact@fruitstand.dev).
