Fintel Discovery — Financial Intelligence for AI Agents
by findimitrov · remote · no sign-in to list tools · v1.0.2 · published by GitHub user findimitrov
Delivers public regulatory and market data from 11 key sources such as FINRA, SEC, Census, FRED
32 tools: 1 change things and 31 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads31Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http fintel-discovery https://ai.fin-discovery.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
32 tools
Changes things 1Claude Code: ask
MapInstrumentIdsMap financial instrument identifiers between different ID systems using Bloomberg's OpenFIGI service.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Map financial instrument identifiers between different ID systems using Bloomberg's OpenFIGI service. Converts between ticker symbols, ISINs, CUSIPs, and FIGIs in a single call. Use this tool when: - You have a ticker and need the ISIN or CUSIP (or vice versa) - You are normalizing instrument IDs when combining data from EDGAR, Yahoo Finance, and other sources that use different ID schemes - You need to identify what exchange a security trades on Supported idType values: - 'TICKER': Stock ticker symbol (e.g. 'AAPL') - 'ID_ISIN': ISIN (e.g. 'US0378331005') - 'ID_CUSIP': CUSIP (e.g. '037833100') - 'ID_FIGI': Bloomberg FIGI Include 'exchCode': 'US' to target US exchanges for ticker lookups. Source: Bloomberg OpenFIGI API. No API key required (optional key raises rate limits).
Annotations the server declares
- title: Map Instrument IDs via OpenFIGI
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 31Claude Code: allow
Get13FHoldingsFetch and parse the complete equity holdings table from a specific SEC 13F-HR filing.Reads private dataNo findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
What it can reach
- private-dataThe description's first sentence says "fetch" and "table": it reads databases.
Description, as the server wrote it Fetch and parse the complete equity holdings table from a specific SEC 13F-HR filing. Any institution managing more than $100M in US equities must file quarterly — this reveals their exact portfolio positions. Returns one record per position: - name_of_issuer — company name (e.g. 'APPLE INC') - cusip — 9-character CUSIP identifier - title_of_class — share class (e.g. 'COM', 'ADR') - value_thousands — market value in thousands USD - value_usd — market value in USD - shares_or_principal — number of shares (SH) or principal amount (PRN) - investment_discretion — SOLE, SHARED, or OTHER - put_call — 'Put' or 'Call' for options; null for equities - voting_sole/shared/none — voting authority breakdown PRIMARY USE: Step 2 of institutional holdings workflow. Obtain cik and accession_no from SearchEdgar13F or GetEdgarCompanyFilings, then call this tool to get the actual positions. Use min_value_thousands to filter noise (e.g. 1000 = positions ≥ $1M). Use sort_by='value_desc' to see the largest positions first. Use limit (default 100) and offset for pagination — large filers can have 3,000+ positions. Check _has_more in the response to know if more pages exist. Source: SEC EDGAR Archives (13F infotable XML). No API key required.
Annotations the server declares
- title: Get 13F Holdings — Full Parsed Infotable
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetAdvisorBenchmarksReturn Kitces Research advisor practice benchmark data for independent and RIA-affiliated financial advisors.No findings
Why it is in this group
- The name "GetAdvisorBenchmarks" says "get": a word for reading.
Description, as the server wrote it Return Kitces Research advisor practice benchmark data for independent and RIA-affiliated financial advisors. Covers median and top-quartile metrics across five categories: - revenue: revenue per client, total firm revenue, growth rates - fees: AUM fee schedules, retainer and hourly rates - technology: software adoption rates and tech spend - staffing: headcount, capacity, and support ratios - clients: household counts, AUM per client, retention rates Set category='all' (default) to retrieve all categories at once. Source: Kitces Research annual advisor benchmarking survey (2023–2024). No API key required — data is embedded as curated static reference.
Annotations the server declares
- title: Kitces Advisor Practice Benchmarks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetAnalystRatingsFetch analyst buy/sell/hold consensus ratings, current price targets (low, high, mean, median), and the full history of analyst upgrades and downgrades with firm name, fromGrade, t…No findings
Why it is in this group
- The name "GetAnalystRatings" says "get": a word for reading.
Description, as the server wrote it Fetch analyst buy/sell/hold consensus ratings, current price targets (low, high, mean, median), and the full history of analyst upgrades and downgrades with firm name, fromGrade, toGrade, and action. Use this tool when: - You want to know the current Wall Street consensus on a stock - You need analyst price target range (upside/downside to target) - You are tracking rating changes from major research firms Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Analyst Ratings & Price Targets
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetBrokerCheckDetailRetrieve the full FINRA BrokerCheck profile for one individual using their CRD number.No findings
Why it is in this group
- The name "GetBrokerCheckDetail" says "get": a word for reading.
Description, as the server wrote it Retrieve the full FINRA BrokerCheck profile for one individual using their CRD number. Returns complete employment history, exam qualifications, licenses held, and all disclosure details. Use this tool when: - You have a CRD (from SearchBrokerCheck) and want full profile detail - You need employment history, prior firms, or qualification data for a rep - You are performing due diligence on an individual advisor Source: FINRA BrokerCheck public API. No API key required.
Annotations the server declares
- title: Get BrokerCheck Full Profile by CRD
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetDividendsAndSplitsFetch the full history of cash dividends, stock splits, and combined corporate actions for a ticker.No findings
Why it is in this group
- The name "GetDividendsAndSplits" says "get": a word for reading.
Description, as the server wrote it Fetch the full history of cash dividends, stock splits, and combined corporate actions for a ticker. Returns date, amount/ratio for each event. Use this tool when: - You need dividend history or yield calculation inputs - You are researching dividend growth over time - You want to verify stock split history for return calculations Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Dividends & Stock Splits
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetEarningsHistoryFetch earnings history (EPS actual vs estimate, surprise %) and upcoming earnings dates with consensus estimates.No findings
Why it is in this group
- The name "GetEarningsHistory" says "get": a word for reading.
Description, as the server wrote it Fetch earnings history (EPS actual vs estimate, surprise %) and upcoming earnings dates with consensus estimates. Also returns forward EPS estimates by quarter and fiscal year. Use this tool when: - You want to see how a company has performed vs EPS expectations - You need the next earnings date and the consensus estimate - You are analyzing earnings surprise trends or growth trajectory Returns three sections: earnings_history, earnings_dates, earnings_estimate. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Earnings History & Estimates
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetEdgarCompanyFilingsRetrieve all SEC filings for a company or institution using its CIK (Central Index Key).No findings
Why it is in this group
- The name "GetEdgarCompanyFilings" says "get": a word for reading.
Description, as the server wrote it Retrieve all SEC filings for a company or institution using its CIK (Central Index Key). Returns every filing on record: form type, date, accession number, and description. Useful for tracking all regulatory disclosures from a specific institution over time. Use this tool when: - You have a CIK and want to see all filing activity for a company - You want to track 13F, ADV, or ownership disclosure history - You need accession numbers to pull specific filing documents Find a CIK at: https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany Source: SEC EDGAR data API. No API key required.
Annotations the server declares
- title: Get SEC EDGAR Filings by CIK
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetFinancialsFetch income statement, cash flow statement, or balance sheet for a stock.No findings
Why it is in this group
- The name "GetFinancials" says "get": a word for reading.
Description, as the server wrote it Fetch income statement, cash flow statement, or balance sheet for a stock. Returns up to 4 years of annual data or 4 quarters of quarterly data, transposed so each row is one reporting period. Use this tool when: - You need revenue, net income, EPS, or operating margins - You want cash flow from operations, CapEx, or free cash flow - You need total assets, debt, equity, or liquidity ratios - You are doing fundamental analysis on a stock statement options: 'income', 'cashflow', 'balance'. freq options: 'yearly', 'quarterly', 'trailing' (TTM, income only). Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Financial Statements
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetFredSeriesDataFetch time-series observation data from FRED for a specific economic series.No findings
Why it is in this group
- The name "GetFredSeriesData" says "get": a word for reading.
Description, as the server wrote it Fetch time-series observation data from FRED for a specific economic series. Returns date + value pairs with series metadata (title, units, frequency). Use SearchFredSeries first if you don't know the series ID. Use this tool when: - You need historical macro data (rates, inflation, GDP, unemployment) - You want to provide macro context alongside advisor or fund data - You are comparing economic conditions across time periods - You need the current value of a key economic indicator Pass observation_start / observation_end to limit the date range. Pass frequency to aggregate (e.g. 'm' for monthly, 'q' for quarterly). Requires FRED_API_KEY environment variable (free at fred.stlouisfed.org). Source: Federal Reserve Bank of St. Louis FRED API.
Annotations the server declares
- title: Get FRED Series Data
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetFundFeesRetrieve expense ratios and fee breakdown for a mutual fund or ETF using its SEC CIK.No findings
Why it is in this group
- The name "GetFundFees" says "get": a word for reading.
Description, as the server wrote it Retrieve expense ratios and fee breakdown for a mutual fund or ETF using its SEC CIK. Reads structured XBRL data filed with prospectuses using the SEC Risk/Return (rr:) taxonomy. Returns: - net_expense_ratio — total annual cost to the investor (%) - gross_expense_ratio — before waivers/reimbursements (%) - management_fee — advisor/sub-advisor fee (%) - distribution_12b1_fee — distribution and service fee (%) - other_expenses — admin, custody, transfer agent fees (%) - acquired_fund_fees — fees from underlying funds, if any (%) All values are expressed as percentages (e.g. 0.03 = 0.03%). PRIMARY USE: Step 2 of fee comparison. Accepts CIKs returned by SearchFundsByCategory. Run for multiple funds then rank by net_expense_ratio ascending to find the lowest-cost option in a category. With include_all_classes=True (default), returns one row per share class per period — useful for identifying the cheapest share class of a fund. With include_all_classes=False, returns the single most recent value only. Note: Not all funds file XBRL rr: data. If this tool returns an error, use GetFundProfile (yfinance) as a fallback for expense ratio data. Source: SEC EDGAR XBRL company facts API. No API key required.
Annotations the server declares
- title: Get Fund Expense Ratios — XBRL rr: Taxonomy
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetFundProfileFetch ETF or mutual fund specific data: top holdings with weight %, sector allocations, expense ratio, bond credit quality ratings, and equity style characteristics.No findings
Why it is in this group
- The name "GetFundProfile" says "get": a word for reading.
Description, as the server wrote it Fetch ETF or mutual fund specific data: top holdings with weight %, sector allocations, expense ratio, bond credit quality ratings, and equity style characteristics. Use this tool when: - You need the top 10 holdings and their weights for an ETF or fund - You want sector allocation breakdown (tech %, financials %, etc.) - You need bond rating distribution for a fixed-income fund - You are comparing fund profiles for advisor recommendations section options: 'overview', 'holdings', 'sectors', 'bond_ratings', 'equity_holdings', 'all'. Only works for ETFs and mutual funds. For stocks, use GetTickerInfo. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Fund Profile (ETF / Mutual Fund)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetHoldersFetch ownership data for a stock: top institutional holders, mutual fund holders, and recent insider transactions (buys/sells by executives).No findings
Why it is in this group
- The name "GetHolders" says "get": a word for reading.
Description, as the server wrote it Fetch ownership data for a stock: top institutional holders, mutual fund holders, and recent insider transactions (buys/sells by executives). Use this tool when: - You want to know which institutions or funds own a stock - You are checking for insider buying or selling activity - You need institutional ownership concentration data holder_type options: 'institutional', 'mutualfund', 'insider', 'all'. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Holders & Ownership Data
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetIAPDFirmDetailRetrieve the full Form ADV filing detail for one RIA firm by its CRD number.No findings
Why it is in this group
- The name "GetIAPDFirmDetail" says "get": a word for reading.
Description, as the server wrote it Retrieve the full Form ADV filing detail for one RIA firm by its CRD number. Returns all Form ADV Part 1 fields: client types, advisory activities, fee arrangements, custody information, office locations, and affiliated entities. Use this tool when: - You have a firm CRD (from SearchIAPDFirm) and want complete ADV detail - You need office locations, custodians, or affiliated BD information - You are building a detailed profile for a prospect RIA firm Source: SEC IAPD public API. No API key required.
Annotations the server declares
- title: Get SEC Form ADV Detail by CRD
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetIAPDIndividualDetailRetrieve the full SEC IAPD profile for one individual investment advisor representative using their CRD number.No findings
Why it is in this group
- The name "GetIAPDIndividualDetail" says "get": a word for reading.
Description, as the server wrote it Retrieve the full SEC IAPD profile for one individual investment advisor representative using their CRD number. Returns complete registration history, exam qualifications, employment history, and any disclosures. Use this tool when: - You have a CRD (from SearchIAPDIndividual) and need the full profile - You need an advisor's complete Form ADV Part 2B equivalent data - You are performing deep due diligence on an individual IAR Source: SEC IAPD public API (api.adviserinfo.sec.gov). No API key required.
Annotations the server declares
- title: Get SEC IAPD Individual Detail
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetLEIDetailRetrieve the full GLEIF LEI record for one legal entity using its 20-character LEI code.No findings
Why it is in this group
- The name "GetLEIDetail" says "get": a word for reading.
Description, as the server wrote it Retrieve the full GLEIF LEI record for one legal entity using its 20-character LEI code. Returns legal name, registration status, legal address, headquarters address, managing LOU, and renewal dates. Use this tool when: - You have a LEI (from SearchLEI) and need full entity details - You want to verify the registration status and renewal date - You need the exact legal address and jurisdiction of an entity Source: GLEIF API (api.gleif.org). No API key required.
Annotations the server declares
- title: Get GLEIF LEI Detail
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetMultiTickerHistoryFetch OHLCV price history for multiple tickers in a single call.No findings
Why it is in this group
- The name "GetMultiTickerHistory" says "get": a word for reading.
Description, as the server wrote it Fetch OHLCV price history for multiple tickers in a single call. Returns a flattened table with columns like 'AAPL_Close', 'SPY_Volume', etc. Use this tool when: - You are comparing performance across multiple securities - You need correlated price data for a portfolio or basket of tickers - You want to compute relative performance or correlation matrices Pass symbols as a space-separated or comma-separated string: 'AAPL MSFT GOOGL' or 'SPY,QQQ,IWM'. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Price History — Multiple Tickers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetOptionsChainFetch the full options chain (calls and puts) for one expiry date.No findings
Why it is in this group
- The name "GetOptionsChain" says "get": a word for reading.
Description, as the server wrote it Fetch the full options chain (calls and puts) for one expiry date. Returns strike price, bid, ask, last price, implied volatility, open interest, and volume for every contract. Use this tool when: - You are researching options strategies for a stock or ETF - You need implied volatility across strikes for a specific expiry - You want to see open interest to gauge market sentiment Call GetOptionsExpirations first to get valid expiry dates. If expiry_date is omitted, returns the nearest available expiry. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Options Chain (Calls & Puts)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetOptionsExpirationsList all available options expiry dates for a ticker.No findings
Why it is in this group
- The name "GetOptionsExpirations" says "get": a word for reading.
Description, as the server wrote it List all available options expiry dates for a ticker. Use this before calling GetOptionsChain to find a valid expiry date. Use this tool when: - You want to know which options contracts exist for a stock or ETF - You need a specific expiry date to pass into GetOptionsChain Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Options Expiry Dates
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetPriceHistoryFetch OHLCV (Open, High, Low, Close, Volume) price history for one ticker.No findings
Why it is in this group
- The name "GetPriceHistory" says "get": a word for reading.
Description, as the server wrote it Fetch OHLCV (Open, High, Low, Close, Volume) price history for one ticker. Returns daily, weekly, monthly, or intraday bars over any period. Use this tool when: - You need historical price or volume data for a stock, ETF, or crypto - You want to analyze performance over a specific time range - You need to compute returns, volatility, or trend analysis Interval options: 1d (daily), 1wk (weekly), 1mo (monthly), 1h (hourly, max 730 days), 5m/15m/30m (intraday, max 60 days). Period options: 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Price History (OHLCV)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetTerritoryWealthProfileRetrieve US Census American Community Survey (ACS) income and wealth proxy data for a ZIP code or state.No findings
Why it is in this group
- The name "GetTerritoryWealthProfile" says "get": a word for reading.
Description, as the server wrote it Retrieve US Census American Community Survey (ACS) income and wealth proxy data for a ZIP code or state. Returns median household income, median home value, total household count, and the count and share of households earning $100k or more — useful for scoring territory opportunity for financial advisors. Key metrics returned: - median_hh_income: Median household income (B19013) - median_home_value: Median owner-occupied home value (B25077) - total_households: Total household count (B11001) - hh_100k_plus: Households earning $100k+ (derived) - hh_100k_plus_pct: Share of households earning $100k+ (derived) Use this tool when: - You are scoring a territory for wealth potential by ZIP code - You want to compare household income distribution across territories - You need a demographic wealth proxy before overlaying advisor AUM data Requires cenpy Python package and optionally a free Census API key (api.census.gov/data/key_signup.html). Source: US Census Bureau ACS 5-Year estimates. Free with optional API key.
Annotations the server declares
- title: Get Territory Wealth Profile — Census ACS
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
GetTickerInfoFetch the full Yahoo Finance profile for a stock, ETF, mutual fund, crypto, or index.No findings
Why it is in this group
- The name "GetTickerInfo" says "get": a word for reading.
Description, as the server wrote it Fetch the full Yahoo Finance profile for a stock, ETF, mutual fund, crypto, or index. Returns name, sector, industry, market cap, P/E ratio, 52-week range, beta, dividend yield, description, and 60+ other metadata fields. Use this tool when: - You need a quick summary of what a company or fund is and its valuation - You want sector/industry classification for a ticker - You need current price metadata like market cap, float, or short ratio Works for: stocks (AAPL), ETFs (SPY), mutual funds (VFINX), crypto (BTC-USD), indices (^GSPC), forex (EURUSD=X). Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Get Ticker Info & Profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
LookupTickerSearch for a Yahoo Finance ticker symbol by company name, fund name, or keyword.No findings
Why it is in this group
- The name "LookupTicker" says "lookup": a word for reading.
Description, as the server wrote it Search for a Yahoo Finance ticker symbol by company name, fund name, or keyword. Returns matching symbols with exchange and asset type. Use this when you have a name but need the ticker symbol. Use this tool when: - You know a company name but not its ticker symbol - You want to find the ticker for a specific ETF or mutual fund - You are disambiguating between similarly named securities asset_type options: 'stock', 'etf', 'mutualfund', 'index', 'cryptocurrency', 'currency', 'future', 'all'. Source: Yahoo Finance via yfinance. No API key required.
Annotations the server declares
- title: Lookup Ticker Symbol by Name
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchBrokerCheckSearch FINRA BrokerCheck for registered individual brokers and financial representatives by name.No findings
Why it is in this group
- The name "SearchBrokerCheck" says "search": a word for reading.
Description, as the server wrote it Search FINRA BrokerCheck for registered individual brokers and financial representatives by name. Returns CRD number, current firm, registration status, and whether the individual has any disclosures on record. Use this tool when: - You need to find the CRD number for a named advisor or rep - You want to verify registration status for a specific individual - You are enriching a rep record that is missing a CRD Geographic workflow: if you don't know the rep's name, first use SearchBrokersByPlace to discover firms in an area, then use SearchBrokerCheckFirm to find the firm's CRD, then use this tool to find individuals at that firm. Narrow results with the optional 'state' parameter (2-letter code). To get the full profile after finding a CRD, use GetBrokerCheckDetail. Source: FINRA BrokerCheck public API. No API key required.
Annotations the server declares
- title: Search FINRA BrokerCheck — Individuals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchBrokerCheckFirmSearch FINRA BrokerCheck for broker-dealer firms by name.No findings
Why it is in this group
- The name "SearchBrokerCheckFirm" says "search": a word for reading.
Description, as the server wrote it Search FINRA BrokerCheck for broker-dealer firms by name. Returns firm CRD, registration status, city, state, and disclosure flag. Use this tool when: - You need the CRD number for a broker-dealer firm (e.g. UBS, Raymond James) - You want to distinguish between similarly named firms by location - You are building a territory map of BD firms in a state Source: FINRA BrokerCheck public API. No API key required.
Annotations the server declares
- title: Search FINRA BrokerCheck — Firms
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchEdgar13FSearch SEC EDGAR for 13F-HR institutional holdings filings by institution name.No findings
Why it is in this group
- The name "SearchEdgar13F" says "search": a word for reading.
Description, as the server wrote it Search SEC EDGAR for 13F-HR institutional holdings filings by institution name. Returns filing date, entity name, period of report, and accession number. Any institution managing more than $100M in equity must file quarterly 13Fs — this reveals their fund strategies and product usage. Use this tool when: - You want to see what funds or ETFs a firm holds in their portfolios - You are researching an institution's investment strategy from public filings - You need a list of 13F filings for a specific manager over a date range Supports start_date and end_date filtering (YYYY-MM-DD format). Source: SEC EDGAR full-text search API. No API key required.
Annotations the server declares
- title: Search SEC EDGAR — 13F Institutional Holdings
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchFigiInstrumentsSearch Bloomberg OpenFIGI for financial instruments by name or keyword.No findings
Why it is in this group
- The name "SearchFigiInstruments" says "search": a word for reading.
Description, as the server wrote it Search Bloomberg OpenFIGI for financial instruments by name or keyword. Returns FIGI, ticker, exchange, security type, and composite FIGI for each matching instrument. Use this tool when: - You know the company name but not the ticker or FIGI - You want to find all instruments (ETFs, options, futures) for a name - You need to discover what securities are associated with a company Use MapInstrumentIds instead if you already have a specific ID to convert. Source: Bloomberg OpenFIGI API. No API key required (optional key raises rate limits).
Annotations the server declares
- title: Search Instruments via OpenFIGI
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchFredSeriesSearch the Federal Reserve Bank of St.No findings
Why it is in this group
- The name "SearchFredSeries" says "search": a word for reading.
Description, as the server wrote it Search the Federal Reserve Bank of St. Louis FRED database for economic data series by keyword. Returns series ID, title, frequency, units, seasonal adjustment, and date range. Use this tool when: - You need to find the right FRED series ID before fetching data - You want to discover what macro data is available for a topic - You are looking for interest rates, inflation, GDP, unemployment, or money supply series to provide macro context for financial analysis Common series IDs (use GetFredSeriesData after finding one): - DGS10: 10-Year Treasury Yield - CPIAUCSL: Consumer Price Index (CPI-U) - UNRATE: Unemployment Rate - GDP: Gross Domestic Product - FEDFUNDS: Federal Funds Rate - M2SL: M2 Money Supply Requires FRED_API_KEY environment variable (free at fred.stlouisfed.org). Source: Federal Reserve Bank of St. Louis FRED API.
Annotations the server declares
- title: Search FRED Economic Series
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchFundsByCategorySearch SEC EDGAR for mutual fund and ETF filers by investment category or keyword.No findings
Why it is in this group
- The name "SearchFundsByCategory" says "search": a word for reading.
Description, as the server wrote it Search SEC EDGAR for mutual fund and ETF filers by investment category or keyword. Queries N-1A and 485BPOS (and N-2 for closed-end) prospectus filings. Returns entity name, CIK, form type, and filing date. PRIMARY USE: Step 1 of fee comparison. Feed the returned CIKs directly into GetFundFees to retrieve expense ratios for each fund. Example queries: - keywords='commodity', fund_type='etf' → commodity ETF universe - keywords='emerging markets equity' → EM equity funds - keywords='short duration bond' → short-term fixed income - keywords='S&P 500 index', fund_type='etf' → S&P 500 index trackers Results are de-duplicated by CIK (one record per fund filer). Supports date filtering to restrict to recently updated prospectuses. Source: SEC EDGAR full-text search API. No API key required.
Annotations the server declares
- title: Search Funds by Category — EDGAR Prospectus
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchIAPDFirmSearch the SEC Investment Adviser Public Disclosure (IAPD) database for registered investment advisor (RIA) firms by name.Reads private dataNo findings
Why it is in this group
- The name "SearchIAPDFirm" says "search": a word for reading.
What it can reach
- private-dataThe description's first sentence says "search" and "database": it reads databases.
Description, as the server wrote it Search the SEC Investment Adviser Public Disclosure (IAPD) database for registered investment advisor (RIA) firms by name. Returns firm CRD, registration status, AUM, employee count, state, and office city. Use this tool when: - You need the CRD or AUM for a named RIA firm - You are looking up Form ADV data for a firm - You want to distinguish between RIA firms (use IAPD) vs BD firms (use BrokerCheck) Geographic workflow: if you have a firm name from SearchBrokersByPlace and the firm is an RIA (registered investment advisor), search here to get the CRD, AUM, and regulatory status. Then use GetIAPDFirmDetail for full ADV data. Note: IAPD covers RIAs registered with the SEC. For broker-dealers, use SearchBrokerCheckFirm instead. Source: SEC IAPD public API. No API key required.
Annotations the server declares
- title: Search SEC IAPD — RIA Firms
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchIAPDIndividualSearch SEC IAPD (Investment Adviser Public Disclosure) for individual investment advisor representatives (IARs) by name.No findings
Why it is in this group
- The name "SearchIAPDIndividual" says "search": a word for reading.
Description, as the server wrote it Search SEC IAPD (Investment Adviser Public Disclosure) for individual investment advisor representatives (IARs) by name. Returns CRD number, current employer, registration states, and exam history. Use this tool when: - You need to look up an individual financial advisor (not a firm) - You want to verify an advisor's IA registration status - You are doing due diligence on a named investment advisor representative For firm lookups, use SearchIAPDFirm instead. For broker/dealer individuals, use SearchBrokerCheck instead. Source: SEC IAPD public API (api.adviserinfo.sec.gov). No API key required.
Annotations the server declares
- title: Search SEC IAPD — Individual Advisors
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
SearchLEISearch the Global Legal Entity Identifier Foundation (GLEIF) database for Legal Entity Identifiers (LEIs) by entity name.Reads private dataNo findings
Why it is in this group
- The name "SearchLEI" says "search": a word for reading.
What it can reach
- private-dataThe description's first sentence says "search" and "database": it reads databases.
Description, as the server wrote it Search the Global Legal Entity Identifier Foundation (GLEIF) database for Legal Entity Identifiers (LEIs) by entity name. Returns the 20-character LEI code, legal name, registration status, legal address, and jurisdiction. Use this tool when: - You need the LEI for a financial institution or fund company - You want to verify the legal registration of a firm - You are cross-referencing SEC EDGAR entities with their global LEI - You need to look up parent/subsidiary relationships (use GetLEIDetail) LEIs are required for regulatory reporting under MiFID II, EMIR, and Dodd-Frank. Cover 2M+ legal entities globally across 200+ jurisdictions. Source: GLEIF API (api.gleif.org). No API key required.
Annotations the server declares
- title: Search GLEIF for Legal Entity Identifier (LEI)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.
- Reads private data3
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 14:59 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 1
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- none
- RFC 9728 protected resource metadata
- none
- Authorization servers
- none
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 1 tool that changes things (1 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://ai.fin-discovery.com/mcp: tools/list returned 32 tools to an anonymous client, including MapInstrumentIds (write)
Install
Pinned to version 1.0.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http fintel-discovery https://ai.fin-discovery.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fintel-discovery__SearchBrokerCheck",
"mcp__fintel-discovery__SearchBrokerCheckFirm",
"mcp__fintel-discovery__GetBrokerCheckDetail",
"mcp__fintel-discovery__SearchIAPDFirm",
"mcp__fintel-discovery__GetIAPDFirmDetail",
"mcp__fintel-discovery__SearchEdgar13F",
"mcp__fintel-discovery__GetEdgarCompanyFilings",
"mcp__fintel-discovery__GetTerritoryWealthProfile",
"mcp__fintel-discovery__GetTickerInfo",
"mcp__fintel-discovery__GetPriceHistory",
"mcp__fintel-discovery__GetMultiTickerHistory",
"mcp__fintel-discovery__GetOptionsExpirations",
"mcp__fintel-discovery__GetOptionsChain",
"mcp__fintel-discovery__GetFinancials",
"mcp__fintel-discovery__GetEarningsHistory",
"mcp__fintel-discovery__GetAnalystRatings",
"mcp__fintel-discovery__GetHolders",
"mcp__fintel-discovery__GetDividendsAndSplits",
"mcp__fintel-discovery__GetFundProfile",
"mcp__fintel-discovery__LookupTicker",
"mcp__fintel-discovery__SearchFundsByCategory",
"mcp__fintel-discovery__GetFundFees",
"mcp__fintel-discovery__Get13FHoldings",
"mcp__fintel-discovery__SearchIAPDIndividual",
"mcp__fintel-discovery__GetIAPDIndividualDetail",
"mcp__fintel-discovery__SearchFredSeries",
"mcp__fintel-discovery__GetFredSeriesData",
"mcp__fintel-discovery__SearchFigiInstruments",
"mcp__fintel-discovery__SearchLEI",
"mcp__fintel-discovery__GetLEIDetail",
"mcp__fintel-discovery__GetAdvisorBenchmarks"
],
"ask": [
"mcp__fintel-discovery__MapInstrumentIds"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as fintel-discovery. Review it before you use it.
Capability tags behind 3 rules
- mcp__fintel-discovery__SearchIAPDFirm private-data
- mcp__fintel-discovery__Get13FHoldings private-data
- mcp__fintel-discovery__SearchLEI private-data
