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

# MCP Server

> Connect Claude, Cursor, or Claude Code to the MCP endpoint at /mcp.

`https://financialdatasets.rip/mcp` is a streamable-HTTP [MCP](https://modelcontextprotocol.io) endpoint. It exposes all 27 Financial Datasets-named tools, listed with full parameters in [MCP Tools](/mcp-tools/overview), and authenticates with the same `X-API-KEY` header as REST. `/api` is a working alias for the same endpoint.

There is no separate MCP account. The `X-API-KEY` you send here is your Monid API key, and MCP calls bill your Monid wallet the same way REST calls do. See [Authentication](/overview/authentication).

## Claude Desktop

Add a `monid-finance` entry to `claude_desktop_config.json`.

```json claude_desktop_config.json theme={"theme":"css-variables"}
{
  "mcpServers": {
    "monid-finance": {
      "url": "https://financialdatasets.rip/mcp",
      "headers": { "X-API-KEY": "<your-api-key>" }
    }
  }
}
```

Restart Claude Desktop after saving. The tools show up under the hammer icon in a new chat.

## Cursor

Add the same shape to `.cursor/mcp.json` in your project, or to the global `~/.cursor/mcp.json`.

```json .cursor/mcp.json theme={"theme":"css-variables"}
{
  "mcpServers": {
    "monid-finance": {
      "url": "https://financialdatasets.rip/mcp",
      "headers": { "X-API-KEY": "<your-api-key>" }
    }
  }
}
```

## Claude Code

Register the server from the CLI. No config file to edit by hand.

```bash Terminal theme={"theme":"css-variables"}
claude mcp add monid-finance --transport http https://financialdatasets.rip/mcp --header "X-API-KEY: <your-api-key>"
```

## Checking the connection

Ask the agent to list its tools, or call one directly, for example: "use monid-finance to get AAPL's latest income statement." A working connection returns the same JSON shape documented in [Quickstart](/overview/quickstart) and in the dataset pages, because REST and MCP share one backend service.

<Accordion title="Can an MCP tool return data its REST route does not?">
  No. Every tool is reachable both ways, and both transports share one backend service. Two REST paths answer a zero-cost `not_implemented` stub, `/kpi/metrics/sectors` and `/index-funds/tickers`, because neither has an honest catalog to enumerate; no tool sits behind either.

  Defaults do differ where a REST handler fills a value before calling the tool. `period` defaults to `annual` over REST and `ttm` over MCP; `get_filings` defaults `limit` to `10` over REST and `100` over MCP. Pass both explicitly. See [Coverage](/overview/coverage).
</Accordion>

<Accordion title="Why do MCP errors look different from REST errors?">
  REST always answers the Financial Datasets `{"error": <code>, "message": <text>}` shape with a matching HTTP status. MCP tool failures surface as a JSON-RPC error object on the `tools/call` response instead, since MCP is a JSON-RPC protocol. The `message` carries the same underlying text either way. See [Errors](/guides/errors).
</Accordion>

<Card title="MCP Tools reference" icon="wrench" href="/mcp-tools/overview">
  All 27 tools with their parameters, types, required flags, and defaults, generated from the tool schema file.
</Card>
