secLABSCO SUMMARY
Every figure carries the tag it came from.
Financial answers go wrong quietly — a revenue number that came from the wrong XBRL concept looks exactly like one that did not. Here each value ships with its source_tag, so a disagreement with a filing is checkable instead of arguable. The cost of that design is one broad sec tool with an extract parameter rather than a tool per question, so the model has to know which extract it wants.
What it is
A financial data server that puts SEC EDGAR, market data and macro series behind one small set of tools. Filings are normalised into income-statement, balance-sheet and cash-flow groupings, and every metric comes back with a provenance block and a source_tag naming the XBRL concept it was derived from.
What you get
- All the SEC EDGAR surfaces through one call, selected by extract type —
financialsfor normalised statements,metricsfor computed ratios,conceptsfor raw XBRL series,insidersfor Form 4,ownershipfor 13F,eventsfor 8-K,sectionsfor MD&A and risk-factor text,segments,float,corporate_actions,transcriptsandpeers—sec - Price history as daily OHLCV bars and indicators computed from them — SMA, EMA, RSI, MACD, Bollinger, ATR and VWAP —
sec - FRED macro series grouped by inflation, employment, GDP, housing and rates —
economics - A stock screen by sector, market cap, price, volume and beta —
screener - Live crypto quotes by symbol —
crypto - The list of capabilities and their parameters, for discovering what the other tools accept —
caps
Requirements
An FMP key in FMP_API_KEY for market data and a FRED key in FRED_API_KEY for macro series; SEC access needs only a contact string in SEC_USER_AGENT. The Python package is eugene-intelligence (0.8.1), installed with pip install -e .. Launch the stdio server with python eugene_server.py --mode mcp; the same process also serves REST on port 8000 and exposes MCP over streamable HTTP at /mcp and SSE at /sse when started without the flag.
Setup effort
Build from source — git clone https://github.com/Matthew-Anyiam/eugene-data-labs.git
USE CASES
Pulling five years of normalised financials for a company
Ask for the financials extract by ticker and read income statement, balance sheet and cash flow in consistent keys across years, instead of reconciling filing layouts by hand.
Checking a valuation claim against the filing
Retrieve the metrics extract and follow the source_tag on any ratio input back to the XBRL concept behind it.
Screening for candidates then reading their fundamentals
Filter by sector and market cap, then take the tickers straight into a fundamentals call without leaving the conversation.
Putting a company's results next to the macro backdrop
Pull the reporting period's numbers and the matching FRED inflation or rates series, so the comparison uses one dataset rather than two tabs.
5 tools
Listed in project docs. Your client may show a different list.
economicsscreenercryptocapsBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- python3 on PATH
- FMP_API_KEY in your environment
- FRED_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Matthew-Anyiam/eugene-data-labs.git
cd eugene-data-labs
pip install -e .
cp .env.example .envEdit .env: set FMP_API_KEY, FRED_API_KEY and a contact string in SEC_USER_AGENT — eugene_server.py loads this file when it starts
MCP Clients
Claude Desktop
{
"mcpServers": {
"eugene": {
"command": "python3",
"args": [
"<YOUR_PATH_TO_EUGENE_DATA_LABS>/eugene_server.py",
"--mode",
"mcp"
]
}
}
}FMP_API_KEY and FRED_API_KEY go in the .env file inside the project folder rather than in the client block — eugene_server.py loads it with load_dotenv() when it starts.
Any MCP client — self-hosted
python eugene_server.py # REST API + MCP on port 8000FMP_API_KEY and FRED_API_KEY go in the .env file inside the project folder rather than in the client block — eugene_server.py loads it with load_dotenv() when it starts.