SEC insider trades, Congress trades, 13F funds, earnings and 8-K filings for AI, with SEC links.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Facts about CapitalSnitch itself: what it is (a live commercial service, not a demo), every plan with price, daily limit and features, which data each plan includes, payment methods, how to sign up (right here in the chat or on the website), which AI apps can connect and how, and the support email. Use for 'what is CapitalSnitch?', 'how much does it cost?', 'what plans are there?', 'how do I contact them?', 'can ChatGPT/Grok connect?'. Free, needs no account and never counts toward the daily limit.
This tool takes no arguments.
Facts about CapitalSnitch itself: what it is (a live commercial service, not a demo), every plan with price, daily limit and features, which data each plan includes, payment methods, how to sign up (right here in the chat or on the website), which AI apps can connect and how, and the support email. Use for 'what is CapitalSnitch?', 'how much does it cost?', 'what plans are there?', 'how do I contact them?', 'can ChatGPT/Grok connect?'. Free, needs no account and never counts toward the daily limit.
No arguments.
{
"type": "object",
"title": "about_capitalsnitchArguments",
"properties": {}
}Upgrade, renew or switch the signed-in user's plan without the website. Card: returns a secure Square payment link (or, for an active card subscriber, switches the plan right away). Crypto: returns the exact amount, coin, network and address to send. The plan activates automatically when paid. Free to call. Requires the user's personal connection address; on the public preview use start_signup instead.
| Argument | Type | Description |
|---|---|---|
| plan* | string | Plan to buy. |
| billing | string | monthly, or annual (2 months free). |
| crypto_asset | any | Crypto only, e.g. 'USDC-base' (recommended). |
| payment_method | string | 'card' (monthly renews automatically), 'wallet' (Apple Pay / Google Pay / Cash App, one-time) or 'crypto' (one-time). |
| user_accepted_terms | boolean | True ONLY after showing the user the key terms and getting an explicit yes for this purchase. |
{
"type": "object",
"title": "buy_planArguments",
"required": [
"plan"
],
"properties": {
"plan": {
"enum": [
"scout",
"analyst",
"edge"
],
"type": "string",
"title": "Plan",
"description": "Plan to buy."
},
"billing": {
"enum": [
"monthly",
"annual"
],
"type": "string",
"title": "Billing",
"default": "monthly",
"description": "monthly, or annual (2 months free)."
},
"crypto_asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Crypto Asset",
"default": null,
"description": "Crypto only, e.g. 'USDC-base' (recommended)."
},
"payment_method": {
"enum": [
"card",
"wallet",
"crypto"
],
"type": "string",
"title": "Payment Method",
"default": "card",
"description": "'card' (monthly renews automatically), 'wallet' (Apple Pay / Google Pay / Cash App, one-time) or 'crypto' (one-time)."
},
"user_accepted_terms": {
"type": "boolean",
"title": "User Accepted Terms",
"default": false,
"description": "True ONLY after showing the user the key terms and getting an explicit yes for this purchase."
}
}
}Has the payment arrived and is the plan active? For crypto, pass order_id: shows waiting / seen on the network / confirmed. For card, omit it: shows the account's current plan. Free to call.
| Argument | Type | Description |
|---|---|---|
| order_id | any | Crypto order_id from buy_plan/confirm_signup. Omit for card payments. |
{
"type": "object",
"title": "check_paymentArguments",
"properties": {
"order_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Order Id",
"default": null,
"description": "Crypto order_id from buy_plan/confirm_signup. Omit for card payments."
}
}
}Step 2 of 2: checks the emailed code, creates the account (or signs in), and returns the user's personal connection address plus — for a paid plan — the payment step (a secure card link, or exact crypto payment details). The plan activates automatically when the payment lands. Free to call.
| Argument | Type | Description |
|---|---|---|
| code* | string | The 6-digit code from the email. |
| email* | string | Same email used in start_signup. |
{
"type": "object",
"title": "confirm_signupArguments",
"required": [
"email",
"code"
],
"properties": {
"code": {
"type": "string",
"title": "Code",
"description": "The 6-digit code from the email."
},
"email": {
"type": "string",
"title": "Email",
"description": "Same email used in start_signup."
}
}
}Spot insider buying EARLY: companies where fewer than 5 different insiders bought in the window but the pace is rising (more buyers or more dollars recently than earlier), versus 'crowded' companies where 5+ insiders already bought. Explains exactly how 'rising' is measured. Use for 'which stocks have early, increasing insider buying that is not crowded yet?', 'emerging insider signals'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Whole window in days (45–365). |
| limit | integer | Max companies per list (1–30). |
| recent_days | integer | 'Recent' part of the window, compared with the earlier part. |
| min_value_usd | number | Minimum total bought in the window per company. |
{
"type": "object",
"title": "find_emerging_insider_buyingArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 90,
"maximum": 365,
"minimum": 45,
"description": "Whole window in days (45–365)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 15,
"maximum": 30,
"minimum": 1,
"description": "Max companies per list (1–30)."
},
"recent_days": {
"type": "integer",
"title": "Recent Days",
"default": 30,
"maximum": 180,
"minimum": 7,
"description": "'Recent' part of the window, compared with the earlier part."
},
"min_value_usd": {
"type": "number",
"title": "Min Value Usd",
"default": 25000,
"minimum": 0,
"description": "Minimum total bought in the window per company."
}
}
}Scan ALL U.S. companies for insider open-market PURCHASES — the strongest insider signal. Ranks companies by total value bought, number of distinct insiders buying ('cluster buying'), or recency. Use for 'which insiders are buying right now?', 'CEO purchases this month', 'companies where 3+ insiders bought'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (1–365). |
| limit | integer | Max companies (1–50). |
| roles | any | Only count buyers with these roles, e.g. ['CEO','CFO']. Omit for all. |
| sort_by | string | Ranking. |
| min_insiders | integer | Minimum number of distinct insiders buying (cluster buying). |
| min_total_value_usd | number | Minimum total purchase value per company. |
{
"type": "object",
"title": "find_insider_buyingArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 30,
"maximum": 365,
"minimum": 1,
"description": "Look-back window in days (1–365)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Max companies (1–50)."
},
"roles": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"CEO",
"CFO",
"COO",
"President",
"Chair",
"Executive Officer",
"Officer",
"Director",
"10% Owner",
"Other"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Roles",
"default": null,
"description": "Only count buyers with these roles, e.g. ['CEO','CFO']. Omit for all."
},
"sort_by": {
"enum": [
"value",
"insiders",
"recent"
],
"type": "string",
"title": "Sort By",
"default": "value",
"description": "Ranking."
},
"min_insiders": {
"type": "integer",
"title": "Min Insiders",
"default": 1,
"maximum": 50,
"minimum": 1,
"description": "Minimum number of distinct insiders buying (cluster buying)."
},
"min_total_value_usd": {
"type": "number",
"title": "Min Total Value Usd",
"default": 100000,
"minimum": 0,
"description": "Minimum total purchase value per company."
}
}
}Find every company where several different insiders made OPEN-MARKET purchases (option exercises, awards and sales excluded), list each buyer's name, title and amount, and FLAG BATCHES: many buyers filing on the same day with similar, modest amounts usually means one company program (employee purchase plan, IPO or private-placement allocation), not independent conviction. Each company gets a 0–100 conviction score (independent buyers, C-suite participation, size per buyer, how much they grew their stake, purchases spread over several days, minus batch penalty) with reasons. Use for 'find companies where 3+ insiders bought in the last 60 days', 'cluster buying that is real, not a comp plan', 'rank insider clusters by conviction'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (7–365). |
| limit | integer | Max companies (1–40). |
| sort_by | string | Ranking. |
| min_insiders | integer | Minimum different insiders buying. |
| exclude_batches | boolean | True = hide companies whose buying looks like one company program (same day, similar small amounts). |
| min_total_value_usd | number | Minimum total bought per company. |
Create a private, single-use link that signs the user straight into the right CapitalSnitch page — checkout (card or crypto) to upgrade or renew, or their account page to cancel, change email settings or make a new connection address. Valid 15 minutes, works once. Give it to the user to click; no password or email code needed. Free to call.
| Argument | Type | Description |
|---|---|---|
| plan | any | Plan to pre-select for upgrade/renew. |
| action | string | upgrade/renew = checkout page; manage = account page (cancel, watchlist, email settings); new_connection_address = account page to replace a leaked address; briefing = today's briefing page. |
{
"type": "object",
"title": "get_account_linkArguments",
"properties": {
"plan": {
"anyOf": [
{
"enum": [
"scout",
"analyst",
"edge"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Plan",
"default": null,
"description": "Plan to pre-select for upgrade/renew."
},
"action": {
"enum": [
"upgrade",
"renew",
"manage",
"new_connection_address",
"briefing"
],
"type": "string",
"title": "Action",
"default": "manage",
"description": "upgrade/renew = checkout page; manage = account page (cancel, watchlist, email settings); new_connection_address = account page to replace a leaked address; briefing = today's briefing page."
}
}
}Everything that matters about one company in one call: the explained insider signal (score, cluster and C-suite buying, unusual vs history) PLUS the next earnings date and countdown (and last earnings), the stock's volatility regime (calm / normal / elevated / extreme vs its own past year), trend vs 50/200-day averages, drawdown from the 52-week high, recent returns, Wall Street analyst consensus and its 3-month trend, and the market backdrop (regime + next Fed meeting odds). Ends with 'what stands out' facts. Use for 'analyze X', 'should I look closer at X?', 'anything notable about X before earnings?'. Also includes the company's financials (valuation, growth, profit) and dilution summary. Includes 'analysis': a written CapitalSnitch Take (headline, story, bull case, bear case, what to watch) grounded in the data — present it to the user, and say it is automated context, not investment advice.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | Stock ticker, e.g. 'NVDA'. |
| insider_days | integer | Insider look-back window (30–365 days). |
{
"type": "object",
"title": "get_company_contextArguments",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'NVDA'."
},
"insider_days": {
"type": "integer",
"title": "Insider Days",
"default": 90,
"maximum": 365,
"minimum": 30,
"description": "Insider look-back window (30–365 days)."
}
}
}Stock trades reported by members of the U.S. House and Senate (STOCK Act Periodic Transaction Reports): member, party, state, chamber, stock, purchase or sale, amount range, trade date, filing date, how many days late it was reported, owner (self/spouse/joint/child) and a link to the official filing. With no filters: the week's summary, most-traded stocks and late filers. FREE public information on every plan and never counted toward the daily limit. Reports arrive up to 45 days after the trade (median about a month), so this is a historical record, not a live feed. Use for 'which members of Congress traded NVDA?', 'what has Pelosi bought?', 'congressional trades this week'. Must not be used for credit decisions, fundraising or solicitation.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window by filing date (7–1100 days). |
| limit | integer | Max trades (1–100). |
| member | any | Member of Congress name or part of it, e.g. 'Pelosi'. |
| ticker | any | Stock ticker, e.g. 'NVDA'. Omit for all. |
| chamber | string | Filter by chamber. |
| trade_type | string | Filter by type. |
{
"type": "object",
"title": "get_congress_tradesArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 365,
"maximum": 1100,
"minimum": 7,
"description": "Look-back window by filing date (7–1100 days)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Max trades (1–100)."
},
"member": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Member",
"default": null,
"description": "Member of Congress name or part of it, e.g. 'Pelosi'."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ticker",
"default": null,
"description": "Stock ticker, e.g. 'NVDA'. Omit for all."
},
"chamber": {
"enum": [
"any",
"House",
"Senate"
],
"type": "string",
"title": "Chamber",
"default": "any",
"description": "Filter by chamber."
},
"trade_type": {
"enum": [
"any",
"Purchase",
"Sale"
],
"type": "string",
"title": "Trade Type",
"default": "any",
"description": "Filter by type."
}
}
}Ready-made daily briefing: market backdrop and next Fed meeting odds, insiders who bought ahead of upcoming earnings, the biggest insider purchases this week, CEO/CFO purchases, and cluster buying. Use for 'give me today's briefing', 'what's interesting today?', or as the start of a morning routine.
No arguments.
{
"type": "object",
"title": "get_daily_briefArguments",
"properties": {}
}Report what data CapitalSnitch covers, how fresh it is, update schedule, sources, and known limitations. Use when asked 'how current is this?', 'what data do you have?', or before making time-sensitive claims.
No arguments.
{
"type": "object",
"title": "get_data_statusArguments",
"properties": {}
}Every stock offering, at-the-market (ATM) program, convertible note (including private Rule 144A deals announced only in an 8-K), notes exchanged for shares, unregistered share sale and shelf registration the company filed with the SEC, plus the company's 8-K filings of the last 30 days in plain English, with size, price per share, and how the stock reacted (day 1, day 2, 1 week, 1 month vs the prior close); the share-count trend (1-year change, 3-year yearly rate); and a 0–100 dilution-risk score with reasons (recent offerings, active shelf, cash burn, heavy stock pay). Use for 'has SOFI diluted shareholders?', 'what happened to the price after the last offering?', 'is a share sale likely?'.
| Argument | Type | Description |
|---|---|---|
| years | integer | Years of offering history (1–5). |
| ticker* | string | Stock ticker, e.g. 'SOFI'. |
{
"type": "object",
"title": "get_dilution_historyArguments",
"required": [
"ticker"
],
"properties": {
"years": {
"type": "integer",
"title": "Years",
"default": 3,
"maximum": 5,
"minimum": 1,
"description": "Years of offering history (1–5)."
},
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'SOFI'."
}
}
}Companies reporting earnings soon, with the date, time (before open / after close) and countdown, joined with recent insider activity. With only_with_insider_buying=true it answers 'which companies reporting soon have insiders been buying?' — insiders buying ahead of a report is a rare and closely watched signal. Also use for 'when does X report?' (pass tickers=['X'], only_with_insider_buying=false).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| tickers | any | Optional: only these tickers. |
| days_ahead | integer | Companies reporting within this many days (1–60). |
| insider_lookback_days | integer | Insider look-back window (7–365 days). |
| only_with_insider_buying | boolean | True = only companies where insiders made open-market purchases in the look-back window (the 'edge' list). |
{
"type": "object",
"title": "get_earnings_calendarArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 50,
"minimum": 1
},
"tickers": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Tickers",
"default": null,
"description": "Optional: only these tickers."
},
"days_ahead": {
"type": "integer",
"title": "Days Ahead",
"default": 14,
"maximum": 60,
"minimum": 1,
"description": "Companies reporting within this many days (1–60)."
},
"insider_lookback_days": {
"type": "integer",
"title": "Insider Lookback Days",
"default": 90,
"maximum": 365,
"minimum": 7,
"description": "Insider look-back window (7–365 days)."
},
"only_with_insider_buying": {
"type": "boolean",
"title": "Only With Insider Buying",
"default": true,
"description": "True = only companies where insiders made open-market purchases in the look-back window (the 'edge' list)."
}
}
}A company's fundamentals from its SEC filings (10-Q/10-K): market cap, P/E, price/sales, dividend yield, 12-month revenue and net income with year-over-year growth (growing / flat / declining, accelerating or slowing), margins, free cash flow, cash, debt, cash runway, stock-based pay, and a quarter-by-quarter table of revenue, net income and EPS with YoY change for each quarter. Use for 'is revenue growing?', 'what's the P/E?', 'does it pay a dividend?', 'is it profitable?', 'show the last 8 quarters'.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | Stock ticker, e.g. 'SOFI'. |
| quarters | integer | Quarters of history (4–12). |
{
"type": "object",
"title": "get_financialsArguments",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'SOFI'."
},
"quarters": {
"type": "integer",
"title": "Quarters",
"default": 8,
"maximum": 12,
"minimum": 4,
"description": "Quarters of history (4–12)."
}
}
}A fund's latest SEC Form 13F portfolio: total value, number of positions, top holdings with % of portfolio, and what changed vs the quarter before: new positions, positions sold out, biggest adds and biggest cuts. Use for 'what did Berkshire buy last quarter?', 'top holdings of Bridgewater', 'did Ark sell Tesla?'.
| Argument | Type | Description |
|---|---|---|
| top | integer | How many top holdings (5–40). |
| manager* | string | Fund / manager name or part of it, e.g. 'Berkshire', 'Bridgewater', 'Renaissance', 'ARK'. |
{
"type": "object",
"title": "get_fund_holdingsArguments",
"required": [
"manager"
],
"properties": {
"top": {
"type": "integer",
"title": "Top",
"default": 20,
"maximum": 40,
"minimum": 5,
"description": "How many top holdings (5–40)."
},
"manager": {
"type": "string",
"title": "Manager",
"minLength": 3,
"description": "Fund / manager name or part of it, e.g. 'Berkshire', 'Bridgewater', 'Renaissance', 'ARK'."
}
}
}List and summarize insider trades (SEC Form 4) for one company: who bought or sold, when, how much, their role (CEO, CFO, Director, 10% owner…), and a link to each filing. Use for questions like 'are insiders buying or selling NVDA?' or 'show Tesla insider trades this year'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (1–3650). |
| limit | integer | Max trades to return (1–100). |
| ticker* | string | Stock ticker, e.g. 'AAPL'. |
| open_market_only | boolean | True = only open-market buys/sells (the meaningful signal). False = include awards, option exercises, gifts, tax withholding. |
{
"type": "object",
"title": "get_insider_activityArguments",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 90,
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days (1–3650)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Max trades to return (1–100)."
},
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'AAPL'."
},
"open_market_only": {
"type": "boolean",
"title": "Open Market Only",
"default": true,
"description": "True = only open-market buys/sells (the meaningful signal). False = include awards, option exercises, gifts, tax withholding."
}
}
}Find an insider (executive, director, or large holder) by name and list their open-market trades across all companies, with totals. Use for 'what has Warren Buffett bought recently?' or 'Jensen Huang stock sales'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (1–7300). |
| name* | string | Insider name or part of it, e.g. 'Buffett' or 'Huang Jen'. |
| limit | integer | Max trades (1–100). |
{
"type": "object",
"title": "get_insider_personArguments",
"required": [
"name"
],
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 730,
"maximum": 7300,
"minimum": 1,
"description": "Look-back window in days (1–7300)."
},
"name": {
"type": "string",
"title": "Name",
"minLength": 3,
"description": "Insider name or part of it, e.g. 'Buffett' or 'Huang Jen'."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Max trades (1–100)."
}
}
}Score current insider behavior for one company (0–100, 50 = neutral) and EXPLAIN it: open-market buying vs selling, how unusual it is versus the company's own 5-year history, cluster buying, and C-suite participation, with the evidence trades and SEC links. Use for 'is insider activity at X bullish or bearish?' or 'anything unusual about insiders at X?'.
| Argument | Type | Description |
|---|---|---|
| days | integer | Window to evaluate (30–365 days). |
| ticker* | string | Stock ticker, e.g. 'PLTR'. |
{
"type": "object",
"title": "get_insider_signalArguments",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 90,
"maximum": 365,
"minimum": 30,
"description": "Window to evaluate (30–365 days)."
},
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'PLTR'."
}
}
}Who owns a stock, from SEC Form 13F filings by investment managers (hedge funds, mutual funds, banks, pensions with $100M+): number of institutional holders, share of the company they hold, top holders with their stake and quarter-over-quarter change, and how many funds opened, added, cut or sold out. Analyst and Edge also get the lists of new funds, sold-out funds, biggest adds and biggest cuts. Use for 'who owns PLTR?', 'are funds buying or selling NVDA?', 'top institutional holders', 'did hedge funds add last quarter?'.
| Argument | Type | Description |
|---|---|---|
| top | integer | How many top holders (5–25). |
| ticker* | string | Stock ticker, e.g. 'PLTR'. |
{
"type": "object",
"title": "get_institutional_ownershipArguments",
"required": [
"ticker"
],
"properties": {
"top": {
"type": "integer",
"title": "Top",
"default": 10,
"maximum": 25,
"minimum": 5,
"description": "How many top holders (5–25)."
},
"ticker": {
"type": "string",
"title": "Ticker",
"description": "Stock ticker, e.g. 'PLTR'."
}
}
}Current U.S. market backdrop in one call: market regime (calm uptrend / uptrend under stress / downtrend / panic / recovery, from the S&P 500 trend and VIX), VIX level and percentile, Fed funds rate, 2y and 10y Treasury yields, yield-curve shape, and the next Fed (FOMC) meetings with days until each and the market-implied odds of a cut, hold or hike. Use for 'what's the market backdrop?', 'when is the next Fed meeting?', 'odds of a rate cut?'.
No arguments.
{
"type": "object",
"title": "get_market_contextArguments",
"properties": {}
}The user's own CapitalSnitch account: plan (Free / Scout / Analyst / Edge), whether it is active, renewing, cancelled or expired, the date it renews or ends and days left, payment method type, questions used today vs the daily limit, which features are included and which need an upgrade. Free to call (does not count toward the daily limit). Use when the user asks 'what plan am I on?', 'when does my subscription renew?', 'is my plan active?', 'how many questions do I have left?'. The user is recognized by their personal connection address — no email or password is needed.
No arguments.
{
"type": "object",
"title": "get_my_accountArguments",
"properties": {}
}The alert and daily-briefing emails CapitalSnitch sent the user recently, newest first (Edge plan). Use for 'what alerts did I get today?', 'did anything trigger on my watchlist?'. Never counts toward the daily limit.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many (1–50). |
{
"type": "object",
"title": "get_my_alertsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 15,
"maximum": 50,
"minimum": 1,
"description": "How many (1–50)."
}
}
}The user's CapitalSnitch watchlist (Edge plan, up to 25 tickers). Watchlist companies get INSTANT EMAIL ALERTS (insider buys, big insider sales, new stock offerings; ~30 minutes after the SEC filing) and lead the daily email briefing. Use for 'alert me when insiders buy NVDA', 'add PLTR and SOFI to my watchlist', 'what am I watching?', 'stop alerting me about TSLA'. Never counts toward the daily limit.
| Argument | Type | Description |
|---|---|---|
| action | string | list = show it; add/remove tickers; replace = set the whole list. |
| tickers | any | Tickers for add/remove/replace, e.g. ['NVDA','PLTR']. |
{
"type": "object",
"title": "manage_watchlistArguments",
"properties": {
"action": {
"enum": [
"list",
"add",
"remove",
"replace"
],
"type": "string",
"title": "Action",
"default": "list",
"description": "list = show it; add/remove tickers; replace = set the whole list."
},
"tickers": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Tickers",
"default": null,
"description": "Tickers for add/remove/replace, e.g. ['NVDA','PLTR']."
}
}
}Look up tickers and official company names (with SEC CIK) from recent insider filings. Use when the user names a company but not its ticker, or a ticker returns no results.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | Company name or ticker fragment, e.g. 'palantir' or 'BRK'. |
{
"type": "object",
"title": "search_companiesArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"title": "Query",
"minLength": 1,
"description": "Company name or ticker fragment, e.g. 'palantir' or 'BRK'."
}
}
}Turn the user's CapitalSnitch email alerts on or off (Edge plan): instant watchlist alerts, market-wide 'big insider moves' alerts, and the daily briefing email. Omit a setting to leave it unchanged; call with no settings to see the current ones. Use for 'alert me about any big insider buys', 'stop the daily email', 'turn my alerts on'. Never counts toward the daily limit.
| Argument | Type | Description |
|---|---|---|
| daily_email | any | The weekday morning briefing email. |
| instant_alerts | any | Email alerts for watchlist companies. |
| big_moves_alerts | any | Email alerts for major insider moves across the WHOLE market: CEO/CFO purchases of $1M+ and high-conviction cluster buying, even outside the watchlist. |
{
"type": "object",
"title": "set_alert_preferencesArguments",
"properties": {
"daily_email": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Daily Email",
"default": null,
"description": "The weekday morning briefing email."
},
"instant_alerts": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Instant Alerts",
"default": null,
"description": "Email alerts for watchlist companies."
},
"big_moves_alerts": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Big Moves Alerts",
"default": null,
"description": "Email alerts for major insider moves across the WHOLE market: CEO/CFO purchases of $1M+ and high-conviction cluster buying, even outside the watchlist."
}
}
}Create a CapitalSnitch account — or sign back in and get a new connection address — entirely from the chat, no website needed. Step 1 of 2: emails the user a 6-digit code. Then ask the user for the code and call confirm_signup(email, code). Before calling, ask the user which plan they want (Free, Scout $29, Analyst $39, Edge $49 per month; yearly = 2 months free, one-time, never auto-renews) and, for a paid plan, card or crypto. The user must agree to the key terms first: call once without user_accepted_terms to get them, show them, and only after an explicit 'yes' set user_accepted_terms=true. Free to call.
| Argument | Type | Description |
|---|---|---|
| plan | string | Plan the user wants. Ask them; describe the options if unsure. |
| email* | string | The user's email address. A 6-digit code is sent there. |
| billing | string | Paid plans: monthly, or annual (2 months free). |
| crypto_asset | any | Crypto only, e.g. 'USDC-base' (recommended), 'USDT-solana', 'BTC-bitcoin', 'ETH-base', 'SOL-solana'. |
| payment_method | any | Paid plans: 'card' (credit/debit via Square; monthly renews automatically), 'wallet' (Apple Pay / Google Pay / Cash App Pay, one-time, no auto-renew) or 'crypto' (USDC/USDT/BTC/ETH/SOL, one-time, no auto-renew). |
| user_accepted_terms | boolean | True ONLY after you showed the user the key terms (returned when this is false) and the user explicitly said they agree. |
{
"type": "object",
"title": "find_insider_clustersArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 60,
"maximum": 365,
"minimum": 7,
"description": "Look-back window in days (7–365)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 15,
"maximum": 40,
"minimum": 1,
"description": "Max companies (1–40)."
},
"sort_by": {
"enum": [
"conviction",
"insiders",
"value",
"recent"
],
"type": "string",
"title": "Sort By",
"default": "conviction",
"description": "Ranking."
},
"min_insiders": {
"type": "integer",
"title": "Min Insiders",
"default": 3,
"maximum": 50,
"minimum": 2,
"description": "Minimum different insiders buying."
},
"exclude_batches": {
"type": "boolean",
"title": "Exclude Batches",
"default": false,
"description": "True = hide companies whose buying looks like one company program (same day, similar small amounts)."
},
"min_total_value_usd": {
"type": "number",
"title": "Min Total Value Usd",
"default": 0,
"minimum": 0,
"description": "Minimum total bought per company."
}
}
}{
"type": "object",
"title": "start_signupArguments",
"required": [
"email"
],
"properties": {
"plan": {
"enum": [
"free",
"scout",
"analyst",
"edge"
],
"type": "string",
"title": "Plan",
"default": "free",
"description": "Plan the user wants. Ask them; describe the options if unsure."
},
"email": {
"type": "string",
"title": "Email",
"description": "The user's email address. A 6-digit code is sent there."
},
"billing": {
"enum": [
"monthly",
"annual"
],
"type": "string",
"title": "Billing",
"default": "monthly",
"description": "Paid plans: monthly, or annual (2 months free)."
},
"crypto_asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Crypto Asset",
"default": null,
"description": "Crypto only, e.g. 'USDC-base' (recommended), 'USDT-solana', 'BTC-bitcoin', 'ETH-base', 'SOL-solana'."
},
"payment_method": {
"anyOf": [
{
"enum": [
"card",
"wallet",
"crypto"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Payment Method",
"default": null,
"description": "Paid plans: 'card' (credit/debit via Square; monthly renews automatically), 'wallet' (Apple Pay / Google Pay / Cash App Pay, one-time, no auto-renew) or 'crypto' (USDC/USDT/BTC/ETH/SOL, one-time, no auto-renew)."
},
"user_accepted_terms": {
"type": "boolean",
"title": "User Accepted Terms",
"default": false,
"description": "True ONLY after you showed the user the key terms (returned when this is false) and the user explicitly said they agree."
}
}
}