Oxford Ledge
What this MCP does
Delivers SEC-based investment research including company fundamentals, filings, institutional holdings, insider activity, debt, BDC portfolios, macro data, and news.
Tools
Input schema
{'type': 'object', 'required': ['fund'], 'properties': {'fund': {'type': 'string', 'description': "Fund CIK number (e.g. 1067983 for Berkshire Hathaway) -- preferred. A ticker is resolved via SEC's company map: letters with at most one class suffix (e.g. BLK, or BRK-B / BRK.B -- SEC lists Berkshire as BRK-A / BRK-B, so bare 'BRK' does not resolve). A filer NAME (3-80 chars) resolves when exactly one curated filer name starts with it; otherwise the error names ol_13f_filer_search. Any other shape is rejected as INVALID_PARAMS."}, 'max_holdings': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Maximum number of holdings to return (default 50)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Max filings to return (default 50)'}, 'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['cusip'], 'properties': {'cusip': {'type': 'string', 'description': '9-character CUSIP identifier (e.g. 037833AK6 for Apple)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}, 'event_type': {'type': 'string', 'description': 'Optional filter, case-insensitive; one category, a comma-separated list, or ALL (the default). The STORED vocabulary is the 17 8-K item categories: material_agreement, material_agreement_termination, bankruptcy, acquisition_disposition, earnings, new_debt_obligation, debt_obligation_trigger, material_impairment, delisting, auditor_change, financial_restatement, change_of_control, executive_change, bylaw_amendment, shareholder_vote, reg_fd_disclosure, other_event. Anything else (acquisition, divestiture, restructuring, dividend, split, merger) matches no stored row and returns events=[]; for M&A use acquisition_disposition.'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 180, 'minimum': 1, 'description': 'Number of days to look ahead (default 90)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'days': {'type': 'integer', 'maximum': 730, 'minimum': 1, 'description': 'Trailing window in days (default 180, max 730), ending at `as_of` unless end_date is given'}, 'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. GME)'}, 'end_date': {'type': 'string', 'description': "ISO date (YYYY-MM-DD) the window ends on; default = the latest loaded settlement date. Pass today's date to measure against the calendar."}}}
Input schema
{'type': 'object', 'required': ['series'], 'properties': {'series': {'type': 'string', 'description': 'FRED series ID (e.g. GDP, UNRATE, CPIAUCSL, DFF)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'days': {'type': 'integer', 'maximum': 1825, 'minimum': 1, 'description': 'Number of days of history (default 365)'}, 'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'top_n': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Maximum number of consensus tickers to return (default 50, max 200).'}, 'min_funds': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Minimum number of notable funds that must hold a ticker for it to appear (default 2, max 20).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results to return (default 25, max 100)'}, 'query': {'type': 'string', 'description': "Search query (e.g. 'tariff', 'earnings beat')"}, 'ticker': {'type': 'string', 'description': 'Filter to a specific ticker (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'properties': {'portfolio_id': {'type': 'string', 'description': "Portfolio identifier (default: 'default')"}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': "Optional search query to find facts by keyword (e.g. 'moat', 'fear')"}, 'category': {'type': 'string', 'description': 'Optional category filter. The vocabulary is EXACTLY: principle, historical_fact, psychology, quote, case_study, contrarian, mistake. Matched case-insensitively; leave empty for random. An unknown value returns {error, available_categories, total_facts} where available_categories is read from the store, so one retry always lands.'}}}
Input schema
{'type': 'object', 'properties': {'include_history': {'type': 'boolean', 'description': 'Include yield curve from 1 year ago for comparison (default false)'}}}
Input schema
{'type': 'object', 'required': ['fund'], 'properties': {'fund': {'type': 'string', 'description': '13F filer CIK (e.g. 1067983).'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Max filers to return (default 5, hard cap 10).'}, 'query': {'type': 'string', 'maxLength': 80, 'minLength': 3, 'description': "Filer name or fragment, 3-80 characters (e.g. 'Berkshire', 'Baupost')."}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'cert': {'type': 'integer', 'description': 'FDIC certificate number.'}, 'name': {'type': 'string', 'description': 'Bank name to resolve when cert is unknown.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max events (default 25, cap 100).'}}}
Input schema
{'type': 'object', 'required': ['borrower_norm'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': "Max LENDERS to return (default 25, hard cap 100); each lender's tranches ride nested."}, 'borrower_norm': {'type': 'string', 'description': 'Canonical normalized borrower key (from ol_bdc_top_borrowers or borrower search).'}, 'include_stale': {'type': 'boolean', 'description': 'Include lenders whose newest filing no longer names this borrower (stale marks). Default false.'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max news items to return (default 25, hard cap 100).'}, 'since_days': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'How many days back to look (default 7, hard cap 90).'}, 'min_holders': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Minimum number of BDC lenders a borrower must appear in (default 2).'}}}
Input schema
{'type': 'object', 'required': ['bdc_tickers'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Max borrowers to return (default 50, max 200)'}, 'bdc_tickers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'BDC symbols to intersect, e.g. ["ARCC","OBDC","AGTC"] (max 25)'}, 'min_holders': {'type': 'integer', 'maximum': 50, 'minimum': 2, 'description': "Minimum number of the supplied BDCs that must hold the borrower (default 2, min 2 -- this answers what is SHARED; for one BDC's book use ol_bdc_top_borrowers)"}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'BDC ticker (e.g. ARCC, ORCC, FSK).'}, 'quarters': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'Trailing quarters of trend (default 12, hard cap 24).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'BDC ticker (e.g. ARCC, MAIN, HTGC).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'BDC ticker (e.g. ARCC).'}, 'quarters': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'Quarters to return (default 16, max 24).'}}}
Input schema
{'type': 'object', 'required': ['bdc_tickers'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Rows per direction (default 10, hard cap 50). Ranking is GLOBAL across the supplied portfolios, not per BDC.'}, 'bdc_tickers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'BDC symbols to compare, e.g. ["ARCC","FSK","OBDC"] (max 25; the excess is reported in `coverage.not_covered_detail` rather than dropped)'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max borrowers to return (default 25, hard cap 100).'}, 'min_holders': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Minimum number of BDC lenders a borrower must appear in (default 2).'}}}
Input schema
{'type': 'object', 'properties': {'grade': {'type': 'string', 'description': "Source bucket: 'IG' (LQD universe) or 'HY' (HYG universe). Not a rating."}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max bonds to return (default 25, hard cap 100).'}, 'issuer': {'type': 'string', 'description': 'Issuer-name substring to match (optional). Identifier lookups are not supported.'}, 'offset': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Pagination offset (used only when no coupon/maturity band is set).'}, 'coupon_max': {'type': 'number', 'description': 'Maximum coupon percent, applied in-tool over the fetched page (optional).'}, 'coupon_min': {'type': 'number', 'description': 'Minimum coupon percent, applied in-tool over the fetched page (optional).'}, 'maturity_after': {'type': 'string', 'description': 'Only bonds maturing on/after this ISO date (YYYY-MM-DD), optional.'}, 'maturity_before': {'type': 'string', 'description': 'Only bonds maturing on/before this ISO date (YYYY-MM-DD), optional.'}}}
Input schema
{'type': 'object', 'required': ['borrower_norm'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max M&A/ownership events to return (default 20, hard cap 100).'}, 'borrower_norm': {'type': 'string', 'description': 'Canonical normalized borrower key (from ol_bdc_top_borrowers).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 156, 'minimum': 1, 'description': 'Weekly reports for a market series (default 52, hard cap 156).'}, 'market': {'type': 'string', 'description': 'Market key, CFTC report name or desk symbol -- gold / GC / XAU, crude_oil / CL / WTI, sp500 / ES / S&P (case-insensitive; omit for the latest all-market snapshot).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Issuer symbol.'}}}
Input schema
{'type': 'object', 'required': ['tickers'], 'properties': {'tickers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25, 'description': "ETF ticker symbols to expand (e.g. ['VOO','QQQ']). Max 25."}, 'top_holdings': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max underlying holdings per ETF (default 10, hard cap 50).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max institutions (default 25, hard cap 100).'}, 'query': {'type': 'string', 'description': 'Institution name prefix (omit for the top-by-assets list).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max rows (default 20, hard cap 100).'}, 'ticker': {'type': 'string', 'description': 'Stock ticker (omit for the FY leaderboard).'}, 'fiscal_year': {'type': 'integer', 'description': 'Fiscal year for the top-contractors leaderboard.'}}}
Input schema
{'type': 'object', 'required': ['ticker', 'query'], 'properties': {'k': {'type': 'integer', 'maximum': 15, 'minimum': 1, 'description': 'Number of chunks to return (default 5, hard cap 15).'}, 'query': {'type': 'string', 'description': 'Natural-language question to retrieve relevant filing passages for.'}, 'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL)'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'maximum': 1825, 'minimum': 1, 'description': 'Trailing filing-date window in days (optional). The data set is quarterly with ~1 quarter of posting lag: a window shorter than that is empty by construction.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Max offerings (default 50, hard cap 200).'}, 'industry': {'type': 'string', 'description': 'Industry group filter (optional).'}}}
Input schema
{'type': 'object', 'required': ['tickers'], 'properties': {'tickers': {'type': 'array', 'items': {'type': 'string'}, 'description': '2-10 candidate ticker symbols to screen (hard-capped at 10).'}, 'min_revenue': {'type': 'number', 'description': 'Min latest-year revenue (USD).'}, 'min_net_income': {'type': 'number', 'description': 'Min latest-year net income (USD).'}, 'min_current_ratio': {'type': 'number', 'description': 'Min current ratio.'}, 'min_free_cash_flow': {'type': 'number', 'description': 'Min latest-year free cash flow (USD).'}, 'min_ebit_margin_pct': {'type': 'number', 'description': 'Min EBIT margin (percent).'}, 'min_gross_margin_pct': {'type': 'number', 'description': 'Min gross margin (percent).'}, 'max_debt_to_assets_pct': {'type': 'number', 'description': 'Max debt-to-assets (percent).'}}}
Input schema
{'type': 'object', 'required': ['term'], 'properties': {'term': {'type': 'string', 'description': "The term to look up, e.g. 'duration'."}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max events to return (default 25, hard cap 100; market-wide grain: default 10, clamped to 25).'}, 'ticker': {'type': 'string', 'description': 'Single ticker for its recent fired clusters (alternative to `tickers`). Omit BOTH for the market-wide scan.'}, 'tickers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'description': "Watchlist of ticker symbols (e.g. ['AAPL','MSFT']). Max 100. Use this OR `ticker`."}, 'since_days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Window in days: watchlist default 7 (max 365); market-wide default 30 (clamped to 90); ignored for the single-ticker grain.'}, 'min_insider_count': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Minimum distinct insiders for a fired cluster (default 3).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max purchases (default 25, hard cap 100).'}, 'min_value': {'type': 'number', 'minimum': 0, 'description': 'Only purchases with totalValue >= this many USD (optional). Rows whose totalValue is null -- the filed price failed the plausibility gate -- are dropped when this is set.'}, 'since_days': {'type': 'integer', 'maximum': 180, 'minimum': 1, 'description': 'Trailing window in days (default 30, hard cap 180).'}, 'common_only': {'type': 'boolean', 'description': 'Common stock only (default true): drops derivative rows and any security title naming preferred / pfd / warrant / debenture / note. Series-named common classes ("Series A Common Stock") are kept. false restores every \'P\' row.'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol, e.g. AAPL.'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Stock ticker symbol (e.g. AAPL).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'limit': {'type': 'integer', 'maximum': 800, 'minimum': 1, 'description': 'Max rows (default 200, hard cap 800).'}, 'metric': {'type': 'string', 'description': 'Optional metric key filter, e.g. arr, crpo, nrr.'}, 'period': {'type': 'string', 'description': 'Optional fiscal-period label, e.g. 2026-Q2.'}, 'ticker': {'type': 'string', 'description': 'Issuer symbol (single issuer, mandatory). There is deliberately NO cross-issuer panel read (SF-TIER3 D2) -- one metric across many issuers is not an answerable question on this surface.'}, 'industry': {'type': 'string', 'description': 'Optional panel tag filter, e.g. enterprise_saas.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'tickers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional issuer symbols (max 50); omit for market-wide.'}, 'by_sector': {'type': 'boolean', 'description': 'Include the by-sector split (default false).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Issuer symbol, e.g. DAL, MAR, HCA, JPM, DAC (single issuer, mandatory). There is deliberately no cross-issuer KPI screen (SF-TIER3 D2): panels are per-issuer by design.'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'limit': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': 'Max rows per bucket (default 50, hard cap 250); counts are complete regardless.'}, 'ticker': {'type': 'string', 'description': 'Stock ticker (e.g. AAPL).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'history_limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'How many recent fills to include when include_history is true (1..50).'}, 'include_history': {'type': 'boolean', 'default': False, 'description': 'Add recent_trades (the last history_limit fills).'}}}
Input schema
{'type': 'object', 'required': ['ticker', 'side', 'shares'], 'properties': {'side': {'enum': ['buy', 'sell'], 'type': 'string', 'description': "buy or sell (market order at the platform's delayed quote)."}, 'shares': {'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'description': "Whole shares, 1..1,000,000 per order (the engine's per-order cap)."}, 'thesis': {'type': 'string', 'maxLength': 250, 'description': "Optional: why (max 250 chars). Stored on the fill and shown back to the user beside the position; write it as the USER's reason."}, 'ticker': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': 'Symbol to trade in YOUR paper portfolio (e.g. DAC).'}, '_dry_run': {'type': 'boolean', 'default': True, 'description': 'Default true: preview the fill (quote, cost, cash after) without placing it. Re-call with false and the returned _idempotency_key to execute.'}, '_idempotency_key': {'type': 'string', 'maxLength': 128, 'description': 'Optional replay-safety key; auto-derived if omitted. A repeat of the same key returns the first result and places nothing.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Max filings (default 50, hard cap 200).'}, 'ticker': {'type': 'string', 'description': 'Stock ticker (e.g. GOOGL).'}}}
Input schema
{'type': 'object', 'required': ['tickers'], 'properties': {'tickers': {'type': 'array', 'items': {'type': 'string'}, 'description': '2-6 ticker symbols to compare (hard-capped at 6).'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'points': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Readings to return (default 6, max 26).'}, 'ticker': {'type': 'string', 'description': 'Stock ticker (e.g. GME).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 360, 'minimum': 1, 'description': 'Monthly points for a series (default 120, hard cap 360).'}, 'security_type': {'type': 'string', 'description': "e.g. 'Total Public Debt Outstanding' (with security_class for a series)."}, 'security_class': {'type': 'string', 'description': "Class within the type; '_' for Total rows."}}}
Input schema
{'type': 'object', 'required': ['slug', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'The note text (max 500 chars). Notes are PRIVATE; publishing requires the dashboard flow (age attestation).'}, 'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Reading-list entry slug (as on /reading-list).'}, '_dry_run': {'type': 'boolean', 'default': True, 'description': 'Default true: propose without persisting. Re-call with false to execute.'}, '_idempotency_key': {'type': 'string', 'maxLength': 128, 'description': 'Optional replay-safety key; auto-derived if omitted.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Max `holders` rows to return (default 5000 = every row; hard cap 5000, refused above). Pages the tranche rows only.'}, 'query': {'type': 'string', 'description': 'Borrower/company name to search (e.g. Finastra, Medline); at least 3 characters.'}, 'offset': {'type': 'integer', 'maximum': 5000, 'minimum': 0, 'description': 'Rows to skip before the page (default 0; max 5000). Past the end returns an empty page with `page.total` intact.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Issuer name to search (e.g. Apple, Goldman Sachs)'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search query (company name, ticker, or industry)'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results to return (default 20)'}, 'query': {'type': 'string', 'description': "Search query (e.g. 'oil prices', 'Fed rate cut')"}}}
Recent tool changes
Similar MCP servers
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…
DFX Real Estate Intelligence
Provides US commercial real estate, parcel, debt maturity, bank CRE exposure, private capital, investor, ownership, occupancy, an…
simplefunctions
Provides prediction-market data, thesis analysis, market signals, portfolio tracking, and automated intent-based trading workflow…
EventTrader MCP
Provides prediction-market research and trading capabilities, including real-time event-market data, CLOB execution paths, fund i…
Signal8
Provides SEC filings, dilution data, insider and institutional ownership, and political-trade data.