fundz
Server Details
SEC-sourced funding rounds, acquisitions, exec moves, hiring and investor signals. 7 keyless tools.
- Status
- Healthy
- Uptime
- 100.0% over 24 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 32 tools
Most tools have clearly distinct purposes: dedicated search_* feeds map to specific signal types, and get_* tools target a specific object. Some overlap remains among search_major_events, search_sec_filings, search_funding_rounds, search_raised_and_hiring, and search_hiring_intel, though the descriptions provide useful guidance.
Almost all names use snake_case with a predictable action-led pattern such as get_, search_, add_, remove_, update_, and toggle_. The main outlier is who_do_i_know, which is a natural-language question rather than a verb_noun name, but the set is otherwise consistent.
32 tools is well above the 3-15 sweet spot and is heavy even for a multi-domain data platform. Many tools are genuinely distinct feeds, but the size makes selection and maintenance cumbersome.
The surface covers a broad range of sales-intelligence workflows: company profiles, contacts, reveals, watchlist operations, daily leads, targeting, saved filters, and many signal searches. Minor gaps include no direct list-watchlist tool and no generic company search beyond the event feeds, but agents can mostly work around these.
Available Tools
32 toolsadd_to_watchlistAdd company to watchlistAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug to save |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false; the description reinforces this with 'Reversible and free' and adds product behavior not in the annotations ('shows up in their app and alerts'). Useful added context about effect and cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action, no redundant restatement of the name/title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param mutation with full annotation coverage and no output schema, the description covers the action, effect, reversibility, cost, and input source. Minor gap: no pointer to the inverse remove_from_watchlist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'company' param, and the description adds meaning beyond the schema by telling the agent the value can be a company id or slug drawn from any search result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (save) and resource (company to the user's Fundz watchlist) with a clear clarifying synonym '(favorites)'. It is trivially distinguishable from the sibling remove_from_watchlist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Covers the input source ('company id or slug from any search result'), which helps an agent invoke it, but offers no explicit when-to-use/when-not guidance and never names remove_from_watchlist as the inverse. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_contactsGet company contactsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug, e.g. "overfuel" or "181403" (search results include this) | |
| with_email_only | No | Return only contacts that already have an email address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower; the description still adds cost ('Reading these costs nothing'), the presence of per-email verification status and date, and the fact that your LinkedIn connections are surfaced in the result. It does not mention rate limits, result caps, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and returns, then supporting details, then the alternative path. Five short sentences with almost no filler; the cost sentence is brief but earns its place for agent decision-making.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the return-value burden and does so well: it names the fields, the email verification metadata, and the connection signal. Combined with annotations and full schema coverage, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented and the baseline is 3. The description restates the company id/slug source but adds nothing about with_email_only or the accepted id-vs-slug forms beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ('Get the people Fundz already holds for one company') with the returned fields enumerated (name, role, department, email). It clearly distinguishes itself from reveal_contacts, which is framed as the enrichment path for missing emails rather than a duplicate of this read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to reveal_contacts when a contact lacks an email, and notes that reading is free, which is decision-relevant. It also tells the agent where the company id/slug comes from (search_funding_rounds and other feeds). No guidance, however, on when to prefer this over adjacent siblings like get_company_profile or who_do_i_know.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_profileGet company profileARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug, e.g. "overfuel" (search results include this) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the response is tier-dependent (on Strategic plans an alt-data layer of office expansions and USPTO trademarks is included), which affects what the agent will actually receive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The breadth of the return payload is front-loaded and the usage condition is saved for the end, matching how an agent reads the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing return content, and it does so by category. Combined with full parameter coverage and annotations covering the safety profile, nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema coverage, the schema already documents id vs slug. The description adds provenance the schema lacks — 'Takes the company id or slug from any search result' — telling the agent where to source the value, which is genuinely useful for chaining calls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Everything Fundz holds on one company in a single call') and enumerates the returned content categories (firmographics, funding rounds, executive moves, acquisitions, SEC filings, trademarks). It explicitly distinguishes itself from list-style searches: 'Use this when the user asks about a specific company rather than for a list.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear trigger ('when the user asks about a specific company') and contrasts with list retrieval, which is the right axis given siblings like search_funding_rounds and search_executive_changes. It does not name a specific sibling alternative for narrower company sub-resources (e.g., get_company_contacts), so it stops just short of fully explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_reveal_quotaGet contact reveal quotaARead-onlyIdempotentInspect
How many contact reveals the user has left this month, their monthly cap, and the upgrade link if they are out.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds value by disclosing the conditional upgrade link when the quota is exhausted and the monthly reset window, which is behavioral context the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that lists the three returned values with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully describes the return payload (remaining count, cap, conditional upgrade link), which is what an agent needs. Only minor gaps remain, such as whether values are counts or formatted strings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource and the exact payload: remaining reveals, the monthly cap, and an upgrade link. That clearly separates it from the mutation sibling reveal_contacts, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — the mention of running out of reveals suggests this is a pre-check before calling reveal_contacts, but there is no explicit when-to-use or when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_leadsGet daily leadsARead-onlyIdempotentInspect
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). For "who should I reach out to": get_lead_detail on the strongest few, then give a short ranked action plan: the dated event, why it fits (Timing, Relevance, Relationships), who to contact (who_do_i_know first for a warm intro, then get_company_contacts) and the first line of an opener. Say when a lead's fit is weak rather than padding the list.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 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). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower, and the description still adds genuinely non-obvious behavior: a new list is built every day including weekends, and each day's list is non-overlapping with prior days. It does not state result count per day or how many leads a caller should expect, which is the remaining transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the key standalone-list behavior are front-loaded, and each sentence is on-topic. The closing paragraph mixes invocation guidance with response-formatting instructions, which makes the tail dense, but nothing is redundant enough to cut cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter and no output schema, the description carries the return-value burden and does so adequately: AI-scored companies matching the ICP, at daily granularity. It stops short of describing the fields on each lead or typical list size, which would matter for a tool whose output is not schema-documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single days parameter is already documented with min/max and the Monday-weekend example. The description's explanation of days largely restates the schema rather than adding new syntax or edge-case meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: returns a personalized, AI-scored daily list of companies matching the user's targeting preferences. It clearly separates itself from siblings like get_lead_detail (single lead drill-down) and the search_* family (arbitrary event queries) by emphasizing the curated, date-anchored nature of the results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use days for back-filling missed days, and gives a concrete workflow for the 'who should I reach out to' case that routes to get_lead_detail, who_do_i_know, and get_company_contacts in order. It even includes a quality directive (flag weak fits rather than padding), which is real guidance, not filler.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_investor_profileGet investor profileARead-onlyIdempotentInspect
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".
| Name | Required | Description | Default |
|---|---|---|---|
| investor_id | Yes | Investor id from search_investors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description contributes beyond that by enumerating the returned intelligence and noting the intake route comes with a source, which tells the agent this is a single-shot, self-contained lookup rather than something requiring follow-up calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core value and closed with the use case. The middle field list is long but each item is a distinct output the agent can rely on; no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-shape burden itself, and it does by listing the metrics and intake data delivered. What is missing is only marginal: no note on depth limits, staleness, or behaviour for an unknown investor_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the sole parameter's description already says "Investor id from search_investors." The tool description adds no format, range, or sourcing detail beyond that. Baseline 3 is appropriate when the schema fully carries parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and spells out exactly what the payload contains: deal metrics (total deals, 90-day deals, companies backed, median round size, stage mix, first/last cheque) plus the firm's intake route and source. An agent can distinguish it from search_investors, which it implicitly pairs with via the investor_id lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit decision context: "Use this for 'should we approach them and how'." That routes the agent to this tool for outreach evaluation specifically. It stops short of naming when NOT to use it or pointing at a sibling for the raw search case, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lead_detailGet lead scoring detailARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company name or organization id from today's daily leads |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds important behavioral scope: it operates on one company 'in today's daily leads' and returns a rich set of fields, which is valuable context beyond the annotations, though it does not discuss rate limits, errors, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the main action. The first sentence is a long but purposeful enumeration of return contents; the second sentence gives usage context. Every clause earns its place, though the list is dense enough to be slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what the tool returns, and it thoroughly enumerates the scoring breakdown fields. Annotations cover the safety profile, the schema covers the single input, and usage is stated. An agent has enough to invoke and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter and schema description coverage is 100%; the schema already explains 'Company name or organization id from today's daily leads.' The description repeats 'one company in today's daily leads' without adding format, constraints, or examples beyond the schema. Baseline 3 is appropriate when the schema carries parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get the FULL scoring breakdown for one company in today's daily leads.' It enumerates the contents (match score, confidence, buying stage, forecasts, ML predictions, insights, play, contacts), which distinguishes it from the broader sibling get_daily_leads and from profile-oriented tools like get_company_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger: 'Use this whenever asked why a lead scored what it did, or for the same depth the Fundz lead inbox shows.' That tells the agent when to choose this tool for explanatory depth, but it does not name a sibling alternative or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_giftGet market movement for a companyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug of the RECIPIENT, i.e. who you are writing to | |
| lookback_days | No | How far back to look for market movement (default 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds real context beyond that: it costs one call from the daily API quota, and it may return empty when market activity is sparse. It does not discuss staleness or how far the looksback default extends practically, but the added value is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, front-loaded with what the tool returns and how it differs from a pitch. Cost and sparse-result behavior are placed last as operational notes, which is the right ordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does describe it (dated events plus the shared market themes they were matched on), along with cost and empty-result behavior. It is complete enough to invoke correctly, though it could say more about how adjacency/themes are determined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema, including the important note that company is the RECIPIENT and the 90-day default for lookback_days. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: recent activity (raised, hired, won contract, filed, expanded) among companies adjacent to a given company's market. This is clearly differentiated from the sibling point-queries like search_funding_rounds or search_executive_changes because it aggregates events by market adjacency rather than by a single event type. An agent can tell what it gets without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit situational purpose ("for opening outreach with a market update rather than a pitch") and a useful precondition about data volume ("returns few or no rows when little has happened"). It stops short of naming alternative tools or stating when not to use it, so it is clear context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_saved_filtersGet saved filtersARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds the auth constraint ('Requires signing in (not available with a plain API key)'), which is genuine behavioral context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then the hand-off instructions, then the auth caveat. Every sentence carries distinct, actionable information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description still characterizes the return payload ('name and what it filters on') and explains how the result is consumed. Nothing an agent needs to call or use this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. It usefully references the `saved_filter` parameter on the sibling search tools, clarifying the downstream contract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the saved filters the user created') and enumerates exactly what each filter contains (name plus filter dimensions). It is unmistakably distinct from the many search_* siblings because it is the only tool that surfaces saved searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: take a returned filter name and pass it as the `saved_filter` argument to search_funding_rounds, search_executive_changes, or search_acquisitions, matching the filter's type. It also names the prerequisite (sign-in required), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_targeting_preferencesGet targeting preferencesARead-onlyIdempotentInspect
Get your current targeting preferences including industries, locations, company sizes, and buying signals you are tracking. Call this FIRST when the user asks what Fundz can do for them, asks for help getting started, or opens with a vague question: then answer for THIS user (their industries, locations, company sizes and events, not a generic feature list) and offer 5 specific questions they could ask next, written for their role (e.g. a recruiter: open executive seats, new CFOs, interim appointments; a seller: today's leads, who just raised and is hiring, a market-update email). If targeting is empty, ask what they sell or who they place and save it with update_targeting_preferences.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), and the description adds genuinely new behavior: it must be answered from THIS user's targeting rather than a generic feature list, and it should offer five role-tailored follow-up questions. The empty-state branch is disclosed. Missing only anything about response shape/pagination, which is minor for a zero-param read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly: purpose first, then the triggering conditions, then the behavioral instructions. It runs long and the role examples (recruiter/seller question lists) are illustrative rather than essential, so a sentence or two could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a zero-parameter, no-output-schema read tool: the description covers what is returned, when to call it, how to personalize the answer, what to do when targeting is empty, and which sibling handles the save. Nothing an agent needs to invoke or follow up correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The mention of 'industries, locations, company sizes, and buying signals' usefully previews the shape of the returned object even though no schema details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource and enumerates what the preferences contain (industries, locations, company sizes, buying signals), which distinguishes it cleanly from update_targeting_preferences and from the search_* siblings. An agent reading only the first sentence knows exactly what comes back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit priority rule ('Call this FIRST when the user asks what Fundz can do ... or opens with a vague question') plus named trigger conditions, and routes the empty-targeting case to the specific alternative: update_targeting_preferences. When-to-use, when-empty, and the alternative are all spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watchlist_changesGet watchlist changesARead-onlyIdempotentInspect
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. Covers the same companies and signals as the 9am watchlist email.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days back to look for signals (default 14). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful scope information (which signal types are included), but says nothing about result volume, ordering, or whether results are grouped per company — the main behavioral unknowns for a multi-signal aggregator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope in the first clause, followed by a compact enumeration of signal types. The signal list is long but each item is genuinely informative about coverage; only minor tightening possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-optional-parameter tool whose only parameter is fully documented, the description is nearly sufficient. The remaining gap is that it doesn't say whether output is grouped per company or how much data to expect, but that is modest given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `days` parameter already documents its default and bounds. The description adds no additional meaning about the window semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get what changed at the companies on the user's watchlist') and enumerates the covered signal types, so the agent knows exactly what surface this covers. The watchlist scoping also distinguishes it from the many search_* siblings that query signal types across all companies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'the user's watchlist' combined with 'covers the same companies and signals as the 9am watchlist email' gives a clear selection context: use this for watchlist-scoped monitoring. It stops short of naming an explicit alternative (e.g., search_sec_filings when you want a specific signal across all companies), so no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_watchlistRemove company from watchlistADestructiveIdempotentInspect
Remove a company from the user's Fundz watchlist (favorites).
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false and openWorldHint=true, carrying the safety profile. The description only adds the clarifying synonym '(favorites)' and the fact that the watchlist is user-scoped. It does not say what removal destroys or whether it requires auth, so it adds marginal context over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. The action and resource lead, and the parenthetical clarification is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation whose safety profile is fully covered by annotations and with no output schema to explain, the description is sufficient to call the tool correctly. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'company' parameter is fully documented as 'Company id or slug to remove'. The description adds no format, casing, or identification detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Remove a company from the user's Fundz watchlist.' An agent can distinguish it from add_to_watchlist by the verb alone. It stops short of explicitly naming the sibling as the counter-operation, but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no mention of add_to_watchlist as the inverse operation. Usage is only implied by the tool name, so an agent gets no explicit routing signal beyond the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reveal_contactsReveal contact emailsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug to reveal contacts at | |
| include_mobile | No | Also attempt a mobile number. Costs considerably more than an email, so only when the user asks for a phone number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag non-read-only, non-idempotent, open-world; the description goes well beyond by disclosing that the call consumes a monthly quota with per-plan limits (Strategic 600, Pro 150), what happens on exhaustion (remaining count + upgrade path), live mailbox verification, and the possible result statuses. This is exactly the metered-operation context an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with zero filler, front-loaded with the cost implication before the usage trigger and the return/limit details. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by stating the return contents (status values and date). Combined with the quota behavior and usage routing, nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, including the cost warning on include_mobile. The description adds no syntax or format detail for 'company' beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('spend one of the user's monthly contact reveals to find decision-maker emails at a company') and adds scope detail ('matched to the titles they sell to'). It is clearly distinguishable from the adjacent get_company_contacts sibling, which is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger condition: 'Use this when get_company_contacts returns nobody, or nobody with an email.' It also names the alternative and warns that the call is metered, so the agent knows both when to prefer it and when not to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_acquisitionsSearch acquisitionsCRead-onlyIdempotentInspect
Search for acquisition events. Filter by deal value, acquirer name, target company, deal type, and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (e.g., 7, 30, 60) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| industry | No | Industry title, e.g. "Information Technology" | |
| keywords | No | Free-text keywords matched against title/description (comma-separated for several) | |
| location | No | City, state or country title, e.g. "Texas" | |
| target_name | No | Filter by target company name | |
| company_name | No | Company name (partial match) | |
| saved_filter | No | 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 | |
| acquirer_name | No | Filter by acquiring company name | |
| max_deal_value | No | Maximum deal value (in dollars) | |
| min_deal_value | No | Minimum deal value (in dollars, e.g., 50000000 for $50M) | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds nothing behavioral beyond that: it does not mention pagination, the per-account marker behavior of new_since_last_pull, or that it requires a signed-in account — all of which live only in the parameter schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. The filter enumeration is partly redundant with the schema and includes one inaccurate item, keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, mutation-free search tool with rich schema descriptions and annotations, the description is adequate but thin. It leaves the incremental-sync path and sibling disambiguation entirely to the schema and the agent's inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 14 parameters and the baseline is 3. The description's filter list covers only a subset and omits the most distinctive parameters (new_since_last_pull, saved_filter, since), and it names 'deal type' which is not an actual parameter, which risks an agent inventing that argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Search for acquisition events.' An agent can tell this apart from search_agreements or search_funding_rounds at a glance. It does not explicitly name those siblings or state how acquisitions differ from them, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence lists filters, which is schema restatement, not usage guidance. There is no statement of when to prefer this tool over the roughly twenty sibling search tools, no mention of get_saved_filters for saved criteria, and no mention of when to use new_since_last_pull versus days/since for incremental pulls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agreementsSearch agreementsBRead-onlyIdempotentInspect
Search for partnership agreements and strategic alliances. Filter by agreement type, company names, and date range.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (e.g., 7, 30, 60) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| industry | No | Industry title, e.g. "Information Technology" | |
| keywords | No | Free-text keywords matched against title/description (comma-separated for several) | |
| location | No | City, state or country title, e.g. "Texas" | |
| company_name | No | Filter by company name | |
| partner_name | No | Filter by partner company name | |
| agreement_type | No | Type of agreement (e.g., "Partnership", "Strategic Alliance", "Joint Venture") | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — notably silent on the stateful behavior of new_since_last_pull (per-account markers, ignoring page) and on the signed-in account requirement, both of which are materially surprising behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource type and no filler. The brevity is appropriate, though it comes at the cost of coverage rather than being a model of efficient density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema search tool, the description is thin — it omits the stateful incremental-pull option and the auth requirement that an agent needs to call correctly. Combined with the rich schema it is workable, but not self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters are already documented in the schema; baseline is 3. The description touches only agreement type, company names, and date range, leaving industry, location, keywords, and the complex new_since_last_pull flag entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A clear verb-plus-resource statement: 'Search for partnership agreements and strategic alliances.' It distinguishes the resource well enough that an agent can separate it from siblings like search_acquisitions or search_funding_rounds without opening the schema, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says 'Filter by agreement type, company names, and date range' — that restates a subset of the parameters rather than telling the agent when to choose this tool over search_acquisitions or search_major_events. No exclusions, prerequisites, or guidance on which date filter (days vs since vs new_since_last_pull) to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_crowdfundingSearch crowdfunding roundsCRead-onlyIdempotentInspect
Find crowdfunding campaigns. Search by offering amount, deadline, offered types (Common Stock, etc.), and portal.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (e.g., 7, 30, 60) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| industry | No | Industry title, e.g. "Information Technology" | |
| keywords | No | Free-text keywords matched against title/description (comma-separated for several) | |
| location | No | City, state or country title, e.g. "Texas" | |
| company_name | No | Company name (partial match) | |
| offered_types | No | Type of security offered (e.g., "Common Stock") | |
| max_offering_amount | No | Maximum offering amount (in dollars) | |
| min_offering_amount | No | Minimum offering amount (in dollars) | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no pagination behavior, no note that `new_since_last_pull` maintains per-account state, and it references unsupported facets ('deadline', 'portal'), which adds noise rather than context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the purpose and free of padding. The only flaw is that the second sentence spends words on filters that aren't in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 optional parameters and no output schema, the description should at minimum signal that results are paginated and that a stateful 'new only' mode exists; the schema covers this, so the gap is survivable. But the misleading 'deadline'/'portal' references and absence of any alternative routing leave it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains every parameter in detail; baseline 3 applies. The description merely echoes offering amount and offered types while introducing 'deadline' and 'portal', which are not actual parameters and could mislead an agent into searching for filters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find crowdfunding campaigns') and enumerates the searchable facets, so an agent can tell it retrieves campaign listings. However it never distinguishes itself from the close sibling `search_funding_rounds`, and it names a 'deadline' filter that does not exist in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool over `search_funding_rounds`, `search_investors`, or `get_daily_leads`, and no mention of prerequisites such as the signed-in account required by `new_since_last_pull`. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_executive_changesSearch executive changesARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (e.g., 7, 30, 60) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| source | No | 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). | |
| industry | No | Industry title, e.g. "Information Technology" | |
| keywords | No | Free-text keywords matched against title/description (comma-separated for several) | |
| location | No | City, state or country title, e.g. "Texas" | |
| role_type | No | Executive role (e.g., "CEO", "CTO", "CFO", "CMO", "COO", "VP") | |
| change_type | No | Type of change: "Appointment" or "Departure" | |
| company_name | No | Filter by company name | |
| saved_filter | No | 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 | |
| executive_name | No | Filter by executive name | |
| open_seats_only | No | 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. | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds meaningful behavioral context beyond that, notably that open_seats_only and job_posting silently ignore most other filters and that open seats means an 8-K departure with no permanent successor and no later hire filed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded first sentence is good, but the second sentence restates the role/change_type/company_name/date-range parameters already fully documented in the schema, and the three 'Set X' sentences partially duplicate the parameter descriptions. Useful content, but a chunk does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter tool with mode-dependent filter interplay and no output schema, the description covers the special modes well but never states the default behavior when nothing is supplied (all parameters optional), nor how precedence works among days/since/saved_filter beyond what the schema says.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns a step above by explaining the conceptual meaning of open_seats_only (no permanent successor, interim, search announced) and the two source values, which the schema only sketches. It does not add anything for the remaining eleven parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: "Find executive appointments and departures," then enumerates the filterable dimensions (role, change type, company, date range). This clearly separates it from siblings like search_layoffs or search_hiring_intel, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use guidance for each special mode: open_seats_only is tied to exec search, recruiting and interim placements; sec_form3 for officers below the C-suite that press releases miss; job_posting for private-company advertised seats. No explicit when-not-to-use or sibling routing, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filing_textSearch inside SEC filingsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days to look back (default 365, max 730) | |
| page | No | 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. | |
| forms | No | Comma-separated form types: 10-K, 10-Q, 20-F, 8-K (default all) | |
| limit | No | Filings per page (default 10, max 25) | |
| query | Yes | Words or phrase to find, e.g. "contact center", "offshore", "new facility", "headcount" | |
| section | No | 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) | |
| watchlist | No | Limit to companies on the signed-in user's Fundz watchlist | |
| company_name | No | Limit to companies whose SEC name contains this (partial, case-insensitive), e.g. "verizon" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses real behavioral traits: synonym expansion ('contact center also finds call center'), query operators (quotes, OR, leading minus), the coverage window ('last 12 months'), and the audience restriction ('public companies only'). These are non-obvious semantics an agent could not derive from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, and the return-value sentence follows logically. The example-question list is longer than strictly necessary and could be trimmed, but each sentence carries usable information rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the returned fields (matching passage, company, form, filing date, section, EDGAR link) and by stating coverage limits and matching rules. An agent has everything needed to call it and interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, and the description earns an extra point by explaining query syntax (quoting, OR, minus) and the synonym behavior that governs how the required 'query' parameter is interpreted, plus confirming the watchlist scoping. It does not clarify the days/limit/page interaction beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'full-text search inside SEC filings' — and enumerates the covered document types (10-K, 10-Q, 20-F, 8-K) and their sections, which tells an agent exactly what corpus it searches. It does not, however, explicitly differentiate itself from the sibling search_sec_filings, leaving the agent to infer that this one searches document text while that one presumably searches filing metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Offers concrete use-case questions ('which banks mention contact centers in their 10-K', 'did Verizon talk about headcount') and notes the watchlist-scoped variant, giving a clear sense of when this tool fits. It stops short of naming an alternative tool or stating when NOT to use it, so routing versus search_sec_filings remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fund_formationsSearch fund formationsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| min_amount | No | Minimum amount in dollars, e.g. 50000000 for $50M | |
| company_name | No | Fund or firm name (partial, case-insensitive) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description only needs to add context. It does: results are derived from SEC Form D filings and can surface vehicles before they are publicly announced, which tells the agent about coverage, provenance and timeliness. Rate limits and result volume are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the data is and where it comes from, followed by the use cases. No filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields (fund name, target/raised amount, the filing) and the data source. Pagination behavior is left to the schema, and it does not state coverage caveats such as reporting lag, but an agent has enough to call and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (page, limit, min_amount, company_name) are already fully documented in the schema. The description adds no parameter syntax or format detail beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (new investment funds raising capital) and pins the source of truth (SEC Form D filings), plus the fields returned (fund name, target/raised amount, the filing). This is clearly distinguishable from siblings like search_funding_rounds (company rounds) and search_sec_filings (raw filings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete use cases — "who is raising a fund", LP and allocator work, catching a firm standing up a new vehicle pre-announcement — which is real when-to-use guidance. It does not name an alternative tool or state when not to use this one, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_funding_roundsSearch funding roundsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (default 7) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| series | No | Funding series (e.g., "Seed", "Series A", "Series B", "Series C") | |
| industry | No | Industry title as used in Fundz, e.g. "Information Technology", "Financial Services", "Health Care" | |
| keywords | No | Free-text keywords matched against the round's title and description, e.g. "fintech", "artificial intelligence" | |
| location | No | City, state/region or country title, e.g. "Colorado", "United States", "Denver", "United Kingdom" | |
| company_name | No | Company name (partial, case-insensitive), e.g. "Voxel" | |
| saved_filter | No | 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 | |
| max_money_raised | No | Maximum amount raised (in dollars) | |
| min_money_raised | No | Minimum amount raised (in dollars, e.g., 1000000 for $1M) | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a read-only, idempotent, non-destructive, open-world search. The description adds useful behavioral context beyond those annotations: filters are applied server-side and total_count reflects the filtered total, and it explains paging and since-based retrieval. It does not mention the per-account marker behavior of new_since_last_pull, but the schema covers that parameter directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences: purpose first, filter/paging capabilities second, and server-side total_count behavior last. There is no redundant or wasted language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter search tool with no output schema, the description covers purpose, main filter categories, saved filters, paging, since-based retrieval, and filtered total_count. The schema carries the detailed parameter semantics, so the remaining gap around full return-shape description is reasonable but keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter semantics are already fully documented in the input schema. The description groups the major filter categories and mentions saved filters, paging, and since, but it adds little semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search funding rounds,' and anchors it to the Fundz funding-round feed. The resource is clearly distinct from sibling searches such as search_investors or search_acquisitions, so an agent can identify the correct tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by enumerating the available filter dimensions and explaining saved-filter and paging behavior. It does not explicitly name when-not to use it or point to alternative sibling tools, so it falls short of full alternative routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_hiring_intelSearch Hiring IntelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Only postings Fundz first saw in the last N days (default 45, max 120) | |
| page | No | Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more. | |
| sort | No | Postings view sort (default newest) | |
| tech | No | Technology named in the postings, e.g. "Salesforce", "Snowflake" | |
| view | No | "companies" (default): one card per hiring company. "postings": individual open job postings. | |
| limit | No | Results per page (companies view default 10, postings default 20, max 50) | |
| since | No | Only postings Fundz first saw on or after this ISO date, e.g. "2026-10-01". Overrides days; reaches back at most 120 days. | |
| country | No | Companies view: country, e.g. "United States" | |
| keyword | No | Matched against job titles, e.g. "controller". Several titles: "Director of Sales OR Head of Sales". For a role family prefer title_family. | |
| signals | No | 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 | |
| sort_by | No | Companies view sort (default newest) | |
| industry | No | Companies view: industry title(s), comma-separated, e.g. "Health Care, Financial Services" | |
| location | No | Companies view: city, state or region title(s), separated by semicolons, e.g. "Texas; Austin, Texas" | |
| department | No | Department, e.g. "Engineering", "Finance". "Sales" also matches Go-to-market, GTM, Revenue, Commercial and Business Development. | |
| remote_only | No | Only remote postings | |
| my_territory | No | Companies view: only companies inside the locations of the user's saved filters | |
| title_family | No | 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. | |
| employees_max | No | Companies view: maximum employee count | |
| employees_min | No | Companies view: minimum employee count. Companies with no headcount on file are kept and marked "headcount unknown", ranked after the known in-range ones. | |
| min_days_open | No | Only postings open at least this many days (hard-to-fill roles), e.g. 60 | |
| icp_match_only | No | Companies view: only companies matching the user's targeting profile | |
| has_first_degree | No | Companies view: only companies where the user has 1st-degree LinkedIn connections (needs their network uploaded) | |
| funded_within_days | No | Companies view: only companies with a funding round in the last N days | |
| has_hiring_manager | No | Companies view: only companies with a named hiring manager on a posting (a narrow filter) | |
| recent_exec_change | No | Companies view: only companies with a leadership change in the last 30 days | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent/non-destructive, and the description still adds real behavioral context: days defaults to 45 with a 120 cap, since overrides days and reaches back at most 120 days, the reply ends with total and next_page, and employees_min keeps unknown-headcount companies ranked last. new_since_last_pull is explained as per-account, per-filter-set server state that ignores page and requires a signed-in account — the kind of detail an agent cannot infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with what the tool returns, which is good, but it drifts into a dense run-on filter inventory that duplicates schema content (the full signals list, the department alias rule, the OR-joining example). Several clauses could be trimmed without losing selection-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 26 optional parameters and no output schema, the description does the necessary work: it defines the two result shapes, pagination, the days/since interaction, and the stateful new_since_last_pull loop. What remains thin is the meaning of some sort_by modes (intent, warm_intro) and the 'intent score and why' output, but overall an agent can call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns a bump by explaining semantics the schema cannot: why title_family beats a literal keyword (titles vary across companies) and how department aliasing behaves. It also restates signals and the department alias that the schema already covers, which dilutes the added value slightly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('companies hiring right now from their live job postings') and enumerates the payload per card (open-role counts, sample roles, signals, intent score, funding, leadership change). The two views ('companies' vs 'postings') are defined explicitly. It never names or distinguishes itself from the nearest sibling, search_raised_and_hiring, so an agent must infer that edge case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strong prescriptive guidance: use title_family rather than a single keyword for leadership roles, keyword accepts ' OR '/'|' joined titles, department 'Sales' expands to GTM/Revenue/Business Development. These are explicit when/how instructions with an anti-pattern called out. It stops short of saying when to pick this tool over sibling searches (search_raised_and_hiring, get_daily_leads).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_investorsSearch investorsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 10, max 25) | |
| query | Yes | Investor or firm name, partial is fine, e.g. "sequoia", "a16z" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world and non-destructive, so the bar is low. The description adds real behavioral context beyond them: the index covers only investors who 'have actually written cheques in the Fundz deal data,' which tells the agent something about result recall and data provenance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The capability and coverage claim come first, and the return-value handoff to the next tool is front-loaded where the agent needs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search with no output schema, the description covers what is essential: what it searches, the corpus it searches, and that the output is ids for get_investor_profile. Safety semantics are already supplied by annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the query matching style (partial names like 'sequoia', 'a16z') and the limit range are already documented in the schema. The description adds no further syntax or matching nuance, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Find investors by name') with an explicit scope (37,000+ firms and angels). It also distinguishes itself from the many other search_* siblings by naming its downstream counterpart, get_investor_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States that results are ids meant to be passed to get_investor_profile, which establishes a clear two-step workflow. It stops short of an explicit when-not rule (e.g., call get_investor_profile directly if you already hold an id), but the routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_layoffsSearch layoffs (news, SEC filings, WARN notices)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Only the last N days (WARN default: all; news and filings default 30, max 180) | |
| page | No | Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more. | |
| sort | No | newest (default, by notice date), effective_date, employees (largest first) or distress (highest distress score on each page) | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | Only notices on or after this ISO date, e.g. "2026-10-01". Overrides days. | |
| state | No | 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. | |
| source | No | all (default: news, SEC filings and WARN notices), news, filings or warn; comma-separate to combine, e.g. "news, filings" | |
| territory | No | true = only the states in this Fundz account's targeting. Ignored when state is given. | |
| layoff_type | No | layoff or closure (each matches permanent, temporary and not-yet-known), or a fuller value such as "Closure Permanent" | |
| company_name | No | Company name (partial, case-insensitive) | |
| matched_only | No | true = only notices linked to a Fundz company profile (needed to look up contacts and executives next) | |
| min_employees | No | Minimum employees affected, e.g. 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description layers on meaningful behavior beyond them: the combined-event dedup logic, the composition of the 0-100 distress score (8-K Item 2.05 restructuring or Item 5.02 departures within 90 days), and WARN filing semantics. This is exactly the extra context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the three sources before the field detail, and every sentence carries substance, but the single dense paragraph could be broken into clearer segments. Slightly long, though not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 12 optional parameters, the description compensates by enumerating the returned fields per source (WARN: worksite, dates, employee count, type, industry, link; news: headcount, percent, HQ, sites, confirmation status) and explaining the distress score. An agent has everything needed to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 12 parameters in detail, including territory's interaction with state and matched_only's purpose. The description's filter list ('state, company, notice date, minimum employees affected and layoff type; sort by newest, effective date, size or distress') largely restates the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (search) plus the exact resource (layoffs/plant closures/RIFs) and enumerates the three sources it draws from, with the fields each source returns. An agent can distinguish it from siblings like search_sec_filings or search_major_events purely from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: default behavior merges all three sources, 'Use source to read one only,' dedup rule that a news layoff and an 8-K for the same company appear as one event, and 'matched_only' is flagged as needed before looking up contacts next. It stops short of explicitly naming alternative sibling tools or when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_major_eventsSearch major eventsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days to look back (default 7) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| category | No | Event category. hiring = executive changes, acquisition = M&A, funding = financial events. | |
| company_name | No | Company name (partial, case-insensitive) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's added value is provenance and result shape — SEC filing sourcing and the plain-English description/category per event. It does not address data freshness, quota cost, or result volume caps, so it stops short of full behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns before the routing guidance. Every clause earns its place; nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by describing the fields of each returned event. Combined with the thorough parameter descriptions, an agent has enough to call it correctly; only secondary details like result volume or freshness are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so defaults, ranges, pagination, and the enum are fully documented in the schema itself. The description's category list (executive change, acquisition, funding, contract, product launch, expansion, regulatory) loosely echoes the enum without adding syntax or usage detail beyond it, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (material corporate events from SEC filings), what each result contains (plain-English description plus a category), and explicitly contrasts its breadth against search_sec_filings. An agent can distinguish it from the filing-level sibling without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: use this to scan for what materially happened, use search_sec_filings when the user wants the filings themselves. The when-to-use and the alternative are both named outright, leaving no inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_office_expansionsSearch office expansionsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City of the leased space (partial match), e.g. "Austin" | |
| days | No | Only filings in the last N days (default: all) | |
| page | No | Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | Only filings on or after this ISO date, e.g. "2026-10-01". Overrides days. | |
| state | No | US state 2-letter code(s) of the leased space, comma-separated, e.g. "CA, NY" | |
| lease_type | No | One or more of: new, expansion, relocation, renewal (comma-separated), or all. Default: new, expansion and relocation (renewals excluded). | |
| company_name | No | Company name (partial, case-insensitive) | |
| facility_type | No | One or more of: office, lab, mixed, manufacturing, warehouse, retail (comma-separated), or all. Default: everything except pure manufacturing and warehouse sites. | |
| min_square_feet | No | Minimum square footage, e.g. 20000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/safe, so the description only needed to add context, and it does: default exclusions for renewals and manufacturing/warehouse sites, the tenant-always-filer rule, and the pagination reply shape (total + next_page). It omits any rate-limit or latency expectations, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the feed is, then the filter set and the paging hint. The long parenthetical of returned fields is dense but each clause carries information; nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating returned fields (address, country, facility type, square footage, lease term, rent, landlord, dates, summary) and by describing the pagination contract. Coverage is strong, though it never states the response envelope beyond total/next_page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the field descriptions already state defaults (lease_type default set, facility_type default set, 'since overrides days', page/limit behavior). The prose largely restates those defaults, so the schema is doing the heavy lifting and a baseline 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and pins down the exact dataset: new office leases/expansions/relocations disclosed in SEC 8-K filings, with the filer always the tenant. It is clearly distinguishable from siblings like search_office_permits and search_sec_filings without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the inclusion/exclusion logic (renewals and factory/warehouse sites are omitted unless lease_type or facility_type asks for them) and points to `since` for date-bounded retrieval. It does not name an alternative sibling tool for adjacent needs (e.g. permits vs leases), so it stops short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_office_permitsSearch office build-out permitsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | One or more of NYC, SF, LA, CHI, BOS, SEA or the city name, comma-separated. Default: all six. | |
| days | No | Only permits filed in the last N days (default 60) | |
| page | No | Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more. | |
| sort | No | "newest" (default) or "cost" (largest build-out first) | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | Only permits filed on or after this ISO date, e.g. "2026-10-01". Overrides days. | |
| state | No | US state 2-letter code(s), comma-separated, e.g. "NY, MA" | |
| min_cost | No | 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. | |
| work_type | No | One or more of: tenant_improvement, new_building, alteration, fitout, other (comma-separated) | |
| company_name | No | Tenant, owner or applicant name (partial, case-insensitive) | |
| matched_only | No | Only permits matched to a Fundz company profile | |
| include_unnamed | No | Also return permits that name no tenant (landlord or developer work). Default false. | |
| include_consumer | No | 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. | |
| include_completed | No | Also return certificates of occupancy (the work is finished, not starting). Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, open-world, non-destructive search, so safety is covered; the description goes further by disclosing the default filtering policy (named tenant/owner-occupier only, >=$250K, excluding food/retail/salon fit-outs and certificates of occupancy) and the interpretation caveat that unnamed, consumer, and completed records are suppressed unless explicitly enabled. It also documents pagination via page and the since-overrides-days precedence, none of which the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two long sentences are dense but front-loaded with the resource and scope before the default-filter policy and the sibling reference. Some material (the explicit city list, individual filter names) duplicates the schema, which costs a little, but every sentence carries actionable content and nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, zero-required, no-output-schema tool, the description covers selection criteria, default behavior, widening options, pagination, and the shape of returned records. The only thing an agent cannot get from structured fields is the result payload, and that is described well enough to interpret matches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 14 parameters are already documented with defaults and rationale (min_cost's $250K default, include_consumer's coffee-shop example, since overriding days). The description mostly restates this, adding only a synthesized 'set X to widen' framing; per the baseline for fully-covered schemas, a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (office build-out permits from city records), its scope (six named metros, commercial tenant build-out/alteration/new-building), and the fields returned (tenant, address, estimated cost, status, Fundz company link). It also explicitly distinguishes itself from the sibling search_office_expansions by data source and geography, so an agent can choose between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the domain rationale for the default filters (a permit is usually pulled 30-90 days after a lease is signed, so it signals expansion and hiring) and gives the exact levers to widen results (min_cost, include_consumer, include_completed, include_unnamed). It also names the complementary tool, search_office_expansions, and the condition under which to combine them for the full expansion picture.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch product launchesBRead-onlyIdempotentInspect
Find product launches and updates. Search by launch type (New Product, Major Update, Feature Release), category (Software, Hardware, Service), and company.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (e.g., 7, 30, 60) | |
| page | No | 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. | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | 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. | |
| industry | No | Industry title, e.g. "Information Technology" | |
| keywords | No | Free-text keywords matched against title/description (comma-separated for several) | |
| location | No | City, state or country title, e.g. "Texas" | |
| launch_type | No | Type of launch: "New Product", "Major Update", or "Feature Release" | |
| company_name | No | Filter by company name | |
| product_category | No | Product category: "Software", "Hardware", or "Service" | |
| new_since_last_pull | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive, open-world search. The description adds little behavioral context beyond the purpose and a few filter examples, omitting notes on pagination, result limits, or how the new_since_last_pull mode behaves. With annotations covering the safety profile, a baseline 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no redundant or filler text. Every phrase contributes directly to identifying the tool's searchable dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 optional parameters and no output schema, the description only highlights three filter dimensions and does not mention pagination, date-based filtering, or the important new_since_last_pull mode. The rich schema and annotations compensate, but the description itself is minimal for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters are already documented in detail. The description only repeats the launch type values, category values, and company filtering, adding no meaningful semantics beyond what the schema provides. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Find product launches and updates.' It clearly identifies what is searched and lists several filter dimensions. However, it does not explicitly distinguish this tool from the many other sibling search tools such as search_major_events or search_funding_rounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no explicit guidance on when to use it versus alternatives. It does not mention exclusions, prerequisites, or sibling tools. 'Find product launches and updates' is essentially a restatement of purpose, not actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_raised_and_hiringSearch Raised & HiringARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, starting at 1 (default 1). The reply ends with the total and next_page when there are more. | |
| sort | No | score (default), funding_date (latest round first) or newest (most recently added first) | |
| limit | No | Results per page (default 20, max 50) | |
| since | No | Only companies that joined the list on or after this ISO date, e.g. "2026-10-01" (sorts newest first) | |
| state | No | US state name or 2-letter code, comma-separated for several, e.g. "Texas, CO" | |
| series | No | Latest funding series, comma-separated, e.g. "Seed, Series A" | |
| keyword | No | Only companies with an open posting whose title contains this. Several: "Director of Sales OR Head of Sales". | |
| new_only | No | Only companies that joined the list in the last 7 days | |
| department | No | Only companies with an open posting in this department. "Sales" also matches Go-to-market, GTM, Revenue, Commercial and Business Development. | |
| company_name | No | Company name (partial, case-insensitive) | |
| my_territory | No | Only companies inside the locations of the user's saved filters | |
| title_family | No | 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. | |
| employees_max | No | Maximum employee count (same handling of unknown headcount) | |
| employees_min | No | Minimum employee count. Companies with no headcount on file are kept, marked "headcount unknown" and ranked after the known in-range ones. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world, so the safety profile is covered. The description adds real behavioral context beyond that: daily refresh cadence, the 'at least one open posting' qualification rule, and the 90-day window for round/postings/exec-hire signals. No auth or rate-limit detail, but the freshness and inclusion semantics are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the list is before the filtering mechanics, and every sentence carries information. It is dense and a few items (department expansion, keyword OR syntax) are repeated verbatim from the schema, which is mild redundancy rather than waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, no-required, no-output-schema tool this covers the essentials: list definition, refresh cadence, inclusion rules, pagination ('the reply ends with the total and next_page'), and filter guidance. Auth/permission expectations and rate limits are unstated, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds reasoning the schema does not: why title_family beats keyword, that keyword accepts multiple titles joined with OR or '|', and that department 'Sales' also covers Go-to-market/GTM/Revenue/Business Development. These are genuine semantic aids rather than restatements, though some of it duplicates the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource with exact scope: companies with a verified funding round in the last 12 months that also have open postings, scored and refreshed daily. The qualification rule ('an exec hire alone does not qualify') makes it cleanly distinguishable from search_hiring_intel and search_funding_rounds, which cover only one half of the intersection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong in-tool guidance: use title_family rather than a single keyword for leadership roles, and explains why ('VP Sales' returns nothing at a company posting 'Director of Sales'). It also documents department expansion and the OR syntax. It stops short of naming when to prefer a sibling tool (e.g. pure funding or hiring searches), so it lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sec_filingsSearch SEC filingsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days to look back (default 7) | |
| page | No | 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. | |
| limit | No | Results per page (default 10, max 50) | |
| company_name | No | Company name (partial, case-insensitive) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds real behavioral content beyond that: 8-K only, AI-summarized rather than raw filings, and a hard scope limit ('public companies only'). It does not describe result volume or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the resource and the differentiator front-loaded, then the usage triggers, then the scope constraint. No redundant restatement of the tool name or schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by characterizing the payload (AI summaries of leadership changes, agreements, results, restructuring). Combined with fully-documented parameters and rich annotations, an agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with defaults, max limit, and pagination behavior all documented in the schema itself. The description adds only an implicit hint that a time window and company can be filtered, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Recent SEC 8-K filings') with a differentiating detail — the plain-English AI summary of material events — which distinguishes it from a raw-text sibling like search_filing_text. It does not name any sibling explicitly, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use triggers: 'what did company X just file' and scanning a window for material events. There is no stated when-not or explicit alternative routing, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_email_notificationsToggle email notificationsCInspect
Enable or disable daily email notifications for your leads and updates.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | True to enable emails, false to disable | |
| delivery_time | No | Time to receive emails: 9am, 12pm, or 6pm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds almost no behavioral context beyond the name — it does not say whether disabling wipes settings, whether delivery_time is persisted when emails are off, or what the response confirms. 'Daily' is the only new fact, and it largely restates the title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly a symptom of the thin content rather than evidence of sharp editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no output schema, the description plus full schema coverage and annotations is enough to invoke it correctly. It is still incomplete on the effect side: nothing explains the relationship between `enabled=false` and the optional `delivery_time`, which is the one ambiguity an agent could hit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including an explicit note that `enabled` is true-to-enable/false-to-disable and the allowed delivery_time values. The description adds nothing beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (enable/disable) and a specific resource (daily email notifications), with scope made explicit as 'your leads and updates'. It does not name a sibling or disambiguate against the other mutating tools (add_to_watchlist, update_targeting_preferences), but the function is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and no alternatives. It never says whether toggling off preserves preferences, or whether this is the only route to change notification cadence. An agent can only infer the trigger condition from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_targeting_preferencesUpdate targeting preferencesBDestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| locations | No | Target locations (e.g., ["San Francisco", "New York", "United States"]) | |
| industries | No | Specific industries to target (e.g., ["Software", "Healthcare", "Finance"]) | |
| buying_signals | No | Events to track: funding, exec_hire, product_launch, contract, acquisition | |
| employee_ranges | No | Employee size ranges: range1 (0-50), range2 (51-200), range3 (201-500), range4 (501-1000), range5 (1001-5000), range6 (5000+) | |
| ideal_customer_profile | No | Natural language description of your ideal customer (e.g., "enterprise software companies in healthcare with 500+ employees") | |
| request_instant_scoring | No | If true, returns instant AI-scored leads matching the new preferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is partially covered. However, the description does not resolve the key ambiguity a destructive update raises: whether supplied fields replace all existing preferences or merge with them. It also omits that request_instant_scoring triggers an AI-scored lead return, which is a meaningful side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the primary natural-language workflow and followed by the fallback direct-field option. No filler, though the closing sentence largely repeats parameter names already visible in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, destructive, no-output-schema mutation tool, the description covers the input mechanism adequately but leaves gaps on the two things an agent most needs: merge-vs-replace semantics of the update and what request_instant_scoring returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented with examples and accepted value sets (employee ranges, buying signal enums). The description echoes four of them (industries, locations, employee sizes, buying signals) but adds no semantics beyond the schema and omits ideal_customer_profile and request_instant_scoring. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource ('update your targeting preferences') with the mechanism (natural-language parsing plus direct field specification) spelled out. It implicitly contrasts with the sibling get_targeting_preferences via 'update' vs 'get', but never names that sibling to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys two usage modes (natural language vs explicit fields), which is useful context, but it gives no when-to-use/when-not guidance and never points to get_targeting_preferences or get_saved_filters as the way to inspect existing settings first. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
who_do_i_knowWho in my network knows someone thereARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| company | Yes | Company id or slug, e.g. "overfuel" or "181403" (search results include this) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it reads only connections the user uploaded to Fundz, never anyone else's network, and costs no reveal credit. What it lacks is any note on return shape or empty-result behavior, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loads the core purpose and uses each sentence for a distinct fact (scope, privacy, cost, parameter source, sibling disambiguation). It reads as slightly run-on, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only lookup with no output schema and full annotation coverage, the description supplies everything needed to invoke correctly: what it returns conceptually, the privacy boundary, cost, and parameter source. Only the return-value shape is unaddressed, which is acceptable given the absent output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'company' param is fully documented in the schema, including the id-or-slug format and an example. The description repeats 'takes the company id or slug from a search result' without adding syntax or constraints beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (find which connections work at) and resource (a company), scoped to the signed-in user's OWN uploaded connections. It explicitly distinguishes itself from the sibling get_company_contacts, which 'also shows this and flags contacts you are already connected to,' so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the use case clearly ('for a warm introduction instead of a cold email') and names the overlapping alternative get_company_contacts. It does not spell out an explicit when-not-to-use rule, but the implied differentiation (personal network lookups vs. full contact lists) is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
update_targeting_preferences1 field changed- changed
Input schema / properties / buying_signals / descriptionPrevious value: -"Events to track: funding, exec_hire, product_launch, website_change, contract, acquisition"New value: +"Events to track: funding, exec_hire, product_launch, contract, acquisition"
7 tool updates
- Changed
search_acquisitions1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_agreements1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_crowdfunding1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_executive_changes1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_funding_rounds1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_hiring_intel1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
- Changed
search_products1 field changed- added
Input schema / properties / new_since_last_pullAdded value: +{ + "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" +}
1 tool update
- Changed
search_executive_changes1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"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)."New value: +"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)."
1 tool update
- Changed
search_executive_changes2 fields changed- added
Input schema / properties / open_seats_onlyAdded value: +{ + "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" +} - added
Input schema / properties / sourceAdded value: +{ + "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).", + "type": "string" +}
1 tool update
- Changed
search_layoffs3 fields changed- changed
Input schema / properties / days / descriptionPrevious value: -"Only notices filed in the last N days (default: all)"New value: +"Only the last N days (WARN default: all; news and filings default 30, max 180)" - added
Input schema / properties / sourceAdded value: +{ + "description": "all (default: news, SEC filings and WARN notices), news, filings or warn; comma-separate to combine, e.g. \"news, filings\"", + "type": "string" +} - changed
Input schema / properties / state / descriptionPrevious value: -"US state 2-letter code(s) of the worksite, comma-separated, e.g. \"CA, NY\""New value: +"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."
1 tool update
- Changed
get_daily_leads1 field changed- added
Input schema / properties / daysAdded value: +{ + "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" +}
1 tool update
- Added
search_filing_text
1 tool update
- Changed
get_watchlist_changes1 field changed- added
Input schema / properties / daysAdded value: +{ + "description": "How many days back to look for signals (default 14).", + "maximum": 90, + "minimum": 1, + "type": "integer" +}
5 tool updates
- Changed
search_hiring_intel4 fields changed- changed
Input schema / properties / department / descriptionPrevious value: -"Department, e.g. \"Engineering\", \"Sales\", \"Finance\""New value: +"Department, e.g. \"Engineering\", \"Finance\". \"Sales\" also matches Go-to-market, GTM, Revenue, Commercial and Business Development." - changed
Input schema / properties / employees_min / descriptionPrevious value: -"Companies view: minimum employee count"New value: +"Companies view: minimum employee count. Companies with no headcount on file are kept and marked \"headcount unknown\", ranked after the known in-range ones." - changed
Input schema / properties / keyword / descriptionPrevious value: -"Matched against job titles and descriptions, e.g. \"VP Sales\", \"controller\""New value: +"Matched against job titles, e.g. \"controller\". Several titles: \"Director of Sales OR Head of Sales\". For a role family prefer title_family." - added
Input schema / properties / title_familyAdded value: +{ + "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" +}
- Added
search_layoffs - Changed
search_office_permits3 fields changed- added
Input schema / properties / include_completedAdded value: +{ + "description": "Also return certificates of occupancy (the work is finished, not starting). Default false.", + "type": "boolean" +} - added
Input schema / properties / include_consumerAdded value: +{ + "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" +} - changed
Input schema / properties / min_cost / descriptionPrevious value: -"Minimum estimated build-out cost in USD, e.g. 250000"New value: +"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."
- Changed
search_raised_and_hiring5 fields changed- added
Input schema / properties / departmentAdded value: +{ + "description": "Only companies with an open posting in this department. \"Sales\" also matches Go-to-market, GTM, Revenue, Commercial and Business Development.", + "type": "string" +} - added
Input schema / properties / employees_maxAdded value: +{ + "description": "Maximum employee count (same handling of unknown headcount)", + "type": "number" +} - added
Input schema / properties / employees_minAdded value: +{ + "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" +} - added
Input schema / properties / keywordAdded value: +{ + "description": "Only companies with an open posting whose title contains this. Several: \"Director of Sales OR Head of Sales\".", + "type": "string" +} - added
Input schema / properties / title_familyAdded value: +{ + "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" +}
- Added
who_do_i_know
1 tool update
- Added
search_office_permits
1 tool update
- Changed
search_office_expansions1 field changed- added
Input schema / properties / facility_typeAdded value: +{ + "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" +}
1 tool update
- Changed
search_office_expansions1 field changed- changed
Input schema / properties / lease_type / descriptionPrevious value: -"One or more of: new, expansion, relocation, renewal (comma-separated)"New value: +"One or more of: new, expansion, relocation, renewal (comma-separated), or all. Default: new, expansion and relocation (renewals excluded)."
1 tool update
- Changed
search_major_events2 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Event category to filter on, e.g. \"leadership\", \"M&A\""New value: +"Event category. hiring = executive changes, acquisition = M&A, funding = financial events." - added
Input schema / properties / category / enumAdded value: +[ + "funding", + "hiring", + "acquisition", + "contract_agreement", + "product_launch", + "award", + "company_expansion", + "regulatory_change", + "rapid_growth", + "other" +]
12 tool updates
- Changed
search_acquisitions4 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default: 20)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / saved_filterAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Changed
search_agreements3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default: 20)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Changed
search_crowdfunding3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default: 20)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Changed
search_executive_changes4 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default: 20)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / saved_filterAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Changed
search_fund_formations2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum results (default 20, max 50)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +}
- Changed
search_funding_rounds3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default 20, max 50)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Added
search_hiring_intel - Changed
search_major_events3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum results (default 20, max 50)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Added
search_office_expansions - Changed
search_products3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results (default: 20)"New value: +"Results per page (default 20, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +} - added
Input schema / properties / sinceAdded value: +{ + "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" +}
- Added
search_raised_and_hiring - Changed
search_sec_filings2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum filings to return (default 10, max 50)"New value: +"Results per page (default 10, max 50)" - added
Input schema / properties / pageAdded value: +{ + "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" +}
Related MCP Connectors
Funding rounds, exec moves, UCC liens and Form 5500 plans. 7 tools need no API key.
Hiring signals, SEC, Congress, FDA, crypto and app reviews: scored signals. 19 tools, free flagship.
SEC filings for Claude, ChatGPT, Cursor — 23 tools + 5 recipes. Financials, insider, 13F, funds.
US startups that just raised, from SEC Form D: amount raised, investor count, founders, location.
Related MCP Servers
- AlicenseAqualityAmaintenanceReal-time SEC Form 4 insider trading data — transactions with post-trade returns, cluster-buy signals, Form 144 early warnings, and 13F institutional holdings. 27 tools + 6 research prompts; free tier available.38104 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and retrieve US company funding events from SEC Form D filings, including amount raised, industry, executives, and filing URLs.ISC
- FlicenseNot gradedqualityBmaintenanceEnables sales agents to retrieve dated funding and SEC 8-K event evidence for companies, with source document links, to identify timely buying signals.-
- AlicenseAqualityDmaintenanceProvides real-time business event intelligence and AI-scored sales leads to help users track funding rounds, acquisitions, and executive hires. It enables AI agents to generate strategic market briefs and manage company watchlists for predictive business insights.733 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.