canli-mcp / Fund holdings
How can an AI agent see what an ETF or mutual fund holds?
canli-mcp's fund_portfolio tool reads a fund's N-PORT filings on SEC EDGAR and lists its top holdings with weights, and can compare a period with the one before.
Free and MIT-licensed. No account and no API key. Or run claude mcp add canli -- npx -y canli-mcp in Claude Code.
Ask it
What are the top holdings of the iShares Core S&P 500 ETF?
The agent finds the tool through canli-mcp's find_tool and runs it through run_tool. This is the call:
{
"name": "fund_portfolio",
"arguments": {
"fund": "IVV",
"top": 10
}
}What came back
Recorded from canli-mcp 0.11.1 on 2026-10-25, with no API key set. The model read 5,743 characters.
| name | title | cusip | isin | value usd | weight | asset category | issuer category |
|---|---|---|---|---|---|---|---|
| NVIDIA Corp. | NVIDIA Corp. | 67066G104 | US67066G1040 | 66662358368 | 0.075059 | EC | CORP |
| Apple, Inc. | Apple, Inc. | 037833100 | US0378331005 | 58459130827 | 0.065823 | EC | CORP |
| Microsoft Corp. | Microsoft Corp. | 594918104 | US5949181045 | 38115446952 | 0.042917 | EC | CORP |
| Amazon.com, Inc. | Amazon.com, Inc. | 023135106 | US0231351067 | 32092599932 | 0.036135 | EC | CORP |
| Alphabet, Inc. | Alphabet, Inc., Class A | 02079K305 | US02079K3059 | 28824129780 | 0.032455 | EC | CORP |
| Broadcom, Inc. | Broadcom, Inc. | 11135F101 | US11135F1012 | 24601641523 | 0.027701 | EC | CORP |
| Alphabet, Inc. | Alphabet, Inc., Class C | 02079K107 | US02079K1079 | 22970989937 | 0.025864 | EC | CORP |
| Micron Technology, Inc. | Micron Technology, Inc. | 595112103 | US5951121038 | 17907142555 | 0.020163 | EC | CORP |
The result fund_portfolio sent back, in full form
{
"ref": "r2",
"fund": {
"name": "iShares Core S&P 500 ETF",
"ticker": "IVV",
"series_id": "S000004310",
"class_id": "C000012040",
"registrant": "iShares Trust",
"registrant_cik": 1100663
},
"period": "2026-06-30",
"filed": "2026-08-25",
"accession": "0002071691-26-019760",
"net_assets": 888128937468,
"total_assets": 889637196077,
"positions": 508,
"weights_add_to": 1.0012,
"columns": [
"name",
"title",
"cusip",
"isin",
"value_usd",
"weight",
"…"
],
"rows": [
[
"NVIDIA Corp.",
"NVIDIA Corp.",
"67066G104",
"US67066G1040",
66662358368,
0.075059,
"…"
],
[
"Apple, Inc.",
"Apple, Inc.",
"037833100",
"US0378331005",
58459130827,
0.065823,
"…"
],
[
"Microsoft Corp.",
"Microsoft Corp.",
"594918104",
"US5949181045",
38115446952,
0.042917,
"…"
],
[
"Amazon.com, Inc.",
"Amazon.com, Inc.",
"023135106",
"US0231351067",
32092599932,
0.036135,
"…"
],
[
"Alphabet, Inc.",
"Alphabet, Inc., Class A",
"02079K305",
"US02079K3059",
28824129780,
0.032455,
"…"
],
[
"Broadcom, Inc.",
"Broadcom, Inc.",
"11135F101",
"US11135F1012",
24601641523,
0.027701,
"…"
],
"…"
],
"exposure": {
"asset_category": {
"columns": [
"code",
"meaning",
"weight"
],
"rows": [
[
"EC",
"equity, common",
0.9983
],
[
"STIV",
"short-term investment vehicle (money market fund, cash sweep)",
0.0028
],
[
"DE",
"derivative, equity",
0
],
[
"OTHER",
"other",
0
]
]
},
"issuer_category": {
"columns": [
"code",
"meaning",
"weight"
],
"rows": [
[
"CORP",
"corporate",
0.9983
],
[
"RF",
"registered fund",
0.0028
],
[
"OTHER",
"other",
0
]
]
},
"country": {
"columns": [
"country",
"weight"
],
"rows": [
[
"US",
0.9717
],
[
"IE",
0.02
],
[
"CH",
0.0027
],
[
"BM",
0.0016
],
[
"NL",
0.0013
],
[
"LR",
0.0012
],
"…"
]
},
"currency": {
"columns": [
"currency",
"weight"
],
"rows": [
[
"USD",
1.0012
]
]
}
},
"monthly_returns": {
"class_id": "C000012040",
"columns": [
"month",
"total_return"
],
"rows": [
[
"2026-04",
0.104916
],
[
"2026-05",
0.052632
],
[
"2026-06",
-0.009562
]
]
},
"flows": {
"units": "US dollars",
"columns": [
"month",
"sales",
"reinvestment",
"redemption",
"net"
],
"rows": [
[
"2026-04",
16417602043,
0,
14720875334,
1696726709
],
[
"2026-05",
30594589402,
0,
15266607536,
15327981866
],
[
"2026-06",
114335801884,
0,
70740612096,
43595189788
]
]
},
"changes_since": {
"period": "2026-03-31",
"accession": "0002071691-26-012459",
"columns": [
"change",
"name",
"cusip",
"balance_before",
"balance_now",
"value_now"
],
"rows": [
[
"new",
"Marvell Technology, Inc.",
"573874104",
0,
12043614,
3587672174
],
[
"new",
"Honeywell International, Inc.",
"438516205",
0,
4366671,
977697525
],
[
"new",
"Honeywell Aerospace, Inc.",
"43849R105",
0,
4366671,
965383514
],
[
"new",
"Flex Ltd.",
"N/A",
0,
5057856,
819726722
],
[
"new",
"Carnival Corp. Ltd.",
"N/A",
0,
17695832,
505569920
],
[
"new",
"Casey's General Stores, Inc.",
"147528103",
0,
507738,
403545085
],
"…"
],
"counts": {
"new": 10,
"exited": 9,
"added": 490,
"reduced": 6
}
},
"source": "https://www.sec.gov/Archives/edgar/data/1100663/000207169126019760/0002071691-26-019760-index.htm",
"limits": [
"From the fund's Form N-PORT as filed with the SEC; funds file it monthly, and only the last month of each fiscal quarter is made public, 60 …",
"Weights are percentages of net assets as filed; short positions and derivatives can make them add to more or less than 100 percent. Balances…",
"Sales and redemptions are shares issued and redeemed in dollars (creations and redemptions for an ETF); monthly returns are the share class'…",
"Not investment advice."
]
}Prices, filings and statistics are as the sources published them on that day; run the call again for today's. Nothing here is investment advice.
The tools behind the answer
| Tool | Pack | What it does |
|---|---|---|
fund_portfolio | markets | What a US mutual fund or ETF holds, from its own SEC Form N-PORT (VOO, IVV, QQQ, AGG, FXAIX): every position with value and weight, exposure by asset type, issuer, country and currency, a bond fund's coupon and maturity profile, its monthly returns, the money that came in and went out each month, and what changed since the previous quarter. |
Add canli-mcp
claude mcp add canli -- npx -y canli-mcp{ "mcpServers": { "canli": { "command": "npx", "args": ["-y", "canli-mcp"] } } }https://canlicapital.com/mcp/canliEverything canli-mcp does · How it compares with other finance MCP servers
