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
}
]
}Recommended workflow
Browse first, download second
- Use
storage_list_bucketsto identify the bucket. - Use
storage_list_objectswithout a prefix to discover exchanges. - Use
storage_list_objectswith an exchange prefix to discover dataset families and timeframes. - Use
storage_list_objectswith a dataset prefix to get object keys. - 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-APIKeyheader. - Restart the MCP client after editing its configuration.
storage_list_objects returns no files
- Check that the
bucketvalue is correct, for examplefinfeedapi. - Make sure the
prefixmatches 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.
