← The evidence ledger
Evidence row 304034
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint f51c27d7-e8b0-434a-9c1e-acf20e84b1f4
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 0779552bc70a8d5a610305c9b7d2ed9b385101cf01358ba7b78320bfa29164af
- Leaf
- 0xc3ad0ebf5ce801768748744c88d9b6dd2b72cfb38ff6a4d1ab88e50ba9bbd855
What was observed
{
"count": 32,
"tools": [
{
"description": "Save a company to the user's Fundz watchlist (favorites), so it shows up in their app and alerts. Reversible and free. Takes the company id or slug from any search result.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug to save",
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "add_to_watchlist"
},
{
"description": "Get the people Fundz already holds for one company: name, role, department and email where we have it. Takes the company id or slug returned by search_funding_rounds and the other feeds. Each email carries its verification status and date where Fundz holds one, and the result shows which of your own LinkedIn connections work there. Reading these costs nothing. If a contact has no email yet, reveal_contacts can fetch one.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug, e.g. \"overfuel\" or \"181403\" (search results include this)",
"type": "string"
},
"with_email_only": {
"description": "Return only contacts that already have an email address",
"type": "boolean"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "get_company_contacts"
},
{
"description": "Everything Fundz holds on one company in a single call: firmographics plus every signal fused together (funding rounds with investors, executive moves, acquisitions, partnerships, product launches, SEC filings) and, on Strategic, the alt-data layer of office expansions and USPTO trademarks. Takes the company id or slug from any search result. Use this when the user asks about a specific company rather than for a list.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug, e.g. \"overfuel\" (search results include this)",
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "get_company_profile"
},
{
"description": "How many contact reveals the user has left this month, their monthly cap, and the upgrade link if they are out.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_contact_reveal_quota"
},
{
"description": "Get your personalized daily lead recommendations based on your targeting preferences. Returns AI-scored companies that match your ideal customer profile. A new list is built every day, weekends included, and each day's list stands alone (Monday's list does not repeat Saturday's or Sunday's). To catch up on days you missed, pass days (e.g. days: 3 on a Monday returns Saturday, Sunday and Monday).",
"inputSchema": {
"properties": {
"days": {
"description": "How many days of daily lists to return, counting today (1 = today only, the default; 3 on a Monday = the weekend plus today; max 7).",
"maximum": 7,
"minimum": 1,
"type": "integer"
}
},
"required": [],
"type": "object"
},
"name": "get_daily_leads"
},
{
"description": "An investor firm's deal record AND how a founder actually gets in: total deals, deals in the last 90 days, companies backed, median round size, stage mix, first and last cheque, plus the firm's real intake route (warm intro only, open application, scout programme) with the source. Use this for \"should we approach them and how\".",
"inputSchema": {
"properties": {
"investor_id": {
"description": "Investor id from search_investors",
"type": "number"
}
},
"required": [
"investor_id"
],
"type": "object"
},
"name": "get_investor_profile"
},
{
"description": "Get the FULL scoring breakdown for one company in today's daily leads: match score and data confidence, buying stage, hiring and exec-hire forecasts, ML predictions with a timeframe, the key insights behind the score, the recommended play, and the suggested contacts. Use this whenever asked why a lead scored what it did, or for the same depth the Fundz lead inbox shows.",
"inputSchema": {
"properties": {
"company": {
"description": "Company name or organization id from today's daily leads",
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "get_lead_detail"
},
{
"description": "Recent activity among companies adjacent to the one given: who raised, hired, won a contract, filed or expanded in their market. Returns dated events with the shared market themes they were matched on, for opening outreach with a market update rather than a pitch. Costs one call from the daily API quota, and returns few or no rows when little has happened.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug of the RECIPIENT, i.e. who you are writing to",
"type": "string"
},
"lookback_days": {
"description": "How far back to look for market movement (default 90)",
"type": "number"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "get_market_gift"
},
{
"description": "List the saved filters (saved searches) the user created in the Fundz web app: name and what it filters on (series, investors, locations, industries, amount, company size, keywords). Use a saved filter's name as the `saved_filter` argument of search_funding_rounds, search_executive_changes or search_acquisitions (matching its type) to run that exact search. Requires signing in (not available with a plain API key).",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_saved_filters"
},
{
"description": "Get your current targeting preferences including industries, locations, company sizes, and buying signals you are tracking.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_targeting_preferences"
},
{
"description": "Get what changed at the companies on the user's watchlist: SEC filings (8-K, 10-K, 10-Q), office leases, WARN layoff notices, commercial building permits, funding, executive hires, acquisitions, partnerships and product launches, plus website changes detected by FundzWatch. Covers the same companies and signals as the 9am watchlist email.",
"inputSchema": {
"properties": {
"days": {
"description": "How many days back to look for signals (default 14).",
"maximum": 90,
"minimum": 1,
"type": "integer"
}
},
"required": [],
"type": "object"
},
"name": "get_watchlist_changes"
},
{
"description": "Remove a company from the user's Fundz watchlist (favorites).",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug to remove",
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "remove_from_watchlist"
},
{
"description": "Spend one of the user's monthly contact reveals to find decision-maker emails at a company, matched to the titles they sell to. Each revealed email is checked with a live mailbox verification and returned with a status (verified, risky, unknown, invalid) and the date. Use this when get_company_contacts returns nobody, or nobody with an email. Charges the monthly allowance (Strategic 600, Pro 150); tells the user what is left and how to upgrade when it runs out.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug to reveal contacts at",
"type": "string"
},
"include_mobile": {
"description": "Also attempt a mobile number. Costs considerably more than an email, so only when the user asks for a phone number.",
"type": "boolean"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "reveal_contacts"
},
{
"description": "Search for acquisition events. Filter by deal value, acquirer name, target company, deal type, and date range.",
"inputSchema": {
"properties": {
"acquirer_name": {
"description": "Filter by acquiring company name",
"type": "string"
},
"company_name": {
"description": "Company name (partial match)",
"type": "string"
},
"days": {
"description": "Number of days to look back (e.g., 7, 30, 60)",
"type": "number"
},
"industry": {
"description": "Industry title, e.g. \"Information Technology\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against title/description (comma-separated for several)",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state or country title, e.g. \"Texas\"",
"type": "string"
},
"max_deal_value": {
"description": "Maximum deal value (in dollars)",
"type": "number"
},
"min_deal_value": {
"description": "Minimum deal value (in dollars, e.g., 50000000 for $50M)",
"type": "number"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"saved_filter": {
"description": "Name of one of the user's saved acquisitions filters (see get_saved_filters); its criteria are applied and any explicit filters above are added on top",
"type": "string"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
},
"target_name": {
"description": "Filter by target company name",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_acquisitions"
},
{
"description": "Search for partnership agreements and strategic alliances. Filter by agreement type, company names, and date range.",
"inputSchema": {
"properties": {
"agreement_type": {
"description": "Type of agreement (e.g., \"Partnership\", \"Strategic Alliance\", \"Joint Venture\")",
"type": "string"
},
"company_name": {
"description": "Filter by company name",
"type": "string"
},
"days": {
"description": "Number of days to look back (e.g., 7, 30, 60)",
"type": "number"
},
"industry": {
"description": "Industry title, e.g. \"Information Technology\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against title/description (comma-separated for several)",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state or country title, e.g. \"Texas\"",
"type": "string"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"partner_name": {
"description": "Filter by partner company name",
"type": "string"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_agreements"
},
{
"description": "Find crowdfunding campaigns. Search by offering amount, deadline, offered types (Common Stock, etc.), and portal.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Company name (partial match)",
"type": "string"
},
"days": {
"description": "Number of days to look back (e.g., 7, 30, 60)",
"type": "number"
},
"industry": {
"description": "Industry title, e.g. \"Information Technology\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against title/description (comma-separated for several)",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state or country title, e.g. \"Texas\"",
"type": "string"
},
"max_offering_amount": {
"description": "Maximum offering amount (in dollars)",
"type": "number"
},
"min_offering_amount": {
"description": "Minimum offering amount (in dollars)",
"type": "number"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"offered_types": {
"description": "Type of security offered (e.g., \"Common Stock\")",
"type": "string"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_crowdfunding"
},
{
"description": "Find executive appointments and departures. Search by role (CEO, CTO, CFO, etc.), change type (Appointment/Departure), company name, and date range. Set open_seats_only for officer seats that just opened at public companies: an 8-K departure where the filing names no permanent successor (exec search, recruiting and interim placements). Set source \"sec_form3\" for new officers taken from their own SEC Form 3 filing. Set source \"job_posting\" for C-level, president and general counsel seats that private companies are advertising on their own job boards (seats that never reach an SEC filing).",
"inputSchema": {
"properties": {
"change_type": {
"description": "Type of change: \"Appointment\" or \"Departure\"",
"type": "string"
},
"company_name": {
"description": "Filter by company name",
"type": "string"
},
"days": {
"description": "Number of days to look back (e.g., 7, 30, 60)",
"type": "number"
},
"executive_name": {
"description": "Filter by executive name",
"type": "string"
},
"industry": {
"description": "Industry title, e.g. \"Information Technology\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against title/description (comma-separated for several)",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state or country title, e.g. \"Texas\"",
"type": "string"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"open_seats_only": {
"description": "Only officer seats that are still open: 8-K departures naming no permanent successor (none named, an interim in the seat, or a search announced) and no later hire filed. Public companies; uses company_name and days, other filters are ignored.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"role_type": {
"description": "Executive role (e.g., \"CEO\", \"CTO\", \"CFO\", \"CMO\", \"COO\", \"VP\")",
"type": "string"
},
"saved_filter": {
"description": "Name of one of the user's saved executive-changes filters (see get_saved_filters); its criteria are applied and any explicit filters above are added on top",
"type": "string"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
},
"source": {
"description": "Only hires from this source. \"sec_form3\" = new officers from their own SEC Form 3 filing (often roles below the C-suite that press releases miss). \"job_posting\" = open C-level / president / general counsel seats posted on private companies' own job boards (uses days up to 120, page and limit; other filters are ignored).",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_executive_changes"
},
{
"description": "Full-text search inside SEC filings: the words a company itself wrote in its 10-K and 10-Q (business, properties, risk factors, MD&A), 20-F, and 8-K filings with their press releases. Returns the matching passage, company, form, filing date, section and a link to the exact filing on EDGAR. Use it for questions like \"which banks mention contact centers in their 10-K\", \"did Verizon talk about headcount this year\", \"who is opening a new facility\", or to search only the user's watchlist. Plain phrases match as a whole phrase plus common synonyms (contact center also finds call center). Put words in quotes, use OR, or a leading minus for exact control. Public companies only; covers the last 12 months.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Limit to companies whose SEC name contains this (partial, case-insensitive), e.g. \"verizon\"",
"type": "string"
},
"days": {
"description": "Days to look back (default 365, max 730)",
"type": "number"
},
"forms": {
"description": "Comma-separated form types: 10-K, 10-Q, 20-F, 8-K (default all)",
"type": "string"
},
"limit": {
"description": "Filings per page (default 10, max 25)",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` filings; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"query": {
"description": "Words or phrase to find, e.g. \"contact center\", \"offshore\", \"new facility\", \"headcount\"",
"type": "string"
},
"section": {
"description": "Optional 10-K item (\"1\" business, \"1A\" risk factors, \"2\" properties, \"7\" MD&A) or 10-Q item (\"I-2\" MD&A, \"II-1A\" risk factors)",
"type": "string"
},
"watchlist": {
"description": "Limit to companies on the signed-in user's Fundz watchlist",
"type": "boolean"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_filing_text"
},
{
"description": "New investment funds raising capital, from SEC Form D filings: fund name, target or raised amount and the filing. Use this for \"who is raising a fund\", LP and allocator work, or to catch a firm standing up a new vehicle before it is announced.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Fund or firm name (partial, case-insensitive)",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"min_amount": {
"description": "Minimum amount in dollars, e.g. 50000000 for $50M",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "search_fund_formations"
},
{
"description": "Search funding rounds (the same feed as app.fundz.net/fundings). Filter by company name, industry, location (city/state/country), keywords, series, amount and date window, or run one of the user's saved filters by name. Page through every match with page, and get only new rounds with since. Filters are applied server-side, so the total_count is the filtered total.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Company name (partial, case-insensitive), e.g. \"Voxel\"",
"type": "string"
},
"days": {
"description": "Number of days to look back (default 7)",
"type": "number"
},
"industry": {
"description": "Industry title as used in Fundz, e.g. \"Information Technology\", \"Financial Services\", \"Health Care\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against the round's title and description, e.g. \"fintech\", \"artificial intelligence\"",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state/region or country title, e.g. \"Colorado\", \"United States\", \"Denver\", \"United Kingdom\"",
"type": "string"
},
"max_money_raised": {
"description": "Maximum amount raised (in dollars)",
"type": "number"
},
"min_money_raised": {
"description": "Minimum amount raised (in dollars, e.g., 1000000 for $1M)",
"type": "number"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"saved_filter": {
"description": "Name of one of the user's saved filters (see get_saved_filters); its criteria are applied and any explicit filters above are added on top",
"type": "string"
},
"series": {
"description": "Funding series (e.g., \"Seed\", \"Series A\", \"Series B\", \"Series C\")",
"type": "string"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_funding_rounds"
},
{
"description": "Hiring Intel, the same search as app.fundz.net/hiring-intel: companies hiring right now from their live job postings, each with open-role counts, sample roles, hiring signals (exec backfill, vacancy aging, role reposted, key role posted, department expansion, hiring surge, tech stack), an intent score and why, recent funding and leadership change. view \"companies\" (default) returns one card per company; view \"postings\" returns individual open job postings with links. Filter by industry, location, country, company size, keyword, department, technology, remote, days open, signals, recent funding or leadership change. Page through every match with page; use since to get only postings Fundz first saw on or after a date. To find companies hiring a leadership role, USE title_family (for example title_family \"sales_leadership\" for \"hiring a VP Sales, Head of Sales, Sales Director or CRO\"), never a single keyword: titles vary (\"VP Sales\" returns nothing at a company that posts \"Director of Sales\"). keyword also takes several titles joined with \" OR \" or \"|\". department \"Sales\" also covers Go-to-market, GTM, Revenue and Business Development.",
"inputSchema": {
"properties": {
"country": {
"description": "Companies view: country, e.g. \"United States\"",
"type": "string"
},
"days": {
"description": "Only postings Fundz first saw in the last N days (default 45, max 120)",
"type": "number"
},
"department": {
"description": "Department, e.g. \"Engineering\", \"Finance\". \"Sales\" also matches Go-to-market, GTM, Revenue, Commercial and Business Development.",
"type": "string"
},
"employees_max": {
"description": "Companies view: maximum employee count",
"type": "number"
},
"employees_min": {
"description": "Companies view: minimum employee count. Companies with no headcount on file are kept and marked \"headcount unknown\", ranked after the known in-range ones.",
"type": "number"
},
"funded_within_days": {
"description": "Companies view: only companies with a funding round in the last N days",
"type": "number"
},
"has_first_degree": {
"description": "Companies view: only companies where the user has 1st-degree LinkedIn connections (needs their network uploaded)",
"type": "boolean"
},
"has_hiring_manager": {
"description": "Companies view: only companies with a named hiring manager on a posting (a narrow filter)",
"type": "boolean"
},
"icp_match_only": {
"description": "Companies view: only companies matching the user's targeting profile",
"type": "boolean"
},
"industry": {
"description": "Companies view: industry title(s), comma-separated, e.g. \"Health Care, Financial Services\"",
"type": "string"
},
"keyword": {
"description": "Matched against job titles, e.g. \"controller\". Several titles: \"Director of Sales OR Head of Sales\". For a role family prefer title_family.",
"type": "string"
},
"limit": {
"description": "Results per page (companies view default 10, postings default 20, max 50)",
"type": "number"
},
"location": {
"description": "Companies view: city, state or region title(s), separated by semicolons, e.g. \"Texas; Austin, Texas\"",
"type": "string"
},
"min_days_open": {
"description": "Only postings open at least this many days (hard-to-fill roles), e.g. 60",
"type": "number"
},
"my_territory": {
"description": "Companies view: only companies inside the locations of the user's saved filters",
"type": "boolean"
},
"new_since_last_pull": {
"description": "Postings view: only postings this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more.",
"type": "number"
},
"recent_exec_change": {
"description": "Companies view: only companies with a leadership change in the last 30 days",
"type": "boolean"
},
"remote_only": {
"description": "Only remote postings",
"type": "boolean"
},
"signals": {
"description": "Companies view: only companies with one of these signals in the last 14 days, comma-separated: exec_backfill, vacancy_aging, role_reposted, key_role_posted, department_expansion, hiring_surge, tech_stack_signal",
"type": "string"
},
"since": {
"description": "Only postings Fundz first saw on or after this ISO date, e.g. \"2026-10-01\". Overrides days; reaches back at most 120 days.",
"type": "string"
},
"sort": {
"description": "Postings view sort (default newest)",
"enum": [
"newest",
"org",
"title"
],
"type": "string"
},
"sort_by": {
"description": "Companies view sort (default newest)",
"enum": [
"newest",
"intent",
"name",
"employees",
"most_postings",
"longest_aged",
"most_signals",
"recent_funding",
"warm_intro"
],
"type": "string"
},
"tech": {
"description": "Technology named in the postings, e.g. \"Salesforce\", \"Snowflake\"",
"type": "string"
},
"title_family": {
"description": "Title family: one OR set of roles, comma-separated for several. sales_leadership = VP / Vice President / Head of / Director of Sales, Revenue or GTM, plus CRO and Chief Revenue Officer. sales_manager = Sales Manager titles (add it when the user says \"sales leaders and managers\"). marketing_leadership, engineering_leadership, finance_leadership.",
"type": "string"
},
"view": {
"description": "\"companies\" (default): one card per hiring company. \"postings\": individual open job postings.",
"enum": [
"companies",
"postings"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_hiring_intel"
},
{
"description": "Find investors by name across 37,000+ firms and angels that have actually written cheques in the Fundz deal data. Returns ids to pass to get_investor_profile.",
"inputSchema": {
"properties": {
"limit": {
"description": "Maximum results (default 10, max 25)",
"type": "number"
},
"query": {
"description": "Investor or firm name, partial is fine, e.g. \"sequoia\", \"a16z\"",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_investors"
},
{
"description": "Layoffs, plant closures and reductions in force from three sources, returned together by default: (1) layoffs announced or reported in the news (company, headcount and percent cut when stated, HQ, affected sites and teams, confirmed vs reported by sources, every article on the event), (2) SEC 8-K filings for restructuring or exit costs (Item 2.05) or a disclosed workforce reduction, and (3) state WARN Act notices employers must file before a mass layoff (the same feed as app.fundz.net/warn-notices). Use source to read one only. A news layoff and an 8-K for the same company are shown as one event. For WARN notices: company, worksite city and state, notice and effective dates, number of employees affected, layoff or closure type (permanent or temporary), industry and a link to the state source. Each row carries a 0-100 distress score that adds weight when the company also filed an SEC 8-K for restructuring (Item 2.05) or an executive or director departure (Item 5.02) within 90 days of the notice, the moment a company is most likely to replace leaders or reorganize. Filter by state, company, notice date, minimum employees affected and layoff type; sort by newest, effective date, size or distress. Use territory to match the states on this Fundz account.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Company name (partial, case-insensitive)",
"type": "string"
},
"days": {
"description": "Only the last N days (WARN default: all; news and filings default 30, max 180)",
"type": "number"
},
"layoff_type": {
"description": "layoff or closure (each matches permanent, temporary and not-yet-known), or a fuller value such as \"Closure Permanent\"",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"matched_only": {
"description": "true = only notices linked to a Fundz company profile (needed to look up contacts and executives next)",
"type": "boolean"
},
"min_employees": {
"description": "Minimum employees affected, e.g. 100",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more.",
"type": "number"
},
"since": {
"description": "Only notices on or after this ISO date, e.g. \"2026-10-01\". Overrides days.",
"type": "string"
},
"sort": {
"description": "newest (default, by notice date), effective_date, employees (largest first) or distress (highest distress score on each page)",
"type": "string"
},
"source": {
"description": "all (default: news, SEC filings and WARN notices), news, filings or warn; comma-separate to combine, e.g. \"news, filings\"",
"type": "string"
},
"state": {
"description": "US state 2-letter code(s), comma-separated, e.g. \"CA, NY\". WARN: the worksite. News: the company HQ or an affected site. Filings: the company HQ.",
"type": "string"
},
"territory": {
"description": "true = only the states in this Fundz account's targeting. Ignored when state is given.",
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"name": "search_layoffs"
},
{
"description": "Material corporate events drawn from SEC filings, each with a plain-English description and a category (executive change, acquisition, funding, contract, product launch, expansion, regulatory and so on). Broader than search_sec_filings: use this to scan for what materially happened, and search_sec_filings when the user wants the filings themselves.",
"inputSchema": {
"properties": {
"category": {
"description": "Event category. hiring = executive changes, acquisition = M&A, funding = financial events.",
"enum": [
"funding",
"hiring",
"acquisition",
"contract_agreement",
"product_launch",
"award",
"company_expansion",
"regulatory_change",
"rapid_growth",
"other"
],
"type": "string"
},
"company_name": {
"description": "Company name (partial, case-insensitive)",
"type": "string"
},
"days": {
"description": "Days to look back (default 7)",
"type": "number"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_major_events"
},
{
"description": "Office expansions, the same feed as app.fundz.net/office-expansions: new office leases, expansions and relocations that public companies disclosed in SEC 8-K filings (the filer is always the tenant taking space; renewals of existing space are left out unless lease_type asks for them, and factory or warehouse sites unless facility_type asks for them), with address and country, facility type, square footage, exact lease term, annual and total base rent, landlord or sublandlord, start dates and a plain-English summary. A company taking more space is usually about to hire. Filter by state, city, company, lease type, minimum square feet and filing date. Page through every match with page; use since to get only filings on or after a date.",
"inputSchema": {
"properties": {
"city": {
"description": "City of the leased space (partial match), e.g. \"Austin\"",
"type": "string"
},
"company_name": {
"description": "Company name (partial, case-insensitive)",
"type": "string"
},
"days": {
"description": "Only filings in the last N days (default: all)",
"type": "number"
},
"facility_type": {
"description": "One or more of: office, lab, mixed, manufacturing, warehouse, retail (comma-separated), or all. Default: everything except pure manufacturing and warehouse sites.",
"type": "string"
},
"lease_type": {
"description": "One or more of: new, expansion, relocation, renewal (comma-separated), or all. Default: new, expansion and relocation (renewals excluded).",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"min_square_feet": {
"description": "Minimum square footage, e.g. 20000",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more.",
"type": "number"
},
"since": {
"description": "Only filings on or after this ISO date, e.g. \"2026-10-01\". Overrides days.",
"type": "string"
},
"state": {
"description": "US state 2-letter code(s) of the leased space, comma-separated, e.g. \"CA, NY\"",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_office_expansions"
},
{
"description": "Office build-out permits, the Permits tab of app.fundz.net/office-expansions: commercial tenant build-out, alteration and new-building permits from city records in New York, Los Angeles, Chicago, Boston, San Francisco and Seattle, with the named tenant (private and public companies), address, estimated build-out cost, permit status and a Fundz company link when matched. A permit is usually pulled 30 to 90 days after a lease is signed, so it is an early sign a company is adding space and about to hire. By default only permits that name a tenant or owner-occupier, cost $250K or more, and are not food, retail or salon fit-outs or certificates of occupancy (finished work) are returned; set min_cost, include_consumer or include_completed to widen. Use together with search_office_expansions (SEC 8-K leases, public companies, any geography) for the full expansion picture. Filter by city, state, company, work type, minimum cost and filing date. Page through every match with page; use since to get only permits filed on or after a date.",
"inputSchema": {
"properties": {
"city": {
"description": "One or more of NYC, SF, LA, CHI, BOS, SEA or the city name, comma-separated. Default: all six.",
"type": "string"
},
"company_name": {
"description": "Tenant, owner or applicant name (partial, case-insensitive)",
"type": "string"
},
"days": {
"description": "Only permits filed in the last N days (default 60)",
"type": "number"
},
"include_completed": {
"description": "Also return certificates of occupancy (the work is finished, not starting). Default false.",
"type": "boolean"
},
"include_consumer": {
"description": "Also return cafe, restaurant, retail, salon, gym and hotel fit-outs and food-service vendors. Default false: a coffee shop build-out is not a hiring signal.",
"type": "boolean"
},
"include_unnamed": {
"description": "Also return permits that name no tenant (landlord or developer work). Default false.",
"type": "boolean"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"matched_only": {
"description": "Only permits matched to a Fundz company profile",
"type": "boolean"
},
"min_cost": {
"description": "Minimum estimated build-out cost in USD. Default 250000 (smaller permits are rarely an expansion signal); set 0 or 1 to see every size. Not applied by default when company_name is given.",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more.",
"type": "number"
},
"since": {
"description": "Only permits filed on or after this ISO date, e.g. \"2026-10-01\". Overrides days.",
"type": "string"
},
"sort": {
"description": "\"newest\" (default) or \"cost\" (largest build-out first)",
"type": "string"
},
"state": {
"description": "US state 2-letter code(s), comma-separated, e.g. \"NY, MA\"",
"type": "string"
},
"work_type": {
"description": "One or more of: tenant_improvement, new_building, alteration, fitout, other (comma-separated)",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_office_permits"
},
{
"description": "Find product launches and updates. Search by launch type (New Product, Major Update, Feature Release), category (Software, Hardware, Service), and company.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Filter by company name",
"type": "string"
},
"days": {
"description": "Number of days to look back (e.g., 7, 30, 60)",
"type": "number"
},
"industry": {
"description": "Industry title, e.g. \"Information Technology\"",
"type": "string"
},
"keywords": {
"description": "Free-text keywords matched against title/description (comma-separated for several)",
"type": "string"
},
"launch_type": {
"description": "Type of launch: \"New Product\", \"Major Update\", or \"Feature Release\"",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"location": {
"description": "City, state or country title, e.g. \"Texas\"",
"type": "string"
},
"new_since_last_pull": {
"description": "Only rows this account has not already been shown by an earlier new_since_last_pull call with the same filters. Fundz remembers per account and filter set, so a daily agent run gets just what is new, with no dates to track. The first call returns the normal window (days or since) and starts the marker. Ignores page: if more new rows are waiting the reply says so; call again the same way for the next batch. Needs a signed-in account.",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
},
"product_category": {
"description": "Product category: \"Software\", \"Hardware\", or \"Service\"",
"type": "string"
},
"since": {
"description": "Only results Fundz added on or after this ISO date, e.g. \"2026-10-01\" (whole day, so a daily run may repeat that day). Overrides days. Use the date of your last run to get only what is new.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_products"
},
{
"description": "Raised & Hiring, the same list as app.fundz.net/funded-and-hiring: companies with a verified funding round in the last 12 months that have open job postings now, scored and refreshed daily, with the latest round, open postings and exec hires in the last 90 days, and hiring signals. Every company listed has at least one open posting; an exec hire alone does not qualify. Filter by US state, funding series, company name, company size, the role they are hiring (title_family, keyword, department) or new this week. Page through every match with page; use since to get only companies that joined the list on or after a date. To find companies hiring a leadership role, USE title_family (for example title_family \"sales_leadership\" for \"hiring a VP Sales, Head of Sales, Sales Director or CRO\"), never a single keyword: titles vary (\"VP Sales\" returns nothing at a company that posts \"Director of Sales\"). keyword also takes several titles joined with \" OR \" or \"|\". department \"Sales\" also covers Go-to-market, GTM, Revenue and Business Development.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Company name (partial, case-insensitive)",
"type": "string"
},
"department": {
"description": "Only companies with an open posting in this department. \"Sales\" also matches Go-to-market, GTM, Revenue, Commercial and Business Development.",
"type": "string"
},
"employees_max": {
"description": "Maximum employee count (same handling of unknown headcount)",
"type": "number"
},
"employees_min": {
"description": "Minimum employee count. Companies with no headcount on file are kept, marked \"headcount unknown\" and ranked after the known in-range ones.",
"type": "number"
},
"keyword": {
"description": "Only companies with an open posting whose title contains this. Several: \"Director of Sales OR Head of Sales\".",
"type": "string"
},
"limit": {
"description": "Results per page (default 20, max 50)",
"type": "number"
},
"my_territory": {
"description": "Only companies inside the locations of the user's saved filters",
"type": "boolean"
},
"new_only": {
"description": "Only companies that joined the list in the last 7 days",
"type": "boolean"
},
"page": {
"description": "Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more.",
"type": "number"
},
"series": {
"description": "Latest funding series, comma-separated, e.g. \"Seed, Series A\"",
"type": "string"
},
"since": {
"description": "Only companies that joined the list on or after this ISO date, e.g. \"2026-10-01\" (sorts newest first)",
"type": "string"
},
"sort": {
"description": "score (default), funding_date (latest round first) or newest (most recently added first)",
"enum": [
"score",
"funding_date",
"newest"
],
"type": "string"
},
"state": {
"description": "US state name or 2-letter code, comma-separated for several, e.g. \"Texas, CO\"",
"type": "string"
},
"title_family": {
"description": "Title family: one OR set of roles, comma-separated for several. sales_leadership = VP / Vice President / Head of / Director of Sales, Revenue or GTM, plus CRO and Chief Revenue Officer. sales_manager = Sales Manager titles (add it when the user says \"sales leaders and managers\"). marketing_leadership, engineering_leadership, finance_leadership.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_raised_and_hiring"
},
{
"description": "Recent SEC 8-K filings with a plain-English AI summary of what actually happened: leadership changes, material agreements, results, restructuring. Use this for \"what did company X just file\" or to scan a window for material events. Public companies only.",
"inputSchema": {
"properties": {
"company_name": {
"description": "Company name (partial, case-insensitive)",
"type": "string"
},
"days": {
"description": "Days to look back (default 7)",
"type": "number"
},
"limit": {
"description": "Results per page (default 10, max 50)",
"type": "number"
},
"page": {
"description": "Page number, starting at 1 (default 1). Each page holds `limit` results; the reply ends with the total and next_page when there are more.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "search_sec_filings"
},
{
"description": "Enable or disable daily email notifications for your leads and updates.",
"inputSchema": {
"properties": {
"delivery_time": {
"description": "Time to receive emails: 9am, 12pm, or 6pm",
"type": "string"
},
"enabled": {
"description": "True to enable emails, false to disable",
"type": "boolean"
}
},
"required": [
"enabled"
],
"type": "object"
},
"name": "toggle_email_notifications"
},
{
"description": "Update your targeting preferences using natural language. Describe your ideal customer (e.g., \"B2B SaaS companies with 200-1000 employees in healthcare\") and fundz will parse and update your filters. You can also specify industries, locations, employee sizes, and buying signals directly.",
"inputSchema": {
"properties": {
"buying_signals": {
"description": "Events to track: funding, exec_hire, product_launch, website_change, contract, acquisition",
"items": {
"type": "string"
},
"type": "array"
},
"employee_ranges": {
"description": "Employee size ranges: range1 (0-50), range2 (51-200), range3 (201-500), range4 (501-1000), range5 (1001-5000), range6 (5000+)",
"items": {
"type": "string"
},
"type": "array"
},
"ideal_customer_profile": {
"description": "Natural language description of your ideal customer (e.g., \"enterprise software companies in healthcare with 500+ employees\")",
"type": "string"
},
"industries": {
"description": "Specific industries to target (e.g., [\"Software\", \"Healthcare\", \"Finance\"])",
"items": {
"type": "string"
},
"type": "array"
},
"locations": {
"description": "Target locations (e.g., [\"San Francisco\", \"New York\", \"United States\"])",
"items": {
"type": "string"
},
"type": "array"
},
"request_instant_scoring": {
"description": "If true, returns instant AI-scored leads matching the new preferences",
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"name": "update_targeting_preferences"
},
{
"description": "Which of the signed-in user's OWN LinkedIn connections work at a company, for a warm introduction instead of a cold email. Reads only the connections this user uploaded to Fundz (app.fundz.net/my-network); never anyone else's network. Free, costs no reveal. Takes the company id or slug from a search result. get_company_contacts also shows this and flags contacts you are already connected to.",
"inputSchema": {
"properties": {
"company": {
"description": "Company id or slug, e.g. \"overfuel\" or \"181403\" (search results include this)",
"type": "string"
}
},
"required": [
"company"
],
"type": "object"
},
"name": "who_do_i_know"
}
]
}What the leaf hashes
{"body":"0779552bc70a8d5a610305c9b7d2ed9b385101cf01358ba7b78320bfa29164af","id":304034,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793055707569577,"prev":null,"subject":"f51c27d7-e8b0-434a-9c1e-acf20e84b1f4","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xc3ad4252910ade7c9730b25f0e84b62cb5cd132dfb6b7fa6af840bb66cda8271
- 0xc6421d85e7bb4d4e481be8c619a42a8dec9e12ff2f733d17757112a722a6fdf0
- 0xf379b79087fb4d1833a892c860e7241cdcb1d8f3064474102c8923721d349f5b
- 0x69cec7b49deb5771e2f8f773974faa087d8f606298cdaabca209a4783c54cb00
- 0x917640a724593d2541e51a2f6a32f03201d77d56d64c9af54bfcaff3a7fa9201
- 0x40d0a184bcf742a832992df0409adffeabc83ce9ded4d233125f40b8753dab81
- 0x04de2a16cdd0bdf9adbb67de0420ab0bd20716bb09f49b8eb8a9dabf29d2a2a2
- 0xa45140a07efa8e0d6b73ae56aa23668014e03423e05b4fa671858de8b785d10a
- 0xd54294e9745a9b26aa751765de1ee81a844406593071839918b48893a0fd4175
- 0xa56ccac8e5b8ffc81639f6fab8bcfeedbdbd26e42c2be18a450206dc53044b78
- 0x2cd92a66ffb802d7ebc327d20fe07925be80289ee1c2910e6818dc40c67f2487
- 0x63002f2569d43725bbf2d04d90ec9e6cf925c96b6dda5e7e220ecfbdd9c2444d
- 0x641fba1f23ec69d96721e34ace1926954d835b9614cb5eae215a069c056399b8
- 0xdbe2e8dd65ea1248b2936612538f18268abd5cf27ebdab3737694571ad496004
- 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae