Point-in-Time Universe
get_pit_universeReturns the exact set of active companies as of a specific historical date. Essential for survivorship-bias-free universe construction in backtests — prevents future additions from appearing in historical portfolios. Filterable by index membership and sector.
Example Call
# Using the Valuein MCP server from Python (via MCP SDK)# Or call directly from Claude / Cursor after setup result = await client.call_tool( "get_pit_universe", arguments={ "as_of_date": "EXAMPLE"})print(result)Direct tool call:get_pit_universe(as_of_date="2020-03-01", index="SP500")
Try it now
Paste this in your terminal — the free tier returns real S&P500 data without authentication.
# No auth required — sample tier covers S&P500 with a 5-year window.# Add an Authorization: Bearer header for full universe and history.$ curl -X POST https://mcp.valuein.biz/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_pit_universe", "arguments": { "as_of_date": "AAPL" } } }'Inputs
| Parameter | Type | Required | Description |
|---|---|---|---|
as_of_date | string | required | YYYY-MM-DD. Returns companies active on this exact date. |
index | string | optional | Filter to index members: SP500, RUSSELL2000, etc. |
sector | string | optional | Filter by sector (case-insensitive partial match). |
Output Fields
ciktickernamesectorindustrysic_codestatusis_sp500Example Response
{ "cik": "0000320193", "ticker": "AAPL", "name": "Apple Inc.", "sector": "Technology", "industry": "Consumer Electronics", "sic_code": "3674", "status": "ACTIVE", "is_sp500": true}Shape only — field names match the live schema; values are placeholders, not real filings. Returns the exact 505 S&P500 constituents as of March 1, 2020 — before COVID-era additions.
Notes
This is the only tool that correctly handles the universe construction problem for backtesting. Using the current S&P500 list for 2020 data introduces survivorship bias.