free-etf-flows-mcp
# Free Spot ETF Flows MCP Server
[](https://yasinozen35.github.io/free-etf-flows-mcp/)
[](https://github.com/yasinozen35/free-etf-flows-mcp)
[](openapi.json)
[](LICENSE)
š **Live Documentation & Website:** [https://yasinozen35.github.io/free-etf-flows-mcp/](https://yasinozen35.github.io/free-etf-flows-mcp/)
š **OpenAPI 3.0 Specification:** [openapi.json](openapi.json)
š¦ **Smithery MCP Registry:** [https://smithery.ai/servers/yasinozen35/free-etf-flows-mcp](https://smithery.ai/servers/yasinozen35/free-etf-flows-mcp)
š¦ **Glama MCP Registry:** [https://glama.ai/mcp/servers/yasinozen35/free-etf-flows-mcp](https://glama.ai/mcp/servers/yasinozen35/free-etf-flows-mcp)
This is an open-source Model Context Protocol (MCP) server that connects your AI assistants (like Claude Desktop, Cursor, Windsurf) to Spot Bitcoin (BTC) and Ethereum (ETH) institutional net flow data.
It fetches clean, normalized data directly from the consolidated institutional data feeds, bypassing messy scrape formats.
---
## ⨠Features
- **Native AI Integration:** Adds `get_latest_etf_flows` and `query_etf_flows_by_date_range` tools to your LLM context.
- **Normalized Values:** Institutional formatting (like brackets for negative values `(219.4)`) are automatically converted to standard USD floats (`-219400000.00`).
- **Free/Preview Fallback:** Works out-of-the-box without an API key in **Limited Preview Mode** (returns 3 latest records with a 1-day delay).
- **Pro Tier support:** Full, real-time historical queries with higher rate limits when configured with an API key.
---
## š Setup Instructions
### Prerequisites
You need [uv](https://astral.sh/uv/) installed on your machine to run this server easily without managing virtual environments manually.
```bash
# Install uv (Mac/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### 1. Configure Claude Desktop
Add the following block to your `claude_desktop_config.json` (located at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"etf-flows": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/free-etf-flows-mcp",
"run",
"python",
"mcp_server.py"
],
"env": {
"ETF_FLOWS_API_KEY": "YOUR_PRO_API_KEY_HERE"
}
}
}
}
```
*Note: If you don't have an API key yet, you can leave the `ETF_FLOWS_API_KEY` empty (or omit it) to run in **Free Preview Mode**.*
### 2. Configure Cursor
1. Open Cursor Settings (**Settings > Features > MCP**).
2. Click **+ Add New MCP Server**.
3. Fill in the details:
- **Name:** `etf-flows`
- **Type:** `command`
- **Command:** `uv --directory /absolute/path/to/free-etf-flows-mcp run python mcp_server.py`
4. Set the environment variable in your terminal/system or configure it directly in Cursor:
- Key: `ETF_FLOWS_API_KEY`
- Value: `YOUR_PRO_API_KEY_HERE`
---
## š ļø MCP Tools Provided
Once connected, your AI assistant will have access to the following tools:
### 1. `get_latest_etf_flows`
* **Description:** Get the most recent Spot ETF flow records for a given ticker.
* **Arguments:**
* `ticker` (string, optional): `'BTC'` or `'ETH'`. Defaults to `'BTC'`.
### 2. `query_etf_flows_by_date_range`
* **Description:** Query historical ETF flows within a specific date range.
* **Arguments:**
* `start_date` (string, required): YYYY-MM-DD format.
* `end_date` (string, required): YYYY-MM-DD format.
* `ticker` (string, optional): `'BTC'` or `'ETH'`.
---
## š³ Get a Pro API Key
To unlock unlimited historical data, real-time updates (0-day delay), and higher rate limits, purchase a Pro Developer key from our website:
š **[Get Pro API Key](https://www.shopier.com/ysnzn/49360250)** or visit our website **[https://yasinozen35.github.io/free-etf-flows-mcp/](https://yasinozen35.github.io/free-etf-flows-mcp/)**.
TDQS
Scored across 3 tools
Each tool has a distinct purpose: one fetches latest flows, one queries a date range, and one provides account upgrade info. No overlap or ambiguity in their roles.
All names follow a verb-noun pattern, but 'query' in the second tool is a slight deviation from the 'get' used in the other two. Overall, names are clear and predictable.
Three tools is a reasonable count for a focused ETF flow server, though it sits at the lower boundary of the typical well-scoped range. The purpose is narrow, so the count feels appropriate.
The tools cover the core data retrieval needs: latest flows and historical range queries. A minor gap is the lack of a direct 'get all flows' without a date range, but users can work around with broad dates. The pro access tool adds useful context.