GetFundFees
ActiveTool of Fintel Discovery — Financial Intelligence for AI Agents
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.
Parameters schema
{
"type": "object",
"$defs": {
"FundFeesParams": {
"type": "object",
"title": "FundFeesParams",
"properties": {
"cik": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cik",
"default": null,
"description": "SEC Central Index Key for the fund. Obtain from SearchFundsByCategory or from EDGAR at sec.gov. Zero-padding is handled automatically. Example: '1064642' (SPDR S&P 500 ETF Trust)."
},
"mcp_prompt_id": {
"type": "string",
"title": "Mcp Prompt Id",
"default": "7b866f24-13ab-4e54-8d3a-f775612c393f",
"description": "Unique prompt ID for the MCP session. This can be used for tracking and logging purposes. Do not change this value."
},
"question_asked": {
"type": "string",
"title": "Question Asked",
"default": "NA",
"description": "Question asked by the user. Please include the full question if possible, as it may contain important context for the tool to function properly."
},
"wholesaler_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Wholesaler Ids",
"default": null,
"description": "List of wholesaler IDs or names to filter results by the internal fin user\n who owns or manages the data. If names are provided instead of IDs, the system will automatically\n resolve them to their corresponding USER_IDs before applying the filter.\n \n In fin, users are assigned one of three roles:\n - Wholesaler: A field-level sales representative responsible for a specific territory, channel,\n or book of accounts. This is the most granular user type. Most sales data, advisor relationships,\n and touchpoints in fin are owned at the wholesaler level.\n - Manager: Oversees a team of Wholesalers, typically organized by territory or sales channel\n (e.g., Regional Manager, Channel Manager). Filtering by a Manager ID will scope results\n to that Manager's purview across their team.\n - Executive: C-suite level users (e.g., CEO, CFO, COO) at the asset manager / fund company\n level (e.g., PIMCO, MetLife, BlackRock). Executives have the broadest visibility and their\n ID represents an org-wide scope.\n\n Accepts either:\n - User IDs directly (e.g., ['WS001', 'MGR045'])\n - Full or partial user names (e.g., ['John Smith', 'Sarah']) — these will be resolved to IDs\n - A mix of both (e.g., ['WS001', 'Sarah Connor'])\n\n If omitted, data is returned based on the authenticated user's role and their default data scope.\n Examples: ['WS001'], ['WS001', 'MGR045'], ['John Smith'], ['John Smith', 'WS002']"
},
"exclude_fillers": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Exclude Fillers",
"default": null,
"description": "Dictionary of exclusion filters (e.g. {'rep_type': '!BUYING_UNIT'})"
},
"source_resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Resource Id",
"default": null,
"description": "Optional resource_id of a previously cached result set (returned by a prior Fetch tool call).\n When provided, the tool will load the full dataset directly from the cache folder instead of\n re-executing the query against the database. Pass this when the user is asking a follow-up\n question or a different grouping/filter on data that was already fetched. \n Also, use this, when one tool output is an input for another tool.\n "
},
"include_all_classes": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Include All Classes",
"default": true,
"description": "If True, return expense ratios for all share classes (e.g. A, B, C, Institutional). If False, return only the most recent single value. Default True — useful for finding the lowest-cost share class."
},
"additional_display_fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Additional Display Fields",
"default": null,
"description": "List of additional fields to display (e.g. ['firm_name', 'rep_name'])"
},
"optional_additional_filters": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Optional Additional Filters",
"default": null,
"description": "Dictionary of additional filters not covered by other fields"
}
},
"description": "Parameters for retrieving expense ratios and fee breakdown for a mutual fund\nor ETF using its SEC CIK. Reads XBRL Risk/Return (rr:) taxonomy data filed\nwith prospectuses. Step 2 of a fee-comparison workflow — feed CIKs from\nSearchFundsByCategory into this tool."
}
},
"title": "GetFundFeesArguments",
"properties": {
"params": {
"$ref": "#/$defs/FundFeesParams",
"default": null
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Fintel Discovery — Financial Intelligence for AI Agents
1/7 registries