Insights
Financial Data MCP for Cursor Projects
Alphanume Team · August 23, 2026
Configure Alphanume at project scope in Cursor, keep the API key outside version control, and build a notebook from dated optionable-universe snapshots.
A financial data MCP setup for Cursor belongs in .cursor/mcp.json when the tools and instructions should travel with one research repository. Point the remote server at Alphanume's key-auth endpoint, supply the key without committing its value, verify the available tools, and ask Cursor to build a notebook around the point-in-time optionable universe. Project scope makes the research dependency visible. It does not make credentials safe by itself.
Cursor's current MCP documentation distinguishes project configuration at .cursor/mcp.json from global configuration at ~/.cursor/mcp.json. Alphanume documents the compatible remote endpoint and header in the MCP server guide. The key uses the same tier and limits described on pricing; there is no separate MCP dataset or subscription.
Choose project scope deliberately
Project configuration is useful when collaborators need to see that a notebook depends on Alphanume tools and when Cursor's IDE and CLI should discover the same server for that repository. Global configuration is better for a private tool used across unrelated projects. In either case, the committed file should describe the server, not contain a reusable secret. Keep the real value in a local secret mechanism supported by the team and review the staged diff before every commit.
File | Scope | Commit policy | Use |
|---|---|---|---|
.cursor/mcp.json | Current repository | Commit only with environment interpolation | Shared project-scoped server definition |
~/.cursor/mcp.json | Current user | Keep outside the repository | Private global server definition |
System environment | Machine or managed runtime | Never commit | Actual API key value |
Cursor process | IDE and CLI session | Restart after changing the environment | Resolves the header at runtime |
The Alphanume key endpoint is https://mcp.alphanume.com/key/mcp and accepts X-API-Key. Cursor also supports OAuth for compatible remote servers, but the current Alphanume documentation recommends the explicit key endpoint for Cursor. If the client configuration method changes, follow the official Cursor MCP reference rather than copying an old JSON fragment from a forum.
Create a reviewable project configuration
The official Cursor MCP documentation defines ${env:NAME} interpolation in remote-server headers. Commit the server shape below in .cursor/mcp.json, but define ALPHANUME_API_KEY only in the system environment used to launch Cursor. The repository contains the variable name, not the secret value. Restart Cursor after setting or rotating the variable so the process inherits the current value.
{
"mcpServers": {
"alphanume": {
"url": "https://mcp.alphanume.com/key/mcp",
"headers": {
"X-API-Key": "${env:ALPHANUME_API_KEY}"
}
}
}
}After enabling the server, use Cursor's MCP controls or CLI to list the server and tools. Call check_api_status before a dataset request. A status failure can mean the header was not resolved, the key belongs to a different tier, or the remote server is unreachable. Do not respond by printing the configured key into chat or terminal output.
Build the dated optionability notebook
The research job is to create a notebook that pulls point-in-time optionable tickers for every rebalance date. The Optionable Tickers dataset stores dated snapshots with ticker, average days between expirations, and a weekly-style density flag. It answers what was optionable then. Starting with today's options list and applying it to old rebalances would admit future listings and retain names that later disappeared.
Call get_optionable_tickers for one known snapshot in the 2025-01-01 through 2025-03-31 window.
Retain date, ticker, avg_days_between, and has_weeklies.
Report truncated_to_max_rows as well as has_more and next_cursor.
If truncated_to_max_rows is present, stop and label the MCP result incomplete regardless of has_more.
Write a REST handoff for the complete three-month extraction with cursor_date and cursor_ticker pagination.
In the REST-backed notebook, select only snapshots available on or before each rebalance.
Print the chosen snapshot date and ticker count for every rebalance.
Keep missing snapshots as explicit failures. Do not replace them with the current universe.Require the notebook to save every raw REST page before combining them. The MCP response can discard rows after the REST envelope is created, so its cursors do not recover an assistant-capped snapshot. The Optionable Tickers reference explains REST cursor pagination and fields. If the strategy also requires market-cap or sector filters, join those datasets under their own timing rules rather than assuming every reference table shares the optionability snapshot date.
Test the failure modes Cursor cannot remove
A repository-scoped MCP file can leak a key if a literal value is committed, copied into an issue, or printed by generated diagnostics. Add the relevant local file to ignore rules only when that matches the team's configuration approach, and inspect version-control status. On the data side, a notebook can stop after the first page, choose a later snapshot, or forward-fill across a long gap. Assertions should reject each case.
- Confirm every requested rebalance maps to an explicitly reported snapshot date.
- Reject duplicate date and ticker keys before joining portfolio records.
- Treat 403 access and 429 rate-limit responses as failures, not empty optionable universes.
- Record Cursor, notebook dependency, and schema versions so another machine can reproduce the run.
Hand the project to another machine
Clone the repository into a clean environment without the secret, confirm that no key is present, then provide the key through the approved local channel and enable the server. Run the notebook for one rebalance and compare the raw page count, selected snapshot date, and eligible tickers with the original machine. That clean-room test is the concrete next action. It verifies both the project configuration and the point-in-time research logic without treating Cursor's generated explanation as evidence.