🔗 MCP API

Getting Started

Connect your MCP client to the FinFeedAPI Flat Files MCP server and start browsing buckets, prefixes, and object metadata.

Getting Started with Flat Files API MCP

This guide shows how to connect an MCP client to the hosted FinFeedAPI Flat Files MCP server.

Endpoint and authentication

  • MCP endpoint: https://mcp.flatfiles.finfeedapi.com/mcp
  • Header: X-APIKey: YOUR_API_KEY
  • Transport: HTTP streaming MCP

Cursor example

Add the Flat Files server to your MCP client configuration:

{
  "mcpServers": {
    "FinFeedAPI-Flat-Files": {
      "url": "https://mcp.flatfiles.finfeedapi.com/mcp",
      "headers": {
        "X-APIKey": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Replace YOUR_API_KEY_HERE with your real API key and restart the client if required by your MCP application.

First requests to try

These calls are the fastest way to validate the integration and understand the bucket layout.

1. List buckets

Call storage_list_buckets with no arguments.

Example response excerpt:

{
  "buckets": [
    {
      "name": "finfeedapi",
      "creationDate": "2026-04-07T13:44:55.574Z",
      "bucketRegion": "us-east-1"
    }
  ],
  "owner": {
    "id": "coinapi",
    "displayName": "coinapi"
  }
}

2. List top-level prefixes in the bucket

Call storage_list_objects with:

{
  "bucket": "finfeedapi"
}

Example response excerpt:

{
  "prefix": "",
  "contents": [],
  "commonPrefixes": [
    { "prefix": "E-IEXG/" },
    { "prefix": "E-XWAR/" },
    { "prefix": "E-XHKG/" }
  ],
  "delimiter": "/",
  "httpStatusCode": "OK"
}

At this level the response behaves like a folder listing: commonPrefixes contains child prefixes, and contents is usually empty.

3. Drill into an exchange prefix

Call storage_list_objects with:

{
  "bucket": "finfeedapi",
  "prefix": "E-IEXG/"
}

Example response excerpt:

{
  "commonPrefixes": [
    { "prefix": "E-IEXG/T-OHLCV+TP-1SEC/" },
    { "prefix": "E-IEXG/T-OHLCV+TP-1MIN/" },
    { "prefix": "E-IEXG/T-OHLCV+TP-1DAY/" }
  ]
}

4. Enumerate actual files

Call storage_list_objects with a concrete dataset prefix:

{
  "bucket": "finfeedapi",
  "prefix": "E-IEXG/T-OHLCV+TP-1DAY/"
}

Example response excerpt:

{
  "contents": [
    {
      "key": "E-IEXG/T-OHLCV+TP-1DAY/D-20161212.csv.gz",
      "lastModified": "2025-06-18T22:51:50.994Z",
      "size": 187642
    },
    {
      "key": "E-IEXG/T-OHLCV+TP-1DAY/D-20161213.csv.gz",
      "lastModified": "2025-06-18T22:51:51.506Z",
      "size": 184872
    }
  ]
}

Browse first, download second

  1. Use storage_list_buckets to identify the bucket.
  2. Use storage_list_objects without a prefix to discover exchanges.
  3. Use storage_list_objects with an exchange prefix to discover dataset families and timeframes.
  4. Use storage_list_objects with a dataset prefix to get object keys.
  5. Download the selected object through the regular S3 API.

Prefix patterns you will commonly see

  • E-IEXG/
  • E-IEXG/T-OHLCV+TP-1DAY/
  • E-IEXG/T-OHLCV+TP-1MIN/
  • E-XWAR/T-OHLCV+TP-1DAY/
  • E-IEXG/T-OHLCV+TP-1DAY/D-20161212.csv.gz

Troubleshooting

No tools appear in the client

  • Verify the endpoint URL is exactly https://mcp.flatfiles.finfeedapi.com/mcp.
  • Confirm the request includes the X-APIKey header.
  • Restart the MCP client after editing its configuration.

storage_list_objects returns no files

  • Check that the bucket value is correct, for example finfeedapi.
  • Make sure the prefix matches the bucket structure exactly.
  • Start from a broader prefix such as E-IEXG/ and drill down step by step.

I found an object key but still need the file contents

The current MCP server is focused on discovery and listing. Once you know the full object key, retrieve the file through the standard Flat Files S3 API.

Service StatusGitHub SDK