GleanMark Trademark Search
Server Details
Search 13.7M+ USPTO trademarks. Clearance, phonetic matching, TTAB stats, analytics.
- Status
- Healthy
- Uptime
- 99.8% over 49 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 64 tools
Many tools differ only by subtle retrieval nuance: search vs search_trademarks, fetch vs lookup_trademark, and phonetic_search/get_similar_marks/run_knockout_search all appear to be mark-search operations at first glance. The descriptions help once read carefully, but the volume of near-overlapping getters and search variants makes tool selection error-prone.
The set mostly follows a readable verb_noun snake_case pattern, with heavy use of get_, search_, count_, and analyze_. Minor deviations such as fetch, lookup_trademark, phonetic_search, and run_safe_analytics break the pattern slightly, but the convention is generally consistent.
64 tools is far beyond the 25-tool threshold and represents an extreme mismatch for a coherent MCP tool surface. Even though the trademark domain is broad, most of these are narrow micro-endpoints that would be better consolidated into fewer parameterized tools.
The surface is impressively broad, covering search, prosecution history, office actions, deadlines, owners, law firms, TTAB proceedings, international profiles, classifications, and goods/services drafting. The main gap is that search_trademarks references search_marks_by_pattern, which is not exposed as a tool, but otherwise the domain coverage is extensive.
Available Tools
64 toolsanalyze_prosecution_historyAnalyze Prosecution HistoryAInspect
Analyze the full prosecution history of a trademark — narrative timeline of office actions, responses, examiner decisions, and current status, with examiner-behavior patterns. For authenticated users this launches asynchronously (usually done in under a minute; longer for large file histories) and returns a processing handle used to retrieve the completed result once ready.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false (readOnlyHint, openWorldHint, idempotentHint, destructiveHint), so the description carries the burden. It discloses two important behaviors: it is asynchronous for authenticated users and returns a processing handle. These go beyond annotations and are useful for an agent to know. However, it does not explicitly state whether the operation is read-only or has side effects, though 'analyze' implies safety.
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 with zero filler. The core purpose is front-loaded, and the async behavior and handle are clearly stated. Every sentence earns 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?
With no output schema, the description explains the immediate return (a processing handle) but does not describe the final result's format. It does describe the scope of the analysis (timeline, examiner patterns, etc.), which gives a good sense of what will be produced. It also mentions the authentication requirement and async nature, which are essential for correct invocation. Minor gap: no mention of how to retrieve the result once ready, but that may be covered by another 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?
There is only one parameter, serial_number, and the schema description covers it as 'USPTO serial number' (100% coverage). The description adds no further meaning about the parameter, so it does not exceed the schema's baseline. Per the rubric, a baseline of 3 is appropriate when schema coverage is high and the description does not add parameter-specific detail.
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 clearly states the tool analyzes the full prosecution history of a trademark, listing specific components (narrative timeline, office actions, responses, examiner decisions, status, examiner-behavior patterns). This is a specific verb+resource and distinguishes it from siblings like get_prosecution_timeline (timeline only) and get_mark_prosecution_summary (summary).
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 mentions that it is for authenticated users and launches asynchronously, which is a usage condition, but it does not provide explicit guidance on when to use this tool versus alternatives such as get_prosecution_timeline or get_mark_prosecution_summary. It implies this is a deeper analysis but never states exclusions or the alternative use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_ttab_proceedingAnalyze a TTAB ProceedingAInspect
Analyze a TTAB (Trademark Trial and Appeal Board) proceeding in depth — fetches and analyzes proceeding documents, identifies key arguments, and returns a structured summary with timeline, party positions, and strategic assessment. For authenticated full-mode runs this launches asynchronously (typically 1-2 minutes) and returns a processing handle used to retrieve the completed result once ready.
| Name | Required | Description | Default |
|---|---|---|---|
| quick_mode | No | Quick mode skips lower-priority documents for faster results | |
| proceeding_number | Yes | TTAB proceeding number (e.g., "91284756") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a significant behavioral trait: asynchronous execution for authenticated full-mode runs (1-2 minutes) and the need to retrieve a processing handle. This goes beyond the annotations, which only state readOnlyHint=false and destructiveHint=false. It adds practical context for agent invocation.
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, both informative. The first sentence states purpose and outputs; the second covers the async caveat. No wasted words, and critical details are front-loaded.
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?
The description covers the output summary, async behavior, and timing, which is sufficient for a call. However, it leaves ambiguity about non-authenticated runs (only 'authenticated full-mode' is mentioned) and does not describe what the processing handle looks like. Minor gaps 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% (both quick_mode and proceeding_number have descriptions). The tool description does not add parameter-level meaning beyond the schema, so the baseline score 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?
The description uses a specific verb-resource pair ('Analyze a TTAB proceeding in depth') and enumerates concrete outputs (structured summary, timeline, party positions, strategic assessment). It clearly differentiates from sibling tools like get_ttab_proceeding_details, which presumably provide raw details rather than analysis.
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 use case is implied (in-depth analysis of a TTAB proceeding), but the description never mentions sibling alternatives or conditions for using this tool versus get_ttab_proceeding_details or search_ttab_proceedings. No exclusions are provided, so guidance remains vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_brand_availabilityCheck Brand AvailabilityARead-onlyIdempotentInspect
Quick brand-name screen: checks whether the name's domains are registered and whether the .com site is in use, looks for similar registered trademarks in the given industries or classes, and returns a screening tier (avoid, probably avoid, promising, or no close conflicts surfaced) with the top conflicts and a domain snapshot. It is a first look, not a clearance search: it does not cover common-law use, state registrations or a full goods-relatedness analysis, so a result with no conflicts means none surfaced in this screen, not that the name is available. run_knockout_search is the fuller trademark conflict search.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_name | Yes | Brand name to check | |
| industries | No | Industry categories | |
| nice_classes | No | Nice classes to check against | |
| business_description | No | Brief description of the business |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds significant context beyond those: it explains that the tool returns a screening tier and top conflicts, qualifies results as open-world ('none surfaced, not available'), and explicitly lists what the tool does not cover. This aligns with and enriches the annotations without contradiction.
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 with no filler. The first sentence front-loads the purpose and output, the second defines scope and interpretation, and the third points to the alternative. Every sentence earns its place, and the structure is perfectly scannable.
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 explicitly specifies return values (screening tier with named options, top conflicts, domain snapshot). It also covers the open-world interpretation and the boundary with run_knockout_search, giving an agent everything needed to call the tool correctly and interpret results.
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. The description adds context that industries/classes are used for the trademark screen, but it does not provide additional semantics for brand_name or business_description beyond what the schema already states. It doesn't introduce new parameter-level guidance, so 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 verb+resource ('brand-name screen') and enumerates exactly what it does: checks domain registration, .com site usage, and similar trademarks, and returns a screening tier with top conflicts and a domain snapshot. It also differentiates from run_knockout_search by calling it the fuller search, making the tool's distinct role 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?
The description explicitly states when to use the tool ('first look') and when not to rely on it ('not a clearance search'), lists the specific omissions (common-law use, state registrations, goods-relatedness), and warns that no conflicts does not mean availability. It names run_knockout_search as the alternative for deeper conflict analysis, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domain_availabilityCheck Domain AvailabilityARead-onlyIdempotentInspect
Check domain availability for a brand name. Returns status (available, parked, commercially used, or taken) for each TLD, plus .com variations (e.g., getbrand.com, brandhq.com).
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | TLDs to check. Defaults to com/ai/app/io/co when omitted. | |
| brand_name | Yes | Brand name to check (e.g., "Moonlight Coffee") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, open-world, and idempotent; the description adds meaningful behavioral detail by enumerating the possible statuses and the inclusion of .com variations. This goes beyond the annotation-only baseline without contradicting it.
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 a compact two-sentence definition with no filler. The core purpose is front-loaded and the added return detail is essential and concise.
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 simple read-only lookup tool with fully documented parameters and no output schema, the description covers both input scope and output shape. Nothing critical is missing for an agent to invoke 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%, with both brand_name and tlds already documented. The description adds no extra parameter-level semantics beyond what the schema provides, so the baseline of 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 clearly states the verb ('Check') and the resource ('domain availability for a brand name'), and it enumerates the output statuses and .com variations. It is specific enough to distinguish from sibling tools like check_brand_availability.
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 implies when to use the tool: whenever an agent needs to check domain availability for a brand. However, it provides no explicit guidance on when not to use it or how it relates to sibling tools such as check_brand_availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_marksCompare Two Marks for ConfusionARead-onlyIdempotentInspect
Compare two trademarks for likelihood of confusion using DuPont-style analysis. Returns similarity scores and risk assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_a | Yes | First trademark to compare | |
| mark_b | Yes | Second trademark to compare | |
| nice_classes | No | Nice classes for overlap analysis |
Output Schema
| Name | Required | Description |
|---|---|---|
| mark_a | Yes | |
| mark_b | Yes | |
| risk_level | Yes | |
| similarity | Yes | |
| risk_explanation | Yes | |
| open_in_gleanmark | No | |
| nice_class_overlap | Yes | |
| dupont_factors_summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds the behavioral detail of returning similarity scores and risk assessment based on DuPont factors, which is useful context. It does not describe any hidden side effects or limitations, but with annotations handling safety, a score of 3 is appropriate—credit for the methodological hint, but no contradiction.
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 short sentences: the first front-loads the action and scope, the second summarizes the output. It contains zero filler and every word contributes meaning. Perfectly sized for an agent to parse quickly.
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 the tool's moderate complexity, an output schema exists (covering return values), and annotations cover safety, the description is largely complete. It states the purpose, methodology, and output type. Minor omissions include explicit guidance on input format for trademarks (e.g., normalized strings) and any caveats about the DuPont analysis, but these do not critically impair an agent's ability to invoke 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?
Schema description coverage is 100%, so the schema already documents each parameter. The description does not add extra meaning beyond ^^'DuPont-style analysis'^^, which hints at how the parameters are used together. Since the schema carries the load, a baseline 3 is correct; the description adds no new semantics for the parameters themselves.
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 clearly states the verb 'Compare' and the resource 'trademarks', with a specific purpose ('likelihood of confusion') and methodology ('DuPont-style analysis'). It also indicates the output ('similarity scores and risk assessment'), distinguishing it from sibling tools like 'get_similar_marks' (which likely fetches similar marks for one mark) and 'check_brand_availability' (which checks availability, not confusion).
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 implies usage: when you have two trademarks and want to assess confusion risk, use this tool. However, it does not explicitly state when not to use it or mention alternatives, relying on the agent to infer from the tool's distinct purpose. No clear exclusion conditions or named alternatives like 'use get_similar_marks for one-to-many searches'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_filings_by_periodCount Trademark Filings by PeriodARead-onlyIdempotentInspect
Counts U.S. trademark applications filed across the whole register in a date range, grouped by calendar year, month or day, with each period split into U.S.-filed and Madrid Protocol (79-series) applications and the change from the previous period. Answers questions such as how many trademark applications were filed in 2025 and how that compares with 2024, or which month of a year had the most filings. Counts are one per serial number by the filing date on the USPTO record; they are calendar periods, not USPTO fiscal-year statistics, and not class counts. Returns data_through, the latest filing date on the register; recent periods grow as late records arrive.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | Last filing date to count, YYYY-MM-DD, inclusive (e.g. 2025-12-31). | |
| group_by | No | Period size. Daily counts cover at most about a year. | year |
| start_date | Yes | First filing date to count, YYYY-MM-DD (e.g. 2024-01-01). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses the counting methodology (one per serial number by filing date), the scope distinction from fiscal-year statistics, and the data freshness caveat that recent periods grow as late records arrive. This gives the agent important expectations about result stability and interpretation.
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 somewhat long but well structured: core behavior first, example questions second, caveats last. Every sentence carries useful information, and the most important scoping statement is front-loaded, though the first sentence is dense and could be split.
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 aggregate tool with no output schema, the description covers the return concept (periods, splits, change, data_through), counting rules, and data freshness. It doesn't detail the exact output shape, but it provides enough about return semantics for an agent to invoke and interpret the result 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, but the description adds genuine semantics: counts are based on filing date on the USPTO record, daily grouping covers at most about a year, and the meaning of returned periods is clarified. This goes beyond the schema's date-format and enum descriptions.
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?
Description states a precise action and resource: counts U.S. trademark applications across the whole register within a date range, grouped by year/month/day. It distinguishes itself from attribute-based counting by explicitly saying it is not class counts and covers the whole register, so an agent can tell it apart from siblings like count_trademarks_by_attributes.
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 example questions ('how many trademark applications were filed in 2025 and how that compares with 2024') and clear scope constraints: whole register, calendar periods, not USPTO fiscal-year statistics, not class counts. It does not name an alternative tool explicitly, but the exclusions effectively route an agent away from attribute-based or fiscal-year tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_trademarks_by_attributesCount Trademarks by AttributesARead-onlyIdempotentInspect
Counts and previews USPTO marks by record attributes (drawing type, standard-character claim, Nice class, status, and combinations of these), with breakdowns by mark type, standard character and class, plus how complete the underlying data is. Claimed-color criteria can be combined with these attributes; counts by color alone, rankings, lists and color vocabulary are outside its scope.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| mark_types | No | ||
| nice_classes | No | ||
| status_filter | No | Use registered for currently live registrations; live also includes pending applications. | all |
| class_match_mode | No | any | |
| color_match_mode | No | all permits additional claimed colors; only requires exactly the selected colors; only_bw also permits black/white. | all |
| standard_characters | No | ||
| claimed_color_shades | No | Exact canonical shades from the USPTO color claim. | |
| claimed_color_families | No | Normalized color families. Burgundy and maroon, for example, count as red. |
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 meaningful behavioral context beyond annotations: it previews results, provides breakdowns by mark type/standard character/class, reports data completeness, and supports combining claimed-color criteria with attributes. It also clarifies that color-alone counts are out of scope, which is a behavioral boundary not visible in the schema. Minor gap: it doesn't describe pagination or the exact shape of the preview, but the annotations carry the safety burden.
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 first sentence front-loads the core function (counts/previews by attributes) and the breakdowns, and the second sentence adds the color-combination capability and scope exclusions. Every clause earns its place, and the scope exclusion is concise rather than verbose.
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 analytics tool with 9 optional parameters and no output schema, the description covers the core purpose, the attribute dimensions, the breakdowns, data-completeness reporting, and scope exclusions. It doesn't describe the return format or pagination, but since there is no output schema, a brief note on what the preview contains would strengthen it. The annotations cover safety, and the parameter semantics are mostly inferable from the schema enums and defaults. Overall, it's nearly complete for an agent to decide whether to invoke 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 only 44%, so the description must compensate for undocumented parameters. The description adds meaning by explaining that attributes (drawing type, standard-character claim, Nice class, status) can be combined, and that claimed-color criteria can be combined with these attributes. It also clarifies the scope of color parameters (exact canonical shades vs normalized families) indirectly. However, it doesn't explain the semantics of class_match_mode, color_match_mode, or limit beyond what the schema already provides, and it doesn't detail how the parameters map to the breakdowns.
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 ('Counts and previews'), a clear resource (USPTO marks by record attributes), and enumerates the exact attribute dimensions (drawing type, standard-character claim, Nice class, status) plus combinations. It also explicitly names what is outside its scope (color-alone counts, rankings, lists, color vocabulary), which distinguishes it from siblings like search_claimed_colors and count_filings_by_period.
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 clearly implies when to use this tool: when the agent needs aggregate counts/previews of USPTO marks filtered by record attributes, with breakdowns. It explicitly excludes color-alone counts, rankings, lists, and color vocabulary, which routes the agent away from this tool for those needs. However, it does not name specific sibling alternatives (e.g., search_claimed_colors, count_filings_by_period) or state explicit when-not-to-use conditions beyond the scope exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetchARead-onlyIdempotentInspect
Retrieve the full USPTO record for one trademark, using an id returned by the search tool. Returns mark, owner, status, filing and registration dates, Nice classes, the goods and services text, and counsel of record, with a public gleanmark.com URL for citation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Document id from a search result, e.g. "uspto-72303482". A bare serial number is also accepted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds meaningful behavior beyond annotations: it lists the specific fields returned (mark, owner, status, dates, Nice classes, goods/services, counsel) and notes the public gleanmark.com citation URL. This provides useful context without contradicting 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, well-structured sentence that front-loads the core purpose, then lists return contents. No filler or redundant phrasing. Every clause adds value.
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 retrieval tool with no output schema, the description fully covers what an agent needs to know: what to pass, what it returns, and a citation URL. Combined with annotations covering safety, nothing critical 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% and already explains the id parameter thoroughly, including format and example. The description's mention of 'using an id returned by the search tool' reinforces but does not substantially expand beyond the schema. Baseline 3 is appropriate since the schema handles the 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?
States a specific verb ('Retrieve'), a precise resource ('full USPTO record for one trademark'), and the input source ('id returned by the search tool'). Clearly distinguishes itself from sibling tools like search or lookup_trademark by focusing on a single record retrieval with a given id.
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 states when to use it: 'using an id returned by the search tool.' This provides a clear precondition but does not name alternative tools for other scenarios (e.g., if only a serial number is known, one might need search first). The guidance is contextually clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chain_of_titleGet Chain Of TitleARead-onlyIdempotentInspect
Traces who has owned a trademark over time: the ownership stages the USPTO recorded, from the original applicant or registrant through each later owner, plus any recorded assignment documents GleanMark holds. Answers questions such as who owns a mark now versus who filed it, whether it was sold, transferred or assigned, and how it reached its current owner, including chain-of-title and due-diligence questions. lookup_trademark shows only the current owner. Owners listed within one stage are joint owners, not successive ones. Not a title opinion.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number of the mark, e.g. "98725143". Registration numbers are not accepted — resolve to a serial first with lookup_trademark or search_trademarks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description adds value beyond those. It discloses meaningful behavioral details: the data comes from USPTO-recorded ownership stages plus GleanMark-held assignment documents, joint owners within one stage are not successive owners, and the result is not a title opinion. A minor omission is the lack of a response-shape example, but that is not critical for a read-only chain-of-title lookup.
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 compact and front-loaded with the core function. Each sentence earns its place: scope of the trace, the types of questions answered, the sibling contrast, the joint-owner caveat, and the not-a-title-opinion disclaimer. There is no filler or redundant restatement of the tool name.
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-required-parameter, read-only tool with a fully described schema and strong annotations, this description is complete. It explains what data will be returned, how to interpret ownership stages, and when to use an alternative tool. Even without an output schema, the explicit enumeration of returned content compensates adequately.
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 serial_number parameter already has a detailed description including format, an example, and the explicit exclusion of registration numbers. The tool description itself adds no parameter-specific semantics, but the schema fully carries that burden, 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?
The description uses a specific verb ('traces') with a clear resource (trademark ownership history) and enumerates concrete outputs: ownership stages, assignment documents, and answers to due-diligence questions. It explicitly contrasts with lookup_trademark, which shows only current ownership, so an agent can distinguish this tool from its closest sibling. The 'Not a title opinion' caveat further sharpens what the tool does and does not deliver.
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 explicitly tells the agent when to use this tool versus lookup_trademark: use this for ownership history and chain-of-title questions, and use lookup_trademark when only the current owner is needed. The parameter description also directs the agent to resolve a serial number first with lookup_trademark or search_trademarks, since registration numbers are not accepted. This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_class_relationshipsGet Related Nice ClassesBRead-onlyIdempotentInspect
Look up coordinated Nice classes or related Nice classes for a given class number.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return. | |
| class_number | Yes | Nice class number to inspect. | |
| include_legacy | No | Include legacy US classes A, B, and 200 when returning coordinated classes. | |
| relationship_type | No | Whether to return USPTO coordinated classes or curated related classes. |
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 no extra behavioral context such as pagination, rate limits, or response format. It is consistent with annotations but adds nothing beyond them.
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 a single, efficient sentence that conveys the core purpose without fluff. It is front-loaded and every word earns its place, making it highly concise.
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?
The tool has 4 parameters and no output schema, so the description carries more burden. It fails to explain the semantic difference between 'coordinated' and 'related' classes, which is critical for choosing the right relationship_type. It also does not clarify what the response looks like or what happens when optional parameters are omitted. This is a significant gap for an agent to call 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?
Schema description coverage is 100%, so all four parameters are documented in the schema. The description adds minimal value by mentioning 'coordinated' and 'related' which map to the relationship_type enum, but it does not elaborate on limit, include_legacy, or defaults. Baseline of 3 is appropriate since the schema carries the 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?
The description states a clear verb ('Look up') and a specific resource (coordinated/related Nice classes for a given class number). It distinguishes between two types of relationships but does not explicitly contrast it with sibling tools like get_nice_classes or recommend_nice_classes, so it misses the explicit differentiation that would earn a 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?
There is no guidance on when to use this tool versus alternatives. No mention of when to prefer this over get_nice_classes or recommend_nice_classes, nor any exclusions or prerequisites. The agent is left to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cohort_event_intervalsCohort Event IntervalsARead-onlyIdempotentInspect
Measures the time between two prosecution events across a group of marks, e.g. the average days from Office Action to publication for marks published in Q2 2026. The group is chosen by an anchor event (preset: publication, notice_of_publication, registration, notice_of_allowance, abandonment or first_office_action, or raw event codes, where a trailing * matches a prefix) within a date window of up to 366 days; the interval runs from a start event to an end event. Returns the average, median and percentiles in days, how many marks in the group had no start event, and example marks. Samples up to max_sample marks from the start of the window and says when the sample is truncated. Event codes beyond the presets are listed by get_event_code_reference.
| Name | Required | Description | Default |
|---|---|---|---|
| end_event | No | Interval end event (first occurrence on/after the start event). Defaults to the cohort event itself. | |
| max_sample | No | Max cohort marks to measure (default 1000, max 2000). | |
| start_event | No | Interval start event (first occurrence on/before the cohort event). Defaults to first_office_action. | |
| cohort_event | No | Preset anchor event defining cohort membership (e.g. publication = PUBO). | |
| cohort_date_to | Yes | Cohort window end (YYYY-MM-DD). Required. Window max 366 days. | |
| end_event_codes | No | Alternative to end_event: raw event codes (trailing * = prefix). | |
| cohort_date_from | Yes | Cohort window start (YYYY-MM-DD). Required. | |
| start_event_codes | No | Alternative to start_event: raw event codes (trailing * = prefix). | |
| cohort_event_codes | No | Alternative to cohort_event: raw USPTO event codes; trailing * matches a prefix (e.g. "NPUB*"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral detail beyond that: sampling up to max_sample from the start of the window, disclosure of truncation, and the group-selection mechanism via anchor events and date windows. It does not contradict any annotation and gives the agent a realistic picture of how results are produced.
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 four dense sentences with no filler; the main purpose and example lead, followed by selection logic, output summary, and sampling behavior. It packs substantial information into a compact space, though a slightly more explicit break between concepts could improve scannability.
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 9 parameters, full schema coverage, and no output schema, the description covers the essential gaps: what the output contains (average, median, percentiles, count of no-start-event marks, examples), sampling/truncation, and the 366-day window cap. It does not detail the exact response structure, but the listed metrics are sufficient for an agent to invoke and interpret results.
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 100% schema description coverage, the baseline is 3, and this description adds value beyond the schema by explaining the conceptual roles of anchor event, start event, and end event, as well as the wildcard semantics for raw event codes. It also clarifies the relationship between sampling and the date window, which the schema does not convey.
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 opens with a specific verb and resource: 'Measures the time between two prosecution events across a group of marks.' It provides a concrete example (average days from Office Action to publication for Q2 2026) and enumerates anchor event presets. This clearly distinguishes it from per-mark tools like get_prosecution_timeline or get_mark_prosecution_summary.
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 intended use is implied by the description: aggregate cohort interval statistics. It explains cohort selection, window constraints, and event code flexibility, but it never explicitly says when to prefer this tool over siblings or when not to use it. The only cross-reference is to get_event_code_reference for event codes, which is auxiliary rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_correspondent_marksMarks for a CorrespondentARead-onlyIdempotentInspect
Get all trademarks handled by a specific attorney/correspondent, with prosecution event counts and office action flags. Returns marks sorted by prosecution history length. Use this for attorney-specific mark queries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum marks to return. | |
| search_term | No | Attorney name to search for (e.g., "Todd Schneider"). Will find the best match. | |
| status_filter | No | Filter marks by status. | all |
| correspondent_id | No | Alias for canonical_correspondent_id. | |
| correspondent_name | No | Alias for search_term. Preferred when the caller already knows this is a correspondent name. | |
| recent_window_days | No | How many days back to count recent office actions. Use 90 for "last 3 months". | |
| canonical_correspondent_id | No | UUID of the correspondent (from search_attorneys result). Use this if you already have the ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior, so the bar is lowered. The description adds meaningful context beyond annotations: it returns marks sorted by prosecution history length and includes event counts and office action flags. It doesn't fully disclose the meaning of 'office action flags' or any nuances of the sort, but it does add behavioral value beyond what annotations provide.
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 concise sentences with no filler. The core functionality is front-loaded ('Get all trademarks handled by a specific attorney/correspondent'), followed by return details and a usage hint. Every sentence earns its place, and it is appropriately brief for a query tool.
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?
The tool has 7 optional parameters and no output schema. The description covers the core function and return characteristics, and the schema provides full parameter documentation. However, it does not address how to choose among the redundant correspondent identifiers (search_term vs correspondent_name vs correspondent_id vs canonical_correspondent_id), which could confuse an agent. That small gap prevents a perfect score, but overall it is sufficiently complete for a read-only query tool with 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?
The schema description coverage is 100%, so baselines at 3. The description does not elaborate on parameter semantics beyond what the schema already provides. For instance, it mentions 'attorney-specific mark queries' but does not explain the multiple alias parameters (search_term, correspondent_id, correspondent_name, canonical_correspondent_id). Since the schema fully documents each parameter, the description adds minimal extra value here.
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 all trademarks handled by a specific attorney/correspondent'. It also names the key features (prosecution event counts and office action flags) and the sorting order. This clearly distinguishes it from sibling tools like get_correspondent_specialization or get_firm_correspondent_tasks, which focus on different aspects.
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 explicitly says 'Use this for attorney-specific mark queries', which gives clear context on when to invoke it. However, it does not mention alternatives or conditions when not to use it, such as when the user wants marks by owner or firm rather than a specific correspondent. That lack of exclusions keeps it at a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_correspondent_specializationCorrespondent SpecializationARead-onlyIdempotentInspect
Summarize what a named correspondent specializes in, including top clients, top Nice classes, and prosecution-versus-TTAB profile. Use this when the user asks what a specific correspondent or attorney specializes in.
| Name | Required | Description | Default |
|---|---|---|---|
| url_key | No | Known correspondent url_key, if already resolved. | |
| search_term | No | Correspondent or attorney name to resolve. | |
| top_class_limit | No | Maximum top Nice classes to return. | |
| top_client_limit | No | Maximum top clients to return. | |
| correspondent_name | No | Alias for search_term. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| summary | Yes | |
| url_key | Yes | |
| headline | Yes | |
| firm_name | No | |
| ttab_profile | Yes | |
| primary_email | No | |
| firm_detail_url | No | |
| practice_profile | Yes | |
| correspondent_name | Yes | |
| prosecution_profile | Yes | |
| correspondent_detail_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnlyHint, idempotentHint, and destructiveHint. The description adds useful behavioral context by detailing the summary content: top clients, top Nice classes, and prosecution-versus-TTAB profile. This goes beyond the annotation-only signal and gives the agent a clearer picture of what the tool will produce.
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 with no redundant filler. The core action and output contents are front-loaded, and the usage trigger is appended efficiently. Every sentence contributes to selecting and invoking the tool correctly.
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?
Combined with a fully described schema and an output schema, the description provides enough context for correct invocation. The only minor gap is the lack of explicit guidance on which identifier parameter to prefer or how resolution behaves, but this is not critical given the schema covers parameter descriptions and the output schema explains return structure.
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 every parameter. The description adds only high-level context ('named correspondent') and does not explain the relationship between url_key, search_term, and correspondent_name, nor the effect of the limit parameters. This is adequate but not additive beyond the schema baseline.
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: 'Summarize what a named correspondent specializes in.' It also enumerates the output categories (top clients, top Nice classes, prosecution-versus TTAB profile) and clearly distinguishes this from related correspondent tools by framing it around specialization rather than marks or firm-level tasks.
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 explicitly says when to use the tool: 'Use this when the user asks what a specific correspondent or attorney specializes in.' It does not name alternatives or exclusions, but the stated trigger condition is clear enough for an agent to select it over siblings like get_correspondent_marks or search_attorneys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_deadline_satisfaction_mappingDeadline Satisfaction ReferenceARead-onlyIdempotentInspect
Check what role a USPTO event code plays for a deadline type (satisfies it, triggers it, abandons it, suspends it) per the deadline vocabulary table deadline_event_roles — office action response, opposition period, Statement of Use, Section 8/9/15, post-registration office action, ITU notice.
| Name | Required | Description | Default |
|---|---|---|---|
| event_code | Yes | USPTO event code to inspect. | |
| deadline_type | Yes | Deadline family to test against. |
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 safe lookup nature is covered. The description adds useful context by naming the specific table (deadline_event_roles) and the closed vocabulary scope, but does not address edge cases like unknown event codes or missing mappings.
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?
One dense, front-loaded sentence with no filler. It conveys the action, the domain table, the possible roles, and the deadline families in a compact format.
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 simple two-parameter read-only lookup with rich annotations, the description is nearly sufficient. It names the role outcomes and deadline categories, though it leaves the exact return shape unspecified since there is no 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 description coverage is 100%, so the baseline is 3. The description restates the parameter concepts and adds grouped examples of deadline types, but it does not meaningfully extend the schema's parameter documentation.
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 ('Check') and a precise resource (the role of a USPTO event code for a deadline type) and enumerates the exact role outcomes: satisfies, triggers, abandons, suspends. It is clearly distinct from sibling lookup tools like get_event_status_mapping because it is anchored to the deadline_event_roles vocabulary table.
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 context: this is a reference lookup for event-code-to-deadline-type relationships. It does not explicitly name alternatives or when-not-to-use conditions, but the deadline vocabulary framing makes the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_code_referenceUSPTO Event Code ReferenceARead-onlyIdempotentInspect
Look up USPTO event codes used in trademark prosecution. Search by exact code, code prefix, or keyword in the event description. Returns the code, human-readable description, and category.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Exact USPTO event code or prefix (e.g., "OAIN" for exact, "OA" for prefix match). | |
| limit | No | Maximum number of results to return (default 20). | |
| search | No | Keyword to search in event descriptions (e.g., "office action", "abandoned"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be a safe read operation. The description adds useful behavioral detail beyond annotations: the search modes (exact, prefix, keyword) and the return content (code, description, category). This is more than the typical annotation-covered case, though it omits edge behavior like empty-result handling or no-parameter 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?
The description is two sentences, front-loaded with the primary verb and resource. Every clause contributes: what it looks up, how to search, and what it returns. 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?
There is no output schema, so the description appropriately explains the return fields. However, it does not clarify behavior when no parameters are provided (all are optional in schema), nor does it mention pagination or default search behavior beyond the limit parameter. This ambiguity could cause an agent to assume a search term is required, making the description incomplete for a tool with zero required parameters.
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. The description mostly restates what the schema already says about code and search. It adds minimal value by framing them as alternative search modes, but does not meaningfully supplement the parameter meanings beyond 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?
The description clearly identifies the tool's resource (USPTO event codes used in trademark prosecution) and its specific actions: look up by exact code, prefix, or keyword. It also names the return fields, making it distinct from sibling tools like get_event_status_mapping or get_reference_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?
The description implies when to use the tool (when you need to look up or decode USPTO event codes) but provides no explicit guidance on when not to use it or which alternative sibling might be more appropriate (e.g., get_event_status_mapping for status mapping). With many siblings available, this is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_status_mappingUSPTO Event Status ReferenceARead-onlyIdempotentInspect
Look up which USPTO status code and status definition most commonly follow a specific prosecution event code.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum mappings to return. | |
| event_code | Yes | USPTO event code to inspect. |
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 the nuance that results reflect 'most commonly' following statuses, implying an aggregate/probabilistic mapping rather than a guaranteed exact match. This adds value but doesn't go deeper into output behavior.
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 a single, front-loaded sentence with zero filler. It communicates the action, the resource, and the qualifying logic in under 20 words while remaining easy to parse.
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 simple two-parameter, read-only lookup, the description plus fully documented schema is largely sufficient for an agent to call it correctly. It doesn't describe alternatives or explicit output format, but it does indicate what is returned (status code and definition). The lack of an output schema is partially compensated by the description's clarity.
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 adequately documented in the schema itself. The description does not add meaning beyond what the schema provides for event_code or limit, so the baseline score 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?
The description uses a specific verb ('Look up') and resource ('USPTO status code and status definition') with a clear qualifier ('most commonly follow a specific prosecution event code'). It conveys a distinctive statistical-mapping function, though it does not explicitly differentiate itself from sibling tools like get_event_code_reference. The title is generic but the description is specific enough.
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 implies its use case: when an agent needs the most likely status code/definition for a given prosecution event code. However, it provides no explicit when-to-use, when-not-to-use, or alternative tools, which matters given many similar siblings exist. It is sufficient for an obvious lookup intent but lacks routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fame_profileFame Profile for a MarkARead-onlyIdempotentInspect
Get the full fame profile for a brand (by mark wording or brand stem): fame tier (broad/dilution-tier vs market-specific), the fame "path" it cleared (concentrated dominant family vs large multi-class portfolio), its famous class footprint, corporate-family portfolio size and class breadth, brand-stem crowding, and TTAB enforcement history. Use to explain WHY a mark is (or is not) famous, or to profile a senior mark before a §2(d) / opposition / dilution strategy. Circumstantial signal, not statutory fame proof.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_or_stem | Yes | A mark ("THE DISNEY STORE") or a bare brand stem ("disney"). Both resolve to the same family. |
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 safety is covered. The description adds value by clarifying that the output is circumstantial (not statutory proof) and by listing what the profile contains, which helps the agent interpret results. It doesn't mention performance, caching, or data sources, but with annotations covering the safety profile, this is adequate. No contradiction with 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?
The description is information-dense but well-structured: it leads with the core purpose and output components, then adds usage context and a caveat. Each sentence earns its place; nothing is wasted. It is slightly long but not bloated, and the most critical information (what the tool returns) is front-loaded. A 4 is warranted for its efficiency.
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 full burden of explaining what the agent will receive. It enumerates all major components (fame tier, path, class footprint, portfolio size, crowding, TTAB history) and clarifies the evidential weight. It also provides usage context and the parameter behavior. For a tool of this complexity, the description is complete and leaves no critical gaps.
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% for the single parameter mark_or_stem, with a clear explanation that it accepts either a full mark or a brand stem. The description repeats this concept but does not add any new semantic detail beyond the schema. Since the schema fully documents the parameter, the baseline of 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 opens with a specific verb ('Get') and a clearly defined resource ('full fame profile for a brand'), then enumerates the specific components returned (fame tier, path, class footprint, portfolio size, crowding, TTAB history). It explicitly distinguishes itself from the sibling is_mark_famous by implying this provides a detailed profile rather than a simple yes/no answer, and it adds a caveat about circumstantial vs statutory proof. The purpose is 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?
The description states concrete use cases: 'explain WHY a mark is (or is not) famous' and 'profile a senior mark before a §2(d) / opposition / dilution strategy.' It also warns that the output is 'circumstantial signal, not statutory fame proof,' which guides appropriate reliance. It does not explicitly name alternatives like is_mark_famous for quick fame checks, but the context makes the intended use clear. This is strong guidance, slightly short of naming when-not-to-use alternatives explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_firm_correspondent_tasksFirm Correspondent TasksARead-onlyIdempotentInspect
Resolves a trademark law firm and returns its action-required work: overdue deadlines and those in the next window, plus recent Office Actions from case-file events and prosecution documents, with flags for a filed response and for Section 2(d) refusals. Answers questions such as which correspondent tasks a firm has in the next 30 days or which recent Office Actions a firm has received.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum deadlines/recent OAs/task previews to return. | |
| firm_name | Yes | Law firm name or normalized key, e.g. "Imani Law" or "imanilawllp". | |
| deadline_days | No | How many days ahead to include action-required deadlines. Overdue items still in grace are also included. | |
| recent_oa_days | No | How many days back to include recent Office Actions. |
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 meaningful detail about the contents (flags, time windows, source of OAs), but does not disclose any additional behavioral aspects such as data freshness, pagination, or how firm resolution works. It adds some context beyond annotations but not extensive.
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 with zero fluff. It front-loads the core function and the components of the return, then gives concrete examples of questions it answers. Every sentence adds value and the structure is efficient.
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 tool that combines deadlines and Office Actions, the description adequately explains both components and the flags. It does not describe the return format, but there is no output schema and the description covers the essential content. Minor gaps include not specifying how 'recent' is defined (though the deadline_days and recent_oa_days params handle this) and not mentioning any limitations on firm resolution. Overall, it is sufficiently complete for an agent to use 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 coverage is 100%, so parameters are fully documented in the input schema. The description adds a bit of context by explaining what 'action-required' means and giving example queries, but it does not elaborate on parameter semantics beyond what the schema already provides. 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?
The description uses a specific verb ('resolves') and clearly identifies the resource (trademark law firm's action-required work). It enumerates exactly what is returned—overdue deadlines, next-window deadlines, recent Office Actions, and flags for filed responses and Section 2(d) refusals—which distinguishes it from siblings like get_firm_deadlines or get_latest_office_action that handle only subsets of this data.
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 provides clear context on what the tool answers ('which correspondent tasks a firm has in the next 30 days') and implicitly signals its combined scope, but it does not explicitly name alternative tools or state when to prefer this one over others like get_firm_deadlines or get_firm_oa_outcomes. The usage intent is clear, but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_firm_deadlinesFirm DeadlinesARead-onlyIdempotentInspect
Get public, system-generated trademark deadlines across marks handled by a specific law firm. Uses public firm resolution and prosecution mappings only. Does not expose any workspace, client, reminder, or user-created deadline data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of deadline rows to return. Defaults to 50. | |
| days_back | No | How far back to include overdue or recently resolved deadlines. Defaults to 60 days. | |
| firm_name | Yes | Law firm name to resolve and analyze. | |
| days_ahead | No | How far forward to look. Defaults to 365 days. | |
| status_filter | No | Deadline status filter. Defaults to active. | |
| include_opposition_period | No | Deprecated alias for include_informational_windows. Defaults to false. | |
| include_informational_windows | No | Include informational review windows such as publication opposition windows. Defaults to false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| total | Yes | |
| message | No | |
| returned | Yes | |
| days_back | Yes | |
| deadlines | Yes | |
| firm_name | Yes | |
| days_ahead | Yes | |
| is_partial | Yes | |
| status_filter | Yes | |
| counts_by_type | Yes | |
| firm_detail_url | No | |
| counts_by_status | Yes | |
| open_in_gleanmark | No | |
| matched_mark_count | Yes | |
| include_opposition_period | Yes | |
| include_informational_windows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value beyond that by disclosing the data source ('Uses public firm resolution and prosecution mappings only') and explicitly excluding workspace, client, reminder, or user-created deadlines. This gives an agent a clear picture of what is and isn't included without contradicting 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?
Two sentences, zero filler. The first sentence front-loads the core purpose, and the second adds the critical scope limitation. Every word earns its place; no redundant phrases or restatement of the 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?
Given the tool's moderate complexity (7 params, 1 required) and the presence of an output schema, the description covers the essential purpose and data scope. It does not mention pagination, firm resolution failure behavior, or edge cases, but those are secondary given the output schema and annotations. The description is adequate for an agent to decide when to call it and what to expect.
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% — every parameter (firm_name, limit, days_back, days_ahead, status_filter, include_opposition_period, include_informational_windows) has a meaningful description. The tool description itself does not add any parameter-specific semantics beyond what the schema already provides. Per the rubric, the baseline of 3 applies when the schema fully documents 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?
The description states a specific verb ('Get') and resource ('public, system-generated trademark deadlines across marks handled by a specific law firm'). It clearly distinguishes this from sibling deadline tools like get_mark_deadlines (single mark) and get_owner_deadlines (owner) by anchoring on firm-level aggregation. The phrase 'Does not expose any workspace, client, reminder, or user-created deadline data' further sharpens the scope.
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 provides clear context: it is for firm-level deadlines, public and system-generated only. This implies when to use it (aggregate deadlines across a firm's marks) but does not explicitly name alternatives or state when not to use it. There is no mention of 'use get_mark_deadlines for a single mark' or similar routing, so it falls short of an explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_firm_oa_outcomesFirm Office Action OutcomesARead-onlyIdempotentInspect
Resolve a trademark law firm and compute mark-level Office Action outcome rates: how many firm-handled marks registered after receiving an OA, raw and excluding pending matters. Use this for questions like "what percentage registered after an OA?" or "OA success rate for this firm".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum examples to return in each outcome bucket. | |
| firm_name | Yes | Law firm name or normalized key, e.g. "Imani Law" or "imanilawllp". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds behavioral detail by clarifying the computation includes both raw rates and rates excluding pending matters, which is useful context. It does not contradict annotations and provides meaningful nuance about the output.
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 with zero waste. The core function is front-loaded, followed by concrete example queries that immediately ground the agent. No redundant information is present.
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 convey what the tool returns. It mentions raw and excluding pending rates, implying counts or percentages, and the limit parameter implies examples. However, it doesn't explicitly state the structure of the returned data (e.g., buckets, examples, percentages). For a tool with moderate complexity, this is a notable gap, though not critical for basic usage.
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 both parameters (firm_name and limit) documented in the input schema. The description does not add additional meaning beyond the schema; it only references resolving a firm, which is already implied by the firm_name parameter. Per rubric, baseline 3 is appropriate when schema fully covers 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 clearly identifies the tool's function: resolving a trademark law firm and computing mark-level Office Action outcome rates. It distinguishes from siblings by specifying firm-level aggregation, which is not covered by other tools like get_latest_office_action or research_office_action that operate per-mark. The verb 'resolve and compute' is specific and the resource is well-defined.
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 explicitly states when to use the tool with example queries ('what percentage registered after an OA?' or 'OA success rate for this firm'). It provides clear usage context, though it doesn't mention when not to use it or alternative tools. Since no sibling directly overlaps, the guidance is sufficient for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_firm_top_correspondentsTop Correspondents at a FirmARead-onlyIdempotentInspect
Ranks the correspondents or attorneys within one named law firm by filing volume, with prosecution and TTAB activity counts. Answers questions such as who the top correspondents at Fross Zelnick Lehrman & Zissu are.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum correspondents to return. | |
| firm_name | Yes | Law firm name or normalized firm key. |
Output Schema
| Name | Required | Description |
|---|---|---|
| summary | Yes | |
| headline | Yes | |
| returned | Yes | |
| firm_name | Yes | |
| leader_name | No | |
| presentation | Yes | |
| firm_detail_url | No | |
| leader_detail_url | No | |
| leader_total_filings | Yes | |
| total_correspondents | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds valuable behavioral context by disclosing the ranking order (by filing volume) and that prosecution and TTAB activity counts are included, which goes beyond the structured annotation fields. It does not overstate or contradict 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?
Two sentences with no filler: the core behavior is front-loaded in the first clause, and the example question reinforces the intended query pattern. Every sentence earns 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 simple ranked-list tool with a fully covered input schema, rich annotations, and an output schema, the description is nearly complete. It lacks only an explicit pointer to alternative tools for related but different questions, such as a single correspondent's marks or specialization.
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. The description confirms firm_name refers to a named law firm but does not add anything about limit or accepted key formats beyond the schema, so it neither improves nor worsens parameter clarity.
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?
Description uses a specific verb ('Ranks') and clearly identifies the resource ('correspondents or attorneys within one named law firm') and the ranking criterion ('by filing volume'). The mention of prosecution and TTAB activity counts further distinguishes it from sibling tools like get_firm_correspondent_tasks or get_top_filers.
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 implies the use case with an example question ('who the top correspondents at Fross Zelnick...'), so an agent can infer when to call it. However, it gives no explicit when-to-use guidance, no exclusions, and does not compare against alternative tools such as search_attorneys or get_firm_correspondent_tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_office_actionLatest Office Action for a MarkARead-onlyIdempotentInspect
Returns the most recent Office Action for a trademark serial number, the latest recorded response if there is one, and the refusal grounds parsed from the Office Action text, with the cited registration numbers. refusal_grounds is taken from the text of the action, not from the document title.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
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 agent knows it is a safe read operation. The description adds a meaningful behavioral nuance: refusal_grounds is parsed from the text of the action, not the document title, and the response is 'if there is one.' It does not cover edge cases (e.g., missing serial number or no office action), but the safety profile is well covered by 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?
The description is a single, dense sentence that front-loads the primary purpose and includes necessary details about the response and refusal grounds. There is no redundant wording, but it is slightly long and could benefit from splitting into two sentences for readability. Overall it is efficient and earns 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 tool with only one parameter and annotations covering safety, the description is fairly complete: it lists all key outputs (latest office action, latest response, refusal grounds with cited regs) and clarifies the parsing source. It does not explain what happens if no office action exists or how to handle errors, but these are minor gaps for such a simple tool. Given the absence of an output schema, the description covers the essentials.
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 schema already provides a clear description of the only parameter (serial_number: 'USPTO serial number'), achieving 100% schema description coverage. The tool description does not add any further parameter-specific semantics, so the baseline of 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 states a specific verb ('Returns') and a specific resource ('most recent Office Action for a trademark serial number'), and it additionally details the extra outputs (response and refusal grounds with cited registration numbers). This clearly distinguishes it from sibling tools like get_prosecution_document or research_office_action, which have different scopes.
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 explicit guidance on when to use this tool versus alternatives. It does not mention scenarios where another sibling (e.g., research_office_action for deeper analysis or get_prosecution_document for a specific document) would be more appropriate. The only implicit cue is 'most recent,' but no exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_ai_summaryAI Summary of a MarkARead-onlyIdempotentInspect
Get an AI-generated deep-dive summary of a specific trademark. Covers mark details, goods/services, status, owner, prosecution context, and any active legal proceedings.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds value beyond that by disclosing the output is AI-generated and synthesized, which signals non-deterministic or interpretive content, and by scoping exactly what the summary covers. No contradiction with 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?
Two sentences with no filler. The first sentence front-loads the action and resource; the second sentence earns its place by enumerating the summary's scope. Nothing is redundant with the schema or annotations.
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 tool with one well-documented parameter, read-only annotations, and no nested objects, the description is nearly complete: it states what the tool does and what the output covers. The only gap is that no output schema exists and the description does not hint at the output format (e.g., natural-language narrative vs. structured fields), though 'deep-dive summary' strongly implies a narrative result.
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% — the single required parameter serial_number is already described as 'USPTO serial number'. The description adds no format, validation, or usage detail beyond the schema, so it rests at the baseline 3 for high-coverage cases.
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 an AI-generated deep-dive summary of a specific trademark') and enumerates coverage areas (mark details, goods/services, status, owner, prosecution context, legal proceedings). This implicitly separates it from focused siblings like get_mark_prosecution_summary, but it never names a sibling or draws an explicit contrast, so it stops short of a 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 description implies this is the go-to high-level overview tool for a mark, and the 'Covers...' list hints at when it is appropriate. However, there is no explicit statement of when to choose it over get_mark_prosecution_summary, get_owner_ai_summary, or lookup_trademark, and no exclusions are given. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_deadlinesDeadlines for a MarkARead-onlyIdempotentInspect
Get public, system-generated trademark deadlines for a specific mark. Accepts a serial number directly or resolves a mark name to a specific serial first. Does not expose any workspace, client, reminder, or user-created deadline data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of deadline rows to return. Defaults to 50. | |
| days_back | No | How far back to include overdue or recently resolved deadlines. Defaults to 60 days. | |
| days_ahead | No | How far forward to look. Defaults to 365 days. | |
| subject_name | No | Specific mark text or serial-number-like query. Use when the user names the mark instead of giving a serial. | |
| serial_number | No | USPTO serial number for the specific mark. | |
| status_filter | No | Deadline status filter. Defaults to active. | |
| include_opposition_period | No | Deprecated alias for include_informational_windows. Defaults to false. | |
| include_informational_windows | No | Include informational review windows such as publication opposition windows. Defaults to false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| total | Yes | |
| message | No | |
| returned | Yes | |
| days_back | Yes | |
| deadlines | Yes | |
| mark_name | No | |
| days_ahead | Yes | |
| is_partial | Yes | |
| owner_name | No | |
| serial_number | No | |
| status_filter | Yes | |
| counts_by_type | Yes | |
| counts_by_status | Yes | |
| open_in_gleanmark | No | |
| include_opposition_period | Yes | |
| include_informational_windows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds value by clarifying the data scope (public, system-generated) and the exclusion of workspace/client/user-created data. It does not describe edge cases like not-found behavior, but that is acceptable given 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?
Two sentences deliver the full purpose, input modes, and exclusions without waste. The key scope is front-loaded, making it easy for an agent to parse quickly.
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 an output schema present, return format is not needed. The description covers how to specify the mark (serial or name), the data scope (public, system-generated), and what is excluded. Defaults are in the schema. It is complete for a read-only query tool, though it could mention resolution behavior in more detail if that were a common failure point.
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 eight parameters are documented in the schema. The description's mention of 'resolves a mark name to a specific serial first' slightly reinforces subject_name but adds no new semantics beyond the schema. Baseline 3 is appropriate given high coverage.
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 clearly states the tool gets public, system-generated trademark deadlines for a specific mark, and specifies input modes (serial number or resolving a mark name). It distinguishes itself from sibling deadline tools (firm, owner) by explicitly noting it does not expose workspace, client, reminder, or user-created deadlines.
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 context: it is for public system-generated deadlines for a specific mark, and it explicitly states what it does not expose, implying when not to use it. However, it does not name alternative tools (e.g., get_firm_deadlines) directly, so it falls short of explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_international_profileInternational Filings for a MarkARead-onlyIdempotentInspect
Get the international / foreign footprint of a U.S. trademark by serial number: its Madrid Protocol international registration (IR number, date, status, renewal), whether it was filed as a 66(a) Madrid extension, Madrid maintenance (§8/§15, renewal), and the foreign applications/registrations it claims as priority or basis (country, registration number, dates). Use this for ANY question about a mark's foreign, international, Madrid Protocol, WIPO, or EUIPO registrations. Data comes from USPTO records, so it is only available for marks with a USPTO record — it does not query WIPO/EUIPO live.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond that: the data source is USPTO records, so coverage is limited to marks with USPTO records, and it is not a live query against WIPO/EUIPO. This prevents an agent from over-trusting the result or expecting real-time international data.
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 front-loaded with the core purpose, then lists the data fields, then the intended use case, then the data-source caveat. Every sentence adds distinct value and nothing is redundant with the schema or annotations.
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-required-parameter read-only tool with strong annotations, the description fully covers what an agent needs to know: what the tool does, what data it returns, when to use it, and its critical limitation regarding live WIPO/EUIPO data. No output schema exists, but the description enumerates the returned fields sufficiently.
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 only parameter, serial_number, is already described as 'USPTO serial number' in the schema. The description reinforces the context by saying 'by serial number,' but it does not add format, validation, or usage details beyond what the schema provides. 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?
The description opens with a specific verb and resource ('Get the international / foreign footprint of a U.S. trademark by serial number') and enumerates the exact data elements returned: IR number/date/status, 66(a) extensions, Madrid maintenance, and foreign priority filings. This level of specificity clearly differentiates it from sibling mark-related tools like get_mark_deadlines or get_mark_ai_summary.
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 an explicit invocation rule: 'Use this for ANY question about a mark's foreign, international, Madrid Protocol, WIPO, or EUIPO registrations.' It also states an important limitation — data is only from USPTO records and does not query live WIPO/EUIPO — which helps an agent avoid misusing it for live international data. It does not name alternative tools, but the guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_owner_landscapeOwner Landscape for a MarkARead-onlyIdempotentInspect
Show which owners hold marks matching a shared trademark term and summarize what else those owners have in their broader portfolios. Use this for crowded owner-landscape questions like "Which companies own a trademark for COMET?" or "Who owns trademarks for GLEAN?" Returns the matching owners ranked by footprint, with each owner's wider portfolio context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of owners to return. | |
| mark_text | Yes | Trademark term to analyze across owners, such as COMET or GLOW. | |
| match_mode | No | How to match the mark text: contains, exact, or starts_with. | contains |
| nice_classes | No | Optional Nice classes to narrow the landscape. | |
| status_filter | No | Optional status filter. Default is live. | live |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| owners | No | |
| summary | Yes | |
| headline | Yes | |
| returned | Yes | |
| mark_text | Yes | |
| match_mode | Yes | |
| leader_name | No | |
| nice_classes | Yes | |
| status_filter | Yes | |
| leader_detail_url | No | |
| total_matching_marks | Yes | |
| total_matching_owners | Yes | |
| total_matching_live_marks | Yes | |
| leader_matching_mark_count | Yes | |
| leader_total_portfolio_mark_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, covering the safety profile. The description adds the behavioral detail that results are 'ranked by footprint' and include 'wider portfolio context,' which is useful. It does not disclose pagination or any rate limits, but given the annotations, the added context is sufficient. No contradictions with 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?
The description is two sentences long, front-loads the core action ('Show which owners hold marks...') and then provides usage guidance and an example. There is zero waste; every sentence earns its place. The structure is logical: purpose first, then when to use, then what it returns.
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?
The tool has an output schema (context signals confirm this), so the description does not need to detail the return structure. It does state the output concept ('Returns the matching owners ranked by footprint, with each owner's wider portfolio context'), which is sufficient for an agent to understand the result. With 5 parameters, 1 required, and full schema coverage, the description is complete for a read-only landscape 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 description coverage is 100%, so all five parameters are already documented in the schema. The description adds marginal value by giving examples of mark_text ('COMET or GLOW') and mentions ranking by footprint, but it does not elaborate on individual parameter semantics beyond what the schema provides. Baseline 3 is appropriate since 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 clearly states the tool's purpose: 'Show which owners hold marks matching a shared trademark term and summarize what else those owners have in their broader portfolios.' It uses specific verbs (show, summarize) and a specific resource (owners holding matching marks). This distinguishes it from siblings like get_similar_marks (which focuses on marks, not owners) and search (which is broader). The examples ('COMET', 'GLEAN') further clarify the scope.
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 explicitly states when to use it: 'Use this for crowded owner-landscape questions like ...' and gives concrete examples. It does not explicitly name alternatives or state when not to use it, but the purpose is clear enough that an agent can infer it is not for single-mark analysis or similarity searches. A clear 'when not to use' clause is missing, but the provided guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mark_prosecution_summaryProsecution Summary for a MarkARead-onlyIdempotentInspect
Get a compact prosecution summary for a trademark serial number. Returns current status, document counts, latest office action/response dates, milestones, and the latest key event.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the tool's safety profile is well covered. The description adds useful behavioral context by specifying exactly what the summary contains, which helps set expectations even without an output 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 action front-loaded and the returned information presented as a tight enumeration. There is no filler, redundancy, or unnecessary background.
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 simple, single-parameter, read-only summary tool, the description covers the main output contents and the annotations cover safety. It does not address edge cases or serial-number formatting, but the schema and annotations already handle the critical structured context.
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 parameter is already described as a 'USPTO serial number.' The description only repeats this as 'trademark serial number' without adding format, normalization, or example guidance, so it meets the baseline but adds no extra semantic value.
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 ('Get') and identifies the resource as a 'compact prosecution summary' for a trademark serial number. It then enumerates concrete return components (current status, document counts, dates, milestones, latest key event), which distinguishes it from siblings like get_prosecution_timeline, get_latest_office_action, and get_mark_ai_summary.
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 implies usage for a quick overview via 'compact' and 'latest key event,' but it does not explicitly name alternatives or provide when-not-to-use guidance. An agent could infer the difference from get_prosecution_timeline or analyze_prosecution_history, but the route is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nice_classesLook Up Nice ClassesARead-onlyIdempotentInspect
Get information about Nice Classification classes used for trademark registration. Lookup specific class numbers or search for classes by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| search_term | No | Search term to find relevant classes (e.g., "software", "clothing", "restaurant") | |
| class_numbers | No | Specific class numbers to look up (1-45) |
Output Schema
| Name | Required | Description |
|---|---|---|
| classes | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds context about trademark registration and the two lookup modes, but it does not disclose result limits, behavior when no matches are found, or whether both parameters can be combined. No contradiction with 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?
Two sentences with no filler. The main action and resource are front-loaded, followed immediately by the two invocation modes. Every sentence earns 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 simple read-only lookup with two optional, fully described parameters and an output schema, the description covers the essential purpose and usage modes. The only notable gap is the lack of guidance on combining or choosing between the two parameters and how the tool relates to the recommendation sibling.
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%: both search_term and class_numbers have detailed descriptions with examples, ranges, and length constraints. The description merely restates the two modes without adding meaning 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?
The description uses a specific verb and resource: 'Get information about Nice Classification classes used for trademark registration.' It clearly states the two lookup modes: specific class numbers or keyword search. It does not explicitly differentiate from siblings like recommend_nice_classes, but the direct lookup framing is clear enough.
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 implies when to use the tool—when you need class information by number or keyword—but it gives no explicit guidance on when to prefer this over alternatives such as recommend_nice_classes or search_goods_services. There are no exclusions or when-not-to-use notes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_ai_summaryAI Summary of an OwnerARead-onlyIdempotentInspect
Get an AI-generated strategic analysis of a trademark owner. Covers brand protection philosophy, litigation posture, portfolio evolution, class distribution, and likely future behavior. Results are cached for 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| normalized_owner | Yes | Normalized owner name (lowercase, no punctuation, e.g., "appleinc", "homeboxofficeinc"). Use search_by_owner first to find the correct normalized name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds value by disclosing that 'Results are cached for 30 days' – a concrete behavioral trait not present in annotations. It also outlines the analytical scope, giving the agent expectations about the output's content. No behavioral contradictions.
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, zero filler. The first sentence states the core purpose; the second lists covered content and caching behavior. It is front-loaded and every word earns 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?
Given the simple single-parameter API, annotations that cover safety/idempotency, and the descriptive scope of the summary, the description is largely complete. It includes the prerequisite to search_by_owner and the caching detail. The lack of an output schema means return format isn't specified, but for a summary-generation tool, the content description is sufficient 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 the baseline is 3. The main description does not add any parameter-specific meaning beyond what the schema already provides. The schema's parameter description is helpful (covers format and instructs to use search_by_owner), but the description itself contributes no additional semantic enrichment.
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 opens with a specific verb-resource pair: 'Get an AI-generated strategic analysis of a trademark owner.' It explicitly distinguishes from sibling tools like get_mark_ai_summary by owner scope, and the listed content areas (brand protection philosophy, litigation posture, portfolio evolution, class distribution, future behavior) make the purpose unmistakable. This is far beyond a tautology.
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 context for when to use the tool: when an AI-driven strategic owner analysis is needed. The parameter description adds a strong prerequisite: 'Use search_by_owner first to find the correct normalized name.' It doesn't explicitly mention when not to use it or alternatives, but the context is unambiguous enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_deadlinesDeadlines for an OwnerARead-onlyIdempotentInspect
Get public, system-generated trademark deadlines across a specific owner’s marks. Uses public USPTO owner resolution only. Does not expose any workspace, client, reminder, or user-created deadline data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of deadline rows to return. Defaults to 50. | |
| days_back | No | How far back to include overdue or recently resolved deadlines. Defaults to 60 days. | |
| days_ahead | No | How far forward to look. Defaults to 365 days. | |
| owner_name | Yes | Owner name to resolve and analyze. | |
| status_filter | No | Deadline status filter. Defaults to active. | |
| include_opposition_period | No | Deprecated alias for include_informational_windows. Defaults to false. | |
| include_informational_windows | No | Include informational review windows such as publication opposition windows. Defaults to false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| total | Yes | |
| message | No | |
| returned | Yes | |
| days_back | Yes | |
| deadlines | Yes | |
| days_ahead | Yes | |
| is_partial | Yes | |
| owner_name | Yes | |
| status_filter | Yes | |
| counts_by_type | Yes | |
| counts_by_status | Yes | |
| owner_detail_url | No | |
| open_in_gleanmark | No | |
| matched_mark_count | Yes | |
| include_opposition_period | Yes | |
| include_informational_windows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, non-destructive behavior. The description adds meaningful context beyond that: it only uses public USPTO owner resolution, only returns system-generated deadlines, and explicitly excludes workspace/client/reminder/user-created deadlines. This helps an agent understand data provenance and limitations without contradicting 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?
The description is two sentences with no filler. The first sentence front-loads the core operation and scope; the second states the privacy/data-source limitations. Both sentences earn their place and the description remains highly scanable.
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?
The description, combined with the annotations, output schema, and 100% schema coverage, gives an agent everything needed to select and call the tool correctly. It clarifies data scope, exclusions, and the owner-level perspective without needing to repeat parameter or return-value details already present in structured fields.
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 seven parameters are already documented in the schema. The description does not add parameter-specific detail, though the owner-scoping language reinforces the meaning of owner_name. This meets the baseline for a fully schema-documented tool.
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 public, system-generated trademark deadlines for a specific owner's marks. The owner-level scope clearly differentiates it from firm- and mark-level siblings like get_firm_deadlines and get_mark_deadlines. It also explicitly disclaims workspace, client, reminder, and user-created data, making its scope 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?
Provides clear selection context by emphasizing public USPTO owner resolution and system-generated data, and explicitly says it does not expose workspace, client, reminder, or user-created deadline data. However, it does not name sibling alternatives outright or state explicit 'use this instead when...' guidance, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_filing_trendsOwner Filing TrendsARead-onlyIdempotentInspect
Get a trademark owner's filing trends over time — yearly filing counts broken down by Nice class. Shows how the owner's trademark portfolio has evolved.
| Name | Required | Description | Default |
|---|---|---|---|
| end_year | No | End year (default: current year) | |
| owner_name | Yes | Owner name as shown in USPTO records (e.g., "NIKE, INC."). Use search_by_owner first to find the exact name. | |
| start_year | No | Start year (default: 2000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds the output detail (breakdown by Nice class) but does not disclose behavioral traits like pagination, data freshness, or rate limits. With annotations covering the core behavior, a 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?
Two sentences with no filler. The core purpose and output are front-loaded, and every word contributes. This is an exemplar of concise, structured documentation.
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 convey what the tool returns; it does so by stating 'yearly filing counts broken down by Nice class' and 'shows how the owner's trademark portfolio has evolved.' This is sufficient for an agent to know the expected result, though the exact structure (e.g., list vs. object) is not specified. Given the simple parameter set and read-only nature, this is near-complete.
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% – all three parameters (owner_name, start_year, end_year) are already documented in the schema. The description does not add any parameter-specific meaning beyond what the schema provides, 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?
The description states a specific action (get) on a specific resource (trademark owner's filing trends) and provides detailed scope: yearly filing counts broken down by Nice class, plus the purpose (showing portfolio evolution). This clearly distinguishes it from sibling tools like count_filings_by_period or get_owner_ai_summary.
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 implies the tool is used when you need filing trends over time, but it does not explicitly state when to prefer this over alternatives such as count_filings_by_period or get_top_filers. The parameter description for owner_name mentions using search_by_owner first, which is a prerequisite but not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_goods_keywordsOwner Goods & Services KeywordsBRead-onlyIdempotentInspect
Get the most frequent goods/services keywords for a trademark owner. Shows what products and services the owner focuses on, useful for understanding their brand strategy and identifying class patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max keywords to return | |
| owner_name | Yes | Owner name as shown in USPTO records (e.g., "NIKE, INC."). Use search_by_owner first to find the exact name. |
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 a behavioral detail about what it shows (products/services focus), which is useful but not extensive. No contradiction with 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?
Two sentences, no fluff, action verb front-loaded. Every word contributes to purpose or value. Perfectly concise.
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 simple read-only tool with 2 parameters and no output schema, the description explains the purpose and expected result (most frequent keywords). It could mention the output format or any pagination, but given the simplicity, it is largely complete.
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% for both parameters (limit and owner_name), so the baseline is 3. The description does not add extra semantic detail beyond the schema; it only reiterates that the tool surfaces focus areas, which is not parameter-specific.
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 clearly states the verb 'Get' and the resource 'most frequent goods/services keywords for a trademark owner', which is specific and not a tautology. It does not explicitly name sibling tools to differentiate, but the resource is distinct enough among the many search and analytics tools.
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 offers a high-level purpose ('useful for understanding their brand strategy') but no explicit guidance on when to use this tool versus alternatives. The schema includes a note to use search_by_owner first, but the main description itself provides no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_ttab_enforcementTTAB Enforcement History for an OwnerARead-onlyIdempotentInspect
Analyze one trademark owner's TTAB enforcement in a single call. Filters and counts only target marks that actually satisfy the requested class, mark-type, and claimed-color criteria; separately reports all targets attached to qualifying proceedings. Supports exact class-only questions with target_class_match=only. Claimed-color metadata identifies candidate marks but does not prove color was alleged in the pleading; use analyze_ttab_proceeding for that evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Use plaintiff for proceedings the owner initiated. | plaintiff |
| limit | No | ||
| date_to | No | Inclusive filing-date end in YYYY-MM-DD format. | |
| date_from | No | Inclusive filing-date start in YYYY-MM-DD format. | |
| owner_name | Yes | Owner name, including a likely typo such as "Niked" for NIKE, Inc. | |
| target_classes | No | Nice classes required on the qualifying challenged/target marks. | |
| proceeding_types | No | ||
| target_mark_types | No | ||
| include_extensions | No | Include Extensions of Time to Oppose, reported separately from substantive cases. | |
| target_class_match | No | any = at least one selected class; all = every selected class; only = exactly the selected class set and no others. | any |
| include_owner_marks | No | Include the enforcing owner's asserted marks. Leave false for class/type/color target lists to keep the result compact. | |
| target_claims_color | No | When true, require a USPTO color claim on each qualifying target mark. | |
| target_color_families | No | Optional normalized color families that qualifying target marks must claim. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description correctly aligns with a read-only analysis tool. It goes further by disclosing an important data limitation: claimed-color metadata identifies candidates but does not prove color was alleged in the pleading, and it explains that qualifying filters apply only to target marks while all attached targets are reported separately.
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?
Four sentences cover purpose, core filtering behavior, an edge-case usage, and a critical caveat with no wasted words. The most important identity statement is front-loaded, and each subsequent sentence adds distinct information rather than restating 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 tool with 13 parameters, this description covers the essential analytical behavior, a key invocation pattern, and the most likely misinterpretation. The lack of an output schema means some return-shape ambiguity remains, but the description's focus on counts and separately reported targets mitigates that 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?
With 77% schema coverage, the schema handles most parameter meaning, but the description adds value beyond it: target_class_match=only is tied to exact class-only questions, and the claimed-color fields are clarified as metadata-based rather than proof of pleading allegations. This helps an agent interpret the color and class parameters correctly without repeating the full 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?
The description opens with a specific verb and resource: 'Analyze one trademark owner's TTAB enforcement in a single call.' It then clarifies the tool's distinct filtering-and-counting behavior and explicitly names analyze_ttab_proceeding as the sibling to use when color allegations must be proven, distinguishing this tool from an obvious alternative.
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 context for the tool's analytical role and explicitly routes color-evidence questions to analyze_ttab_proceeding. It also calls out the exact-class-only use case via target_class_match=only, but it does not contrast this tool with get_owner_ttab_stats or other enforcement-related siblings, so the guidance is useful but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_owner_ttab_statsTTAB Statistics for an OwnerARead-onlyIdempotentInspect
Returns a compact TTAB history for one owner: counts of inter partes proceedings, oppositions, cancellations, extensions of time to oppose and appeals, broken down by the owner's role. The total counts every record, including extensions and cases the owner defended, so it is not the number of oppositions the owner started. get_owner_ttab_enforcement covers date ranges and the marks and classes challenged.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filter to a specific year | |
| limit | No | ||
| owner_name | Yes | Owner name to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/destructive safety, so the burden is low, but the description adds a critical caveat: the total counts every record including extensions and defended cases, not just oppositions the owner started. This prevents a common misinterpretation.
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 with no filler: the first states the result, the second clarifies the counting semantics, and the third routes to the sibling. Information is front-loaded and every sentence earns 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 simple 3-parameter stats tool with full safety annotations, the description explains what the counts include and exclude and where to go for more detail. It does not describe the exact return shape, but the count categories are specified, so no critical usage information 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 covers owner_name and year; description reinforces 'one owner' but offers no additional meaning for the limit parameter. With 67% coverage, the description provides modest value but does not fully compensate for the undocumented limit.
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?
Description opens with a specific verb and resource ('Returns a compact TTAB history for one owner') and enumerates the exact count categories, making it clear what the tool produces. It also names the sibling get_owner_ttab_enforcement, which helps distinguish scope.
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 explicitly contrasts this tool with get_owner_ttab_enforcement, noting that the sibling covers date ranges and the marks and classes challenged. This tells an agent when to prefer the sibling without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_prosecution_documentGet a Prosecution DocumentARead-onlyIdempotentInspect
Retrieve one specific USPTO prosecution document by the stable document_id returned from list_prosecution_documents, USPTO document id, code, or date. Returns the working USPTO document link, extraction/readability status, cached document text, and optional query-centered excerpts. Use text_query when the user asks what the document says about a particular issue. Call with serial_number alone and it returns the list of documents on file (newest first) so you can pick one — no separate list_prosecution_documents call needed.
| Name | Required | Description | Default |
|---|---|---|---|
| max_chars | No | ||
| text_query | No | Optional word or phrase; returns up to five excerpts centered on matches. | |
| document_id | No | Stable GleanMark document UUID; the exact selector. Omit every selector to get the list of documents for this serial and pick one from it. | |
| document_code | No | Document code such as NFIN, FREF, ROA, or RFR. | |
| document_date | No | Exact document date in YYYY-MM-DD. | |
| serial_number | Yes | Eight-digit USPTO serial number. | |
| uspto_document_id | No | USPTO document identifier from list_prosecution_documents. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral context on top: the list-returning fallback when no selector is supplied, the returned fields (link, extraction status, cached text, excerpts), and the document-list shortcut. It is transparent without contradicting 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?
Three focused sentences with no filler. The core retrieval behavior is front-loaded, followed by the return summary and practical usage tips. Every sentence earns 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?
Given no output schema and seven parameters, the description covers the essential invocation paths, return content, and fallback behavior well. It does not explicitly explain max_chars' effect on returned text, which is the one parameter without a schema description, but the overall guidance is sufficiently complete for correct use.
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 high at 86%, so the baseline is 3. The description adds meaning beyond the schema by explaining that document_id is stable and returned from list_prosecution_documents, that text_query yields query-centered excerpts, and that serial_number alone returns the document list. This meaningfully supplements the parameter documentation.
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-resource pair: 'Retrieve one specific USPTO prosecution document', and clearly distinguishes this single-document retrieval tool from list_prosecution_documents. It also names the key selectors, making the tool's identity immediately clear.
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 explicit usage guidance: use text_query when the user asks what a document says about an issue, and call with serial_number alone to get the document list without a separate list_prosecution_documents call. This effectively tells the agent when and how to invoke this tool versus its closest sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_prosecution_timelineProsecution TimelineARead-onlyIdempotentInspect
Get the prosecution timeline for a trademark — chronological list of office actions, responses, and key events (publication, registration, suspension, etc.). Raw data without AI analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds that the output is chronological and raw, but does not disclose any pagination, filtering, or error behavior. Given the annotations cover the safety profile, the description provides moderate additional context but not rich behavioral detail.
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 concise sentences, front-loaded with the primary purpose and immediately followed by a clarifying list of contents. There is zero waste, and the 'Raw data without AI analysis' note is succinct and valuable for sibling differentiation.
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 simple getter with one parameter, no output schema, and annotations covering safety, the description provides sufficient context: what the tool returns (chronological list of events) and its nature (raw data). It does not mention response format or error handling, but these are minor given the tool's simplicity.
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 parameter serial_number, which is described as 'USPTO serial number.' The description does not add any additional meaning 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?
The description clearly states the tool gets a prosecution timeline for a trademark, listing specific event types (office actions, responses, publication, registration, suspension). It distinguishes itself from analysis tools by explicitly saying 'Raw data without AI analysis,' which sets it apart from siblings like analyze_prosecution_history. The verb-resource pairing is precise.
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 implies when to use it (when raw chronological data is needed) and implicitly contrasts with AI analysis tools. However, it does not explicitly name an alternative tool or state a condition like 'use analyze_prosecution_history for analysis.' The guidance is clear but not fully explicit about exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reference_lookupReference Data LookupARead-onlyIdempotentInspect
Look up USPTO or TTAB reference codes and small lookup tables such as status codes, statement types, legal entity types, Nice classes, design codes, and TTAB proceeding/status/role codes.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Exact code to look up when known. | |
| limit | No | Maximum entries to return. | |
| query | No | Free-text search across code descriptions and labels. | |
| after_code | No | Cursor from next_after_code for the next page when browsing a reference table without code/query filters. | |
| reference_type | Yes | Which small lookup/reference table to search. |
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 agent knows it's safe. The description adds context about the scope (USPTO/TTAB codes and small tables) but doesn't elaborate on return format, pagination behavior beyond the schemas, or any limitations. It does not contradict 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?
The description is a single sentence that is concise and information-dense. It front-loads the purpose (look up reference codes) and then lists example categories. No filler words. It earns a high score for being efficiently structured, though it could be slightly more explicit about usage exclusions.
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 that the tool has 5 parameters with full schema coverage, no output schema, and no nested objects, the description covers the core purpose. It lacks details on which specific reference types are included (though the enum covers that) and doesn't mention edge cases like when to use code vs query. However, for a lookup tool, the schema plus annotations suffice for an agent to call it correctly. Minor gaps: no mention of return format or error cases.
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%, meaning all five parameters are documented in the schema. The description mentions 'look up codes and small lookup tables' which aligns with the reference_type enum, but it doesn't add meaningful semantic detail beyond the schema. For example, it doesn't explain the relationship between code and query, or the after_code pagination cursor. Baseline 3 is appropriate since schema covers semantics fully.
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 clearly identifies the tool's purpose: looking up USPTO or TTAB reference codes and small lookup tables. It uses a specific verb ('look up') and lists the resource categories (status codes, statement types, legal entity types, Nice classes, design codes, TTAB codes). It distinguishes itself from siblings like get_nice_classes and get_event_code_reference by covering broader reference tables, though it doesn't explicitly name them.
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 implies when to use: when needing to look up reference codes or enum-like values. However, it does not explicitly mention when to use alternatives like get_nice_classes or get_event_code_reference, nor does it state when not to use this tool. The context suggests it's for small lookup tables, but the distinction from similar tools is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_similar_marksFind Similar MarksARead-onlyIdempotentInspect
Find USPTO trademarks similar to a given mark name. Uses examiner-style knockout search with phonetic, trigram, and component matching to identify potential conflicts. Returns similarity_score (mark-only similarity) and confusion_score (blended mark + commercial overlap). Useful for trademark clearance searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of similar marks to return | |
| mark_text | Yes | Trademark name to find similar marks for | |
| include_dead | No | Include dead/abandoned trademarks in results | |
| nice_classes | No | Filter by Nice Classification classes (similar marks in same classes are higher risk) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query_mark | Yes | |
| risk_summary | Yes | |
| similar_marks | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context by explaining the examiner-style matching approach and the semantic difference between similarity_score and confusion_score.
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 sentences with no filler. It front-loads the core purpose, then efficiently adds matching method, output semantics, and the intended use case—every sentence earns 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?
Given the output schema, complete parameter descriptions, and safety annotations, the description covers what an agent needs to invoke the tool. The only minor gap is not explicitly routing to or distinguishing from very similar sibling tools such as run_knockout_search and compare_marks.
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 are already documented. The description reinforces mark_text as the core input and clarifies the meaning of the score outputs, but it does not add meaning beyond the schema for limit, include_dead, or nice_classes.
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 clearly states the verb ('Find'), the resource ('USPTO trademarks'), and the input ('a given mark name'). It further distinguishes the tool by explaining the matching method (phonetic, trigram, component) and the scored outputs (similarity_score, confusion_score), making it identifiable among siblings.
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 explicitly names a use case: trademark clearance searches. It does not state exclusions or directly compare with alternative sibling tools like run_knockout_search or compare_marks, but the intended context is clear enough for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_filersTop Trademark FilersARead-onlyIdempotentInspect
Get a ranked filer table for a date range, filer type, and optional Nice classes. Handles questions like "Who are the top 10 filers in Class 9 in 2025?" Returns ranked rows with per-filer live, registered, and pending counts plus corpus totals. A single call covers the full ranked list: limit (up to 100) sets the number of rows and the date range may span multiple years. offset reaches ranks beyond 100 or a specific band (ranks 40-45 = limit: 6, offset: 39).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of ranked filers to return. Up to 100 in a single call. | |
| offset | No | Rank to start from, 0-based. Use with limit to reach deeper bands: ranks 40-45 are limit 6, offset 39. Ranks in the response already account for this. | |
| rank_by | No | What to order by. 'filings' is raw volume and is dominated by high-volume online filing services. 'success_rate' ranks by registrations as a share of DECIDED outcomes (registered vs abandoned), which surfaces quality rather than throughput. Every response carries success_rate_percent and supplemental_percent regardless of ordering. | filings |
| end_date | Yes | Inclusive end date in YYYY-MM-DD format. | |
| filer_type | No | Whether to rank owners, law firms, or individual correspondents. | owner |
| start_date | Yes | Inclusive start date in YYYY-MM-DD format. | |
| min_filings | No | Minimum filings a filer needs to appear. Defaults to 25 when rank_by is success_rate, 0 otherwise. Required for rate rankings: without a floor a filer with 2 marks and 2 registrations scores 100% and outranks a firm that won 900 of 1,000. | |
| nice_classes | No | Optional Nice classes to filter by. Use integers like 42 or 9. | |
| filer_profile | No | Restrict to a kind of filer. Firm rankings only. 'filing_service' is a curated, human-verified list of productized high-volume filing operations (LegalZoom, Rocket Lawyer, Swyft and similar) — use 'law_firm' to EXCLUDE them, which is what a user means by "exclude the agencies/factories". 'full_service' is a law firm that litigates (files TTAB oppositions/cancellations); 'prosecution_only' is a law firm that mostly does not — that is practice scope, NOT a judgment about quality, and prosecution-only firms are entirely legitimate. 'in_house' is a company's own trademark department (Mattel, Disney), not a firm serving clients. | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| summary | Yes | |
| end_date | Yes | |
| headline | Yes | |
| returned | Yes | |
| filer_type | Yes | |
| start_date | Yes | |
| leader_name | No | |
| nice_classes | Yes | |
| presentation | Yes | |
| leader_detail_url | No | |
| leader_filing_count | Yes | |
| total_matching_filers | Yes | |
| total_matching_filings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds substantial behavioral detail: it returns per-filer live/registered/pending counts plus corpus totals, explains limit/offset for rank bands, describes success_rate and the min_filings floor to prevent skewed rankings, and clarifies filer_profile semantics including the curated filing-service list and how to exclude them. This goes well beyond 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?
Three sentences that front-load the core purpose, then give a usage example, then explain pagination. Each sentence earns its place with zero 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 9 parameters, existing annotations, and an output schema, the description is remarkably complete: it covers date ranges, filer types, Nice classes, pagination, ranking options, and behavioral caveats. The output schema handles return structure, so the description doesn't need to; the only gap is explicit sibling differentiation, which belongs more to usage guidelines.
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 enriches limit/offset with a concrete example (ranks 40-45 = limit 6, offset 39) and clarifies that a single call covers the full ranked list. Most parameter-specific nuances (e.g., filer_profile meanings) are already in the schema, so the description supplements rather than compensates.
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 clearly states a specific verb+resource ('Get a ranked filer table') and specifies the scope (date range, filer type, Nice classes). It distinguishes itself from siblings like get_ttab_top_opposition_filers or get_firm_top_correspondents by being a general top-filers ranking tool, so an agent can immediately tell what it does.
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 a concrete example ('Who are the top 10 filers in Class 9 in 2025?') and implies when to use it for ranked-filer questions. However, it never explicitly contrasts with sibling tools or states when not to use it, leaving the agent to infer the boundary against specialized alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ttab_documentGet a TTAB DocumentARead-onlyIdempotentInspect
Retrieve and read one specific TTABVUE filing by proceeding number and entry number. Returns filing metadata, a working USPTO TTABVUE viewer link, direct PDF link when available, extraction/readability status, document text, and optional query-centered excerpts. Use get_ttab_proceeding_details first when the entry number is unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| max_chars | No | ||
| text_query | No | Optional word or phrase; returns up to five excerpts centered on matches. | |
| entry_number | Yes | TTABVUE entry number returned by get_ttab_proceeding_details. | |
| proceeding_number | Yes | Seven- or eight-digit TTAB proceeding number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable output expectations beyond those annotations: filing metadata, viewer link, conditional 'direct PDF link when available', extraction/readability status, document text, and optional excerpts. This gives the agent a reliable picture of what a successful call returns.
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: the action, the return payload, and the usage condition. Every sentence earns its place, and the most decision-relevant information is front-loaded.
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-document retrieval with no output schema, the description covers the key context: what identifiers are needed, what the response contains, and how to discover the entry number. A minor gap is that max_chars truncation behavior is not explained, which could affect interpretation of 'document text'.
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 descriptions cover 3 of 4 parameters (proceeding_number, entry_number, text_query) with useful format and source context. The description reinforces these by mentioning 'proceeding number and entry number' and 'query-centered excerpts', but it adds no new meaning for max_chars, which remains undocumented in both the schema and the description.
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 opens with a specific action, 'Retrieve and read one specific TTABVUE filing', and identifies both required identifiers, proceeding number and entry number. This clearly distinguishes it from sibling tools like get_ttab_proceeding_details, which handles broader proceeding-level data.
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 explicitly instructs agents to 'Use get_ttab_proceeding_details first when the entry number is unknown', directly addressing the main alternative and the condition for choosing it. The schema also reinforces that entry_number comes from get_ttab_proceeding_details, creating a clear workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ttab_proceeding_detailsTTAB Proceeding DetailsARead-onlyIdempotentInspect
Get raw details for a TTAB proceeding — parties, involved marks, counsel, and recent filings with entry numbers and working TTABVUE document links. Use get_ttab_document to read one selected filing. Use get_owner_ttab_enforcement for owner-wide distributions and analyze_ttab_proceeding for AI-powered merits analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| proceeding_number | Yes | TTAB proceeding number (e.g., "91284756") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds meaningful behavioral context by specifying the nature of the data ('raw details') and including 'working TTABVUE document links,' which implies functional links. This adds value beyond the annotations without contradicting them.
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 concise sentences, with the primary purpose front-loaded and the routing guidance as a clear secondary sentence. There is no fluff, and every clause earns 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 read-only, single-parameter tool with no output schema, the description fully covers what the tool returns, how to use it, and when to use alternatives. No essential information 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 the single parameter (proceeding_number) is fully documented in the schema with an example. The description does not add any additional nuance or format details beyond what the schema provides, 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?
The description uses a specific verb ('Get') and resource ('raw details for a TTAB proceeding') and enumerates the included data types (parties, marks, counsel, recent filings with entry numbers and links). It clearly differentiates from siblings like get_ttab_document, get_owner_ttab_enforcement, and analyze_ttab_proceeding by naming them 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 provides explicit when-to-use and when-not-to-use guidance: 'Use get_ttab_document to read one selected filing' and 'Use get_owner_ttab_enforcement for owner-wide distributions and analyze_ttab_proceeding for AI-powered merits analysis.' This leaves no ambiguity about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ttab_top_opposition_filersGet TTAB Top Opposition FilersARead-onlyIdempotentInspect
Ranks the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range. Answers market-wide questions such as which party filed the most oppositions in April 2026. Takes a calendar date range. One owner's record is covered by get_owner_ttab_stats, and one proceeding by get_ttab_proceeding_details.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many ranked parties to return. | |
| end_date | Yes | End of the filing-date window, YYYY-MM-DD. Inclusive. For "April 2026" use 2026-04-30. | |
| party_role | No | Rank the party that FILED (plaintiff/opposer) or the party that was targeted (defendant). "Filed the most oppositions" means plaintiff. | plaintiff |
| start_date | Yes | Start of the filing-date window, YYYY-MM-DD. Inclusive. For "April 2026" use 2026-04-01. | |
| proceeding_type | No | Which proceeding type to rank. Oppositions challenge a pending application; cancellations attack a registration. | opposition |
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 agent knows this is a safe, non-mutating operation. The description adds the scoping constraint (market-wide, date-range) but does not disclose return format, pagination, or behavior on empty results. With annotations covering safety, a 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?
Three sentences with no redundancy. The core purpose is front-loaded, and the alternative-tool mention is placed at the end. Every sentence earns its place; no fluff.
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?
The description is complete for an agent to decide when to call it and what it does. It lacks explicit return format, but since there is no output schema and the tool is a ranking, the expected output is implied. The mention of alternatives covers routing. Given the complexity (5 params, but schema covers them), this is 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 every parameter has a detailed explanation (e.g., party_role explains plaintiff vs defendant, date formats are given). The description adds minimal additional parameter meaning beyond restating the date-range and ranking intent. Baseline 3 is correct when the schema already 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 clearly states the verb 'Ranks' and the resource 'TTAB oppositions (or cancellations)' across the whole Board. It explicitly names two sibling tools (get_owner_ttab_stats, get_ttab_proceeding_details) to distinguish its scope, leaving no ambiguity about what this tool does.
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 provides clear context: answers market-wide ranking questions over a date range, and explicitly mentions alternatives for owner-specific and proceeding-specific data. However, it does not explicitly state when NOT to use this tool (e.g., if a single owner's stats are needed), though the alternatives imply that. Slight gap in explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_mark_famousCheck Whether a Mark Is FamousARead-onlyIdempotentInspect
Checks whether a trademark is famous, and whether it is famous for a specific market, using the applicant's Nice class as a stand-in for that market (fame is market-specific under Joseph Phelps Vineyards v. Fairmont: a mark famous for electronics is not automatically famous for fresh fruit). Returns is_famous, famous_in_class, the fame tier (broad household-name fame or market-specific fame), the classes where the mark is famous, portfolio size, and the corporate family's record as a TTAB plaintiff. Relevant to whether a mark is famous, the strength of a senior mark under Section 2(d), and dilution eligibility under Section 43(c). A circumstantial signal, not proof of statutory fame.
| Name | Required | Description | Default |
|---|---|---|---|
| mark | Yes | The mark wording to check (e.g. "MONSTER", "DELTA", "APPLE"). | |
| class | No | Optional Nice class number 1-45 (e.g. "25"), used as a proxy for the relevant market to test market-specific fame. Omit for a class-agnostic read. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is read-only, idempotent, and non-destructive; the description adds substantial behavioral context by explaining the market-specific fame test, the class-as-market proxy, and the legal caveat that fame is not universal. It also discloses important output semantics such as is_famous, famous_in_class, fame tier, portfolio size, and TTAB plaintiff history.
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 front-loaded with the core action and then systematically covers return fields, legal relevance, and an important caveat. The legal citation is dense but earns its place by preventing the common assumption that fame is class-agnostic. There is no 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 listing the major return signals and framing their legal significance. The optional class behavior is already covered in the schema, and the caveat addresses interpretation risk. An agent has enough information to select and invoke this 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?
Schema coverage is 100%, so the schema already documents both parameters. The description adds value by framing the class parameter as a proxy for the relevant market and explaining why fame is market-specific, which helps the agent decide when to supply or omit the class. It does not add much beyond the schema for the mark parameter.
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 opens with a specific action ('Checks whether a trademark is famous') and a clear resource, then adds market-specific nuance and the main return values. It is distinguishable from sibling fame/profile tools by its focus on fame tier, class-specific fame, and portfolio/TTAB context, though it does not explicitly name a sibling alternative.
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 provides clear legal contexts for use: likelihood-of-confusion strength under Section 2(d), dilution eligibility under Section 43(c), and general fame assessment. It also warns that the result is 'a circumstantial signal, not proof of statutory fame,' but it does not name alternatives or state explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_prosecution_documentsList Prosecution DocumentsARead-onlyIdempotentInspect
List prosecution documents for a trademark serial number, including stable document identifiers, working USPTO links when available, extraction/readability status, office actions, responses, notices, and other dated filings. Use get_prosecution_document to read one selected document.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum documents to return (default 50). | |
| serial_number | Yes | USPTO serial number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context beyond the schema by revealing what is returned: stable identifiers, working USPTO links, readability/extraction status, and document categories.
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 tightly written sentences convey purpose, output contents, and the relevant sibling alternative. The main action is front-loaded and every phrase earns 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?
Despite lacking an output schema, the description sufficiently characterizes the return contents and invocation context for a list operation. It also routes the agent to the correct follow-up tool, making it complete for selecting and invoking 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 description coverage is 100%, so both serial_number and limit are already documented. The description restates serial_number as the key input but adds no new semantic detail about the limit parameter or how parameters affect results.
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 ('List') and resource ('prosecution documents for a trademark serial number'), and enumerates exactly what is included. It also distinguishes itself from the sibling get_prosecution_document by directing the agent there for reading a single selected document.
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 a clear context for use (list documents for a serial number) and an explicit alternative for the next step ('Use get_prosecution_document to read one selected document'). It does not compare with other prosecution-history siblings like get_prosecution_timeline or get_latest_office_action, so it lacks full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_trademarkLook Up Trademark by Serial NumberARead-onlyIdempotentInspect
Get detailed information about a specific USPTO trademark by its serial number. Returns owner, status, filing dates, goods/services, correspondent (attorney/law firm of record — use this for "which firm represents/is correspondent for" questions), and more.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number (exactly 8 digits) |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| trademark | Yes | |
| serial_number | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the list of return fields and the correspondent usage note, which provides useful behavioral context beyond the annotations. It does not contradict any annotation, and the added information is relevant for the agent's decision-making.
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 a single sentence that front-loads the core purpose ('Get detailed information about a specific USPTO trademark by its serial number') and then lists key fields. It is efficient, though the list of fields makes it slightly longer than necessary. No wasted words; the correspondent note is purposeful.
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 the tool has an output schema, the description does not need to explain return values. It is a simple one-parameter lookup, and the description covers the main purpose, typical fields, and a specific usage hint. The only minor gap is not explicitly stating when not to use it, but the context and annotations are sufficient for an agent to use 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?
The input schema has 100% coverage for the single parameter serial_number, with a description 'USPTO serial number (exactly 8 digits)' that is clear. The tool description only says 'by its serial number,' which adds no new meaning beyond the schema. Per the baseline, with high schema coverage, a score of 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 states a clear verb ('Get'), a specific resource ('detailed information about a specific USPTO trademark'), and the key identifier ('by its serial number'). It also enumerates the fields returned (owner, status, filing dates, etc.), making it unambiguous what the tool does. It differentiates from siblings that target narrower aspects (e.g., get_correspondent_marks) by virtue of being the general serial-number-based 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?
The description gives an explicit usage hint: 'use this for "which firm represents/is correspondent for" questions,' which helps route the agent. It does not explicitly contrast with alternatives, but the serial-number-by-lookup nature makes the primary use case obvious. The note about correspondent questions is a clear when-to-use pointer, though it could have named a sibling like get_correspondent_marks as an alternative for that specific need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
phonetic_searchSearch Marks That Sound AlikeARead-onlyIdempotentInspect
Finds trademarks whose whole mark sounds like the given mark, using Metaphone codes and trigram similarity with a whole-mark threshold. Because it compares entire marks, a multi-word mark that only contains a sound-alike word is not returned: for QUICK, KWIK REWARDS does not appear even though KWIK sounds like QUICK. An empty or short result does not show that no sound-alike marks exist and is not a clearance result; run_knockout_search is the conflict search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| mark_text | Yes | Trademark name to find sound-alike matches for | |
| include_dead | No | ||
| nice_classes | No | Filter by Nice classes | |
| similarity_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| query_mark | Yes | |
| total_found | Yes | |
| search_method | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context beyond that: the whole-mark threshold behavior, the non-exhaustive nature of empty results, and the explicit disclaim that it is not a clearance search. These are meaningful additions that help the agent interpret results correctly.
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 efficient. It front-loads the core purpose, then adds a critical limitation with an example, and closes with a direct routing to the correct alternative. Every sentence earns its place; no fluff or redundancy.
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 an output schema present, return format is covered. The description fully explains the search's scope, limitations, and interpretation of results, and provides an alternative. It does not detail each parameter (already partially in schema) but the behavioral guidance is strong. Given the tool's complexity and the sibling landscape, it is near-complete.
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 only 40% (mark_text and nice_classes have descriptions). The description does not explain the other three parameters: limit, include_dead, and similarity_threshold. It mentions 'whole-mark threshold' conceptually but does not connect it to the similarity_threshold parameter or explain its range/default. The description does not compensate for the low schema coverage.
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 ('Finds'), resource ('trademarks'), and the method (Metaphone codes + trigram similarity) with a precise scope (whole-mark comparison). It clearly distinguishes from siblings like get_similar_marks (broader similarity) and run_knockout_search (conflict search) by explaining what it does and does not do.
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 provides when-to-use and when-not-to-use: the whole-mark limitation is illustrated with a concrete example (QUICK vs KWIK REWARDS), and the description explicitly says an empty result is not a clearance result and names the alternative (run_knockout_search) as the conflict search. This is exemplary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_nice_classesRecommend Nice ClassesARead-onlyIdempotentInspect
Recommend Nice trademark classes based on a business description. Returns the most relevant classes with confidence scores and explanations.
| Name | Required | Description | Default |
|---|---|---|---|
| industry | No | Optional industry category for context | |
| business_description | Yes | Detailed description of the business, products, or services (minimum 50 characters). Pass the full user description, do not summarize. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive profile, so the description's main job is to add behavioral context. It does this by disclosing the return type: most relevant classes with confidence scores and explanations. This goes beyond the annotations and gives the agent a useful expectation of the output.
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, front-loaded sentences with no filler. The first sentence states the core function, and the second discloses the output format. Every word earns 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 read-only recommendation tool with a simple two-parameter schema, the description is largely complete: it states the input basis, the output shape, and the relevance framing. It could be slightly richer about the exact format of the returned classes, but the annotations and schema cover most operational needs.
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. The description doesn't add much parameter meaning beyond the schema; it implicitly reinforces that business_description is the core input but doesn't explain industry usage or output structure beyond what is already stated.
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 ('Recommend') and resource ('Nice trademark classes'), and clarifies the basis ('business description'). It also differentiates from sibling tools like get_nice_classes by noting it returns ranked, relevant classes with confidence scores and explanations.
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 clearly signals when to use this tool: when the user provides a business description and needs class recommendations. It doesn't explicitly state when not to use it or name alternatives, but the context is clear enough for an agent to select it over lookup-style tools like get_nice_classes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_office_actionResearch an Office ActionAInspect
Research the Office Action for a trademark — returns structured refusal categories, latest OA/response context, cited marks, and third-party registrations that support coexistence arguments. For authenticated users this launches asynchronously (typically 1-2 minutes) and returns a processing handle used to retrieve the completed result once ready.
| Name | Required | Description | Default |
|---|---|---|---|
| serial_number | Yes | USPTO serial number of the trademark with the Office Action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description adds material execution context: it launches asynchronously for authenticated users, typically takes 1-2 minutes, and returns a processing handle. This is genuinely useful behavioral disclosure not present in structured fields.
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 with no filler. The first sentence front-loads the core purpose and outputs; the second adds essential async behavior. Every sentence earns 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 one-parameter tool, the description covers purpose, return content categories, and execution model well. The only minor gap is that it does not explain how the returned processing handle should be consumed to retrieve the final result, but this does not prevent a correct initial call.
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 parameter serial_number is fully described in the schema. The description does not add further parameter-level semantics, 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?
The description names a specific action ('Research the Office Action') and a concrete resource (a trademark), then enumerates the return categories: refusal categories, OA/response context, cited marks, and third-party registrations. This clearly differentiates it from siblings like get_latest_office_action, which implies a simpler retrieval.
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 implies usage for deep Office Action analysis and notes that authenticated users get asynchronous execution, but it does not explicitly name alternatives or state when to choose this over get_latest_office_action or analyze_prosecution_history. The agent must infer routing from the listed outputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_trademark_subjectResolve an Ambiguous NameARead-onlyIdempotentInspect
Matches a name to one trademark entity (an owner, law firm, correspondent, mark, TTAB proceeding, client or portfolio) and returns the match with its identifiers, or the top candidates when the name is ambiguous. Resolving clients and portfolios requires a signed-in account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of candidate matches to return. | |
| entity | Yes | What kind of trademark subject to resolve. | |
| subject_name | Yes | Raw owner, firm, correspondent, mark text/serial number, TTAB proceeding query, client name, or portfolio name to resolve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds valuable context beyond annotations: the return behavior (exact match vs. candidates) and the authentication requirement for clients/portfolios. It does not mention rate limits or detailed output format, but the added context is meaningful.
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, no filler, and the core function is stated up front. The additional auth note is placed at the end, keeping the structure clean.
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 tool with moderate complexity, the description covers the purpose, ambiguity handling, and a key auth constraint. It lacks an explicit statement about return format or ordering of candidates, but the absence of an output schema and the presence of annotations make this acceptable. Overall, it is sufficiently complete for an agent to use 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 the baseline is 3. The description does not add significant per-parameter meaning beyond the schema; it lists entity types (already in the enum) and mentions ambiguity/candidates, but this is behavioral rather than parameter-specific. It doesn't explain 'limit' or add format details for subject_name.
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 ('Matches') and a specific resource ('trademark entity'), enumerating all entity types, and distinguishes its behavior (exact match vs. top candidates) from broader search/lookup siblings. It is not a tautology and clearly tells an agent what this tool does.
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 provides clear usage context: it resolves an ambiguous name and returns a match or candidates. It also gives a prerequisite (signed-in account for clients/portfolios). However, it does not explicitly name alternative sibling tools or state when NOT to use this tool, 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.
run_knockout_searchRun Knockout SearchARead-onlyIdempotentInspect
Runs a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinated class expansion, foreign-equivalent translation and design codes, scored for mark similarity and commercial overlap. Returns results grouped into four risk tiers (very high, high, medium, low) with confusion scores, a four-level headline verdict (critical conflicts, elevated risk, moderate risk, low risk) with a one-line reason, and a sample of dead marks in the same naming territory. goods_description, when supplied, is scored for goods and services relatedness; without it, scoring uses classes only, which understates conflicts between related goods in different classes. owner_name adds the applicant's existing marks in the searched classes. It searches trademarks only, not domains or web use; check_brand_availability covers domains. Most searches finish in under a minute. Requires a signed-in GleanMark account.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_name | Yes | The proposed mark name to search for (e.g., "BARLYTICS", "WAR MUSCLE") | |
| owner_name | No | Optional: the applicant/owner company name (e.g., "APPLE INC."). Adds portfolio context showing their existing marks in the searched classes and flags same-owner conflicts. | |
| max_results | No | Maximum scored results to return (default 100). The verdict and risk bands are computed over the full candidate set regardless; 100 rows is plenty for a knockout answer, and larger payloads only slow the response. | |
| design_codes | No | USPTO design codes to include in the search (optional) | |
| include_dead | No | Default false — LEAVE IT FALSE for availability / "what would block me" questions: dead and abandoned marks cannot block a filing, and the live-only search already returns a dead-mark sample for naming context. Setting true scans the abandoned register too and takes 2-3 minutes, which exceeds most client timeouts (measured 2026-09-09: live-only 23s; include_dead 150s then failed). Only set true when the user explicitly asks about dead or abandoned marks. | |
| nice_classes | No | Nice classes to search (e.g., ["042", "035"]). The search automatically expands to coordinated classes. Optional — omit to search all classes. | |
| goods_description | No | The goods/services the applicant plans to sell (e.g., "hair extensions; synthetic hair pieces and wigs"). STRONGLY RECOMMENDED whenever known: it drives goods-relatedness scoring, so conflicts on related goods surface at their true risk band instead of being understated by class-only overlap. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent annotations by disclosing result tiers, headline verdict structure, dead-mark sampling, performance expectations, and a signed-in account requirement. It even includes measured timing for include_dead (150s then failed), which is highly useful for agent timeout decisions. There is no contradiction with 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?
The description is dense but every sentence earns its place: engine capabilities, output structure, parameter caveats, exclusions, timing, and authentication are all covered without filler. Key constraints are front-loaded, and the performance data is placed near the include_dead warning where it matters most.
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 explaining exactly what the agent will receive: four risk tiers, a four-level verdict with a one-line reason, and a dead-mark sample. It also covers practical call context such as runtime, authentication, and parameter tradeoffs, making the tool fully callable by an agent without further 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?
Although the schema descriptions already cover 100% of parameters, the tool description adds crucial meaning: goods_description is tied to relatedness scoring with a concrete understatement risk, owner_name is explained as adding portfolio context, and include_dead gets behavioral warnings beyond schema defaults. This substantially enriches parameter understanding for correct invocation.
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 leads with a specific verb and resource: 'Runs a scored trademark conflict (knockout) search over 14M USPTO records.' It names the matching engine and result structure, making the tool's identity unmistakable. It also distinguishes itself from domain coverage by pointing to check_brand_availability, so agents can tell it apart from sibling tools.
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 guidance is explicit: it states when to set include_dead (only if the user explicitly asks about dead/abandoned marks) and when not to ('LEAVE IT FALSE for availability / what would block me questions'). It also names check_brand_availability as the alternative for domain/web checks and highlights when goods_description is strongly recommended. This gives the agent clear decision rules rather than leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_safe_analyticsRun Safe Analytics QueryARead-onlyIdempotentInspect
Runs a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposing database details. Suited to custom aggregate business questions that a single search or summary tool does not answer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of ranked rows, preview marks, or timeline events to return. | |
| entity | Yes | What to analyze. Ranking currently supports owners. Count, snapshot, and timeline also support firms and correspondents. | |
| metric | No | Required for count. Ranking currently supports filings only. | |
| filters | No | ||
| subject_name | No | Required for count, snapshot, and timeline. Examples: "Ideaya Biosciences", "Goodwin Procter", or "Todd Schneider". | |
| analysis_type | Yes | Business analytics mode: ranking, count, snapshot, or timeline. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| entity | Yes | |
| metric | Yes | |
| summary | Yes | |
| rankings | Yes | |
| returned | Yes | |
| resolution | Yes | |
| count_result | Yes | |
| subject_name | Yes | |
| analysis_type | Yes | |
| filters_applied | Yes | |
| snapshot_result | Yes | |
| timeline_result | Yes | |
| resolved_subject | Yes | |
| open_in_gleanmark | Yes | |
| total_matching_marks | No | |
| total_matching_entities | No | |
| total_matching_live_marks | No |
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 known. The description adds the behavioral trait 'without exposing database details,' which conveys an abstraction/privacy layer beyond the annotations. No contradiction.
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, no filler. The core function is front-loaded, and the suitability clause is concise. Every word adds value.
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 tool with 6 parameters, a nested filters object, and an output schema, the description conveys the overall purpose and when to use it. It does not enumerate per-analysis-type restrictions (e.g., ranking only supports owners), but those are documented in the parameter descriptions. The presence of an output schema and the read-only annotations lower the burden, making this sufficiently complete.
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 83%, so the baseline is 3. The description mentions entities and analysis modes that map to the 'entity' and 'analysis_type' parameters, but does not add new semantic detail beyond what the schema already documents. It does not compensate for the few undocumented parameters (e.g., no description of 'filters' semantics beyond schema), but that gap is small.
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 ('Runs a constrained analytics query'), the entities analyzed (owners, law firms, correspondents), and the output modes (rankings, counts, snapshots, timelines). It also distinguishes from siblings by explicitly targeting 'custom aggregate business questions that a single search or summary tool does not answer.'
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?
Provides a clear suitability statement ('Suited to custom aggregate business questions...'), implying that if a single search or summary tool can answer, this tool should not be used. Does not enumerate specific exclusions or alternatives beyond that, but the guidance is explicit enough for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchARead-onlyIdempotentInspect
Search GleanMark's USPTO trademark database and return citable results. Each result is a US trademark record with a stable id, a human-readable title (mark, owner and status) and a public gleanmark.com URL. Use the fetch tool with a returned id to read the full record. Covers 14M+ USPTO applications and registrations, live and dead.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search terms — a mark name, a brand, or an owner name. Example: "spicy coke" or "Apple Inc". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the read-only, idempotent, non-destructive nature. The description adds valuable behavioral context: results are citable, contain stable ids, human-readable titles, public URLs, and the database covers 14M+ applications (live and dead). It also discloses that full records require fetch, going beyond what annotations provide.
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 with no filler: purpose, result format, and follow-up instruction are presented in a logical order, front-loading the core action. Every sentence contributes essential 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?
For a general search tool, the description covers the result format, database scope, and next step (fetch). It lacks mention of sorting, pagination, or result count, but these are minor given the tool's simplicity and the annotations covering safety. The absence of an output schema is mitigated by the explicit result description.
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 schema's parameter description for 'query' is already thorough (search terms, mark/brand/owner, examples), achieving 100% coverage. The tool description adds no additional parameter details, so the baseline of 3 is appropriate given the schema's completeness.
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 clearly states the tool searches GleanMark's USPTO trademark database and returns citable results, specifying the output structure (stable id, title, URL). However, it doesn't explicitly differentiate from sibling search tools like search_trademarks or search_by_owner, relying instead on the mention of 'citable results' and the follow-up fetch instruction to imply its role as a general entry point.
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 advises using the fetch tool with a returned id to read the full record, which is a follow-up action, but it offers no guidance on when to use this search versus the many specialized search tools (e.g., search_by_owner, search_goods_services). It fails to specify conditions for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_attorneysSearch Trademark AttorneysARead-onlyIdempotentInspect
Search for trademark attorneys or law firms. Returns prosecution statistics, TTAB proceeding counts (as plaintiff/defendant), and contact information.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| search_term | Yes | Attorney name or law firm name to search for | |
| search_type | No | Search for individual attorneys or law firms | attorneys |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| results | Yes | |
| search_type | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered. The description adds value by disclosing the nature of returned data (prosecution statistics, TTAB proceeding counts as plaintiff/defendant, contact information), which is behavioral context not in annotations or schema. No contradiction exists. It does not mention rate limits or authentication, but that is acceptable given the annotation coverage.
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 with zero wasted words. The action is front-loaded, and the return data is summarized concisely. It is easy to scan and immediately actionable.
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 the presence of an output schema, annotations covering safety, and full parameter documentation, the description is nearly complete. It does not explain return formats or pagination, but those are covered by the output schema. It also omits explicit alternative guidance, but that is the domain of usage guidelines. Overall, the combination of description, schema, and annotations suffices for an agent to call 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?
Schema description coverage is 100%, so each parameter (limit, search_term, search_type) is already documented with types, defaults, and enums. The description does not add extra semantics beyond what the schema provides, but the baseline of 3 applies because the schema does the heavy lifting. The mention of 'attorneys or law firms' loosely maps to search_type, but no new information is added.
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 clearly states the action ('Search for trademark attorneys or law firms') and enumerates the specific data returned (prosecution statistics, TTAB counts, contact info). It distinguishes itself from sibling tools like get_correspondent_marks or search_by_owner, which serve different lookup purposes. No other sibling offers a direct attorney/firm name search, so purpose is 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?
The description implies usage: use this when you need to find trademark attorneys or firms by name. However, it does not explicitly mention alternatives or exclusions, such as when to use search_by_owner, get_correspondent_marks, or search_trademarks instead. There is no direct 'when-not-to-use' guidance, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_ownerSearch Marks by OwnerARead-onlyIdempotentInspect
Search for trademark owners by name. Use this to resolve or list candidate owners, not for owner counts, rankings, prosecution snapshots, or recent activity checks. Returns matching companies/individuals with their trademark portfolio statistics (total marks, live/dead counts, registered/pending).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of owners to return | |
| owner_name | Yes | Owner name to search for (company or individual) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| owners | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds valuable context about the return content: 'portfolio statistics (total marks, live/dead counts, registered/pending)' – information not present in the annotations. It does not disclose potential quirks like pagination, but given the low complexity and annotation coverage, this is adequate.
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 with no fluff. The core purpose is front-loaded ('Search for trademark owners by name'), followed by immediate exclusions and a summary of return data. Every word adds value, making it an exemplar of conciseness.
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 simple search tool with two parameters, the description covers its purpose, usage scope, and return content. Since an output schema is present, the description need not detail return formats. It could optionally mention ordering or fuzzy matching, but nothing essential 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%, with both parameters (owner_name and limit) documented. The description does not add significant semantics beyond what the schema provides; it merely restates that it searches by name. With complete schema documentation, a baseline score of 3 is appropriate, and the description doesn't need to compensate.
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 clearly states the tool's function: 'Search for trademark owners by name.' It explicitly specifies the scope ('resolve or list candidate owners') and distinguishes it from other operations ('not for owner counts, rankings, prosecution snapshots, or recent activity checks'), which sets it apart from siblings like get_top_filers and count_filings_by_period.
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 provides explicit guidance on when to use the tool and when not to: 'Use this to resolve or list candidate owners, not for owner counts, rankings, prosecution snapshots, or recent activity checks.' This directly routes the agent to appropriate alternatives for other purposes, fulfilling the usage guidelines dimension completely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_claimed_colorsSearch Marks by Claimed ColorARead-onlyIdempotentInspect
Searches or counts U.S. trademarks by the colors they claim, parsed from USPTO color-claim statements. Two levels: level="family" (16 color families; red also finds dark red, maroon and burgundy) and level="shade" (the exact term claimed, e.g. dark red). match="all" finds marks claiming at least the given colors, match="only" marks claiming exactly those colors, and match="only_bw" the same while also allowing black and white. claimed=false counts marks whose statement says color is not claimed. Modes: count, top_owners, list_marks, vocabulary (the valid families or shades with counts), explain_term (the family a shade belongs to) and by_serial (what one mark claims).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | count = how many marks match. top_owners = who owns the most. list_marks = sample the matches. vocabulary = valid colour terms + corpus counts. explain_term = a shade's family. by_serial = what one mark claims. | count |
| term | No | Required for mode="explain_term", e.g. "maroon". | |
| level | No | family = 16 broad families (red covers maroon). shade = the exact claimed term. | family |
| limit | No | Rows for top_owners, list_marks, vocabulary. | |
| match | No | all = claims at least these. only = claims exactly these, nothing else. only_bw = exactly these, allowing black/white (usually background). | all |
| colors | No | Colour terms, e.g. ["orange","green","red"]. Must be real families or shades — call mode="vocabulary" if unsure. Omit to match every colour-claiming mark. | |
| status | No | registered/pending are narrower than live. "How many live REGISTRATIONS" means status="registered". | any |
| claimed | No | false = count marks whose statement disclaims colour ("Color is not claimed as a feature of the mark"). | |
| nice_class | No | Restrict to one Nice class, e.g. "25" or "025". | |
| serial_number | No | Eight-digit serial number for mode="by_serial". | |
| registration_number | No | Registration number for mode="by_serial"; resolved to its serial number automatically. |
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 meaningful behavioral context beyond annotations: it explains the parsing source, the family/shade hierarchy (red also finds dark red, maroon, burgundy), match semantics, and the claimed=false behavior. This gives an agent a solid mental model of how results are computed without contradicting 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?
The description is dense but well-structured: it front-loads the core purpose, then systematically covers levels, match modes, claimed behavior, and available modes. Every sentence contributes useful information, and there is no filler or repetition. It is longer than average, but the tool's complexity justifies the length.
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 the tool's complexity (11 parameters, 6 modes, no output schema), the description covers the main decision points: level, match, claimed, and all modes. It does not detail return values or examples, but the schema already documents parameters. The description is complete enough for an agent to know what to call and how to configure it, though an example invocation would have pushed it to 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 coverage is 100%, so the baseline is 3, but the description adds value beyond the schema. It clarifies the level values with concrete examples, explains match semantics in plain language, and defines the claimed=false behavior. The description also expands on mode outcomes, making the parameter meanings more actionable than the schema alone.
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 opens with a specific verb and resource: 'Searches or counts U.S. trademarks by the colors they claim, parsed from USPTO color-claim statements.' This clearly distinguishes the tool from siblings like search_trademarks or search_mark_statements by focusing on color-claim parsing. It also names the exact data source (USPTO color-claim statements), leaving no ambiguity about what the tool operates on.
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 implies when to use the tool (whenever color claims are the search dimension) but does not explicitly state alternatives or when not to use it. It provides rich in-tool configuration guidance (levels, match modes, claimed=false), but no comparison to sibling tools or exclusions. The usage context is clear from the tool's niche, but explicit routing guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_design_codesSearch USPTO Design CodesARead-onlyIdempotentInspect
Find US trademarks by USPTO design code — the codes examiners assign to the visual elements of a logo (26.17.01 = straight bands, 24.11 = crowns). Accepts dotted (26.17.01) or packed (261701) form. USPTO design vocabulary is literal and narrow: it records "Bands, straight" where a person says "stripe", and has no entry for words like "swoosh", so a plain shape word resolves to a code through mode="search_codes" before marks can be counted or listed. Modes: count, top_owners, list_marks, by_serial (what codes one mark carries), describe_code, search_codes. Omitting mode infers it from the arguments supplied.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | search_codes = find a code from a word. describe_code = what a code means. count/top_owners/list_marks = marks carrying the codes. Omit it and the mode is inferred: query -> search_codes, serial_number/registration_number -> by_serial, codes -> count. | count |
| codes | No | Design codes, dotted or packed, e.g. ["26.17.01"]. | |
| limit | No | ||
| match | No | all = mark carries every code. any = at least one. | all |
| query | No | Required for mode="search_codes". A shape word: band, bar, circle, star, triangle, chevron, crown, leaf, arrow, shield. | |
| status | No | any | |
| nice_class | No | Restrict to one Nice class, e.g. "25". | |
| serial_number | No | Eight-digit serial number for mode="by_serial". | |
| registration_number | No | Registration number for mode="by_serial"; resolved to its serial number automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive, so the description adds valuable behavioral context: USPTO design vocabulary is literal and narrow, 'stripe' will not resolve to 'Bands, straight' directly, and words like 'swoosh' have no code entry. It also discloses dotted vs packed code formats and mode inference, all beyond what the annotations provide.
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-loaded with purpose and concrete examples before moving into caveats and modes. A small amount of redundancy exists because the mode list and mode-inference guidance partly repeat the input schema's mode description, which keeps it from a perfect score.
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 multi-mode tool with no output schema, the description covers the core invocation flow: mode inference, code format flexibility, and the vocabulary limitation that could cause failed searches. It could be more explicit about return shapes for count, top_owners, and list_marks, but the mode names and schema descriptions largely fill that 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?
The schema covers a large portion of the parameters, but the description adds meaning by explaining the dotted/packed code format, the role of search_codes in resolving shape words to codes, and shorthand semantics for by_serial. It does not add much for limit, match, status, or nice_class, but those are straightforward and already documented in 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?
The description opens with a specific verb and resource: finding US trademarks by USPTO design code, and immediately distinguishes this from a general trademark search by explaining what design codes are and giving concrete examples. It also enumerates the tool's modes, so an agent can tell exactly what the tool covers.
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 clearly establishes when to use the tool (design-code-based trademark lookup) and how to navigate its internal modes, including the critical rule that a plain shape word must go through search_codes before marks can be counted or listed. It does not explicitly name sibling alternatives or state when not to use this tool, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_goods_servicesSearch Goods ServicesARead-onlyIdempotentInspect
Full-text search over the goods and services identifications of 14M USPTO marks, for questions such as which other owners claim a product in their goods (competitive landscape, descriptiveness or crowded-field evidence, identification drafting precedent). Keyword-based: the query is tokenized and matched against each mark's indexed goods keywords (match_mode all requires every keyword, any requires at least one). Rows include a short excerpt around the matched clause, not the full identification. mode=count returns how many marks claim the goods, with class and status breakdowns; mode=top_owners ranks the owners claiming them; neither returns rows. Searches goods and services text, not mark names; run_knockout_search and search_trademarks search mark names.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | list_marks returns rows; count returns totals + class/status breakdowns only; top_owners ranks owners by matching-mark count. | list_marks |
| sort | No | relevance | |
| text | Yes | Goods/services text to search for (e.g. "anti-tarnish", "vegan leather handbags"). Words of 3+ characters are matched as keywords. | |
| limit | No | Max rows for list_marks mode (default 20). | |
| match_mode | No | all = every keyword must appear in the recitation (default); any = at least one. | all |
| nice_classes | No | Optional Nice class filter (e.g. [14] or ["014"]). | |
| status_filter | No | live = Registered + Pending; dead = Cancelled/Abandoned/Expired. | all |
| owner_contains | No | Optional: only marks whose owner name contains this text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive. The description adds valuable behavioral detail: tokenization, match_mode semantics, excerpt-only rows, mode-specific outputs (counts with breakdowns, top owners), and the exclusion of mark names. This is well beyond the annotations and leaves little unknown, though pagination/empty-result behavior is not mentioned.
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 detailed yet each sentence earns its place: purpose, matching semantics, output modes, and sibling differentiation are each covered without repetition. Slightly longer than minimal but appropriate for the tool's complexity and 8 parameters.
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 search tool with 8 parameters and no output schema, the description covers the core behaviors: what is searched, how matching works, what each mode returns, filtering options, and the key exclusion (mark names). An agent can confidently call this tool and interpret results correctly based on the description alone.
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 high (88%), but the description adds meaning beyond the schema: it explains that match_mode 'all' requires every keyword, 'any' at least one; clarifies that mode=count returns totals with class/status breakdowns and mode=top_owners ranks owners; and notes that limit applies to list_marks mode. This supplements the schema meaningfully.
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 (search) and resource (goods and services identifications of USPTO marks), and immediately differentiates from siblings by noting it searches goods text, not mark names, naming run_knockout_search and search_trademarks explicitly. The purpose is unambiguous and distinct.
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 use cases (competitive landscape, descriptiveness, crowded-field evidence, drafting precedent) and names the alternatives that handle mark-name search. It also clarifies what the tool does not do, leaving no doubt about when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_mark_statementsSearch Mark StatementsARead-onlyIdempotentInspect
Searches the statements the USPTO records on a trademark: disclaimers ("no claim is made to PIZZA apart from the mark"), descriptions of the drawing ("the mark consists of a red and white striped awning"), translations of foreign wording, and claims of prior registrations. Answers questions such as which marks disclaim a word or which marks are described as stripes. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark) and statement_types. mode=top_terms with nice_class ranks the most-disclaimed terms in a class with per-term mark counts (disclaimers only); its status filter accepts live (registered and pending together), any or dead, so a registered-only ranking is not available. A single term's registered-only count is available with mode=count, text set to the term, and status=registered. Color claims are searched with search_claimed_colors.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | count | |
| text | No | Free text to find inside the statement, minimum 3 characters (e.g. "PIZZA", "stripe"). Omit to count every mark carrying that statement type. | |
| limit | No | ||
| status | No | any | |
| nice_class | No | Restrict to one Nice class, e.g. "25". | |
| serial_number | No | Eight-digit serial number for mode="by_serial". | |
| statement_type | No | Required except for by_serial and statement_types. | |
| registration_number | No | Registration number for mode="by_serial"; resolved to its serial number automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior beyond the readOnlyHint and idempotentHint annotations: it explains that status=live means registered and pending together, that top_terms with nice_class returns per-term mark counts, and that a registered-only ranking is not available (only a single term's count via mode=count). This is rich, non-obvious behavioral context an agent needs to call correctly.
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 long but information-dense, with no filler. It is front-loaded with the core purpose, then examples, then mode specifics. All sentences earn their place, though the density of conditional mode details makes it slightly harder to parse quickly.
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 bears the burden of explaining behavior and outcomes bel. It covers the modes, status nuances, and points to search_claimed_colors for color claims. It leaves a few minor gaps (exact return fields, how limit applies per mode), but overall gives enough to use 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?
Schema coverage is 63%, and the description adds meaningful semantic value: it explains mode values, gives text examples ('PIZZA', 'stripe'), clarifies statement_type as one of the four statement kinds, and details status restrictions. It does not describe limit or serial_number, but those are straightforward.
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 opens with a specific verb and resource: 'Searches the statements the USPTO records on a trademark' and enumerates the types (disclaimers, descriptions, translations, prior registrations) with concrete examples. It also explicitly differentiates itself by pointing to search_claimed_colors for color claims, distinguishing it from at least one sibling.
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 provides clear usage context by listing modes, giving question examples, and explaining mode-specific constraints (e.g., status filter semantics and that top_terms cannot produce a registered-only ranking). It names one alternative (search_claimed_colors) but does not provide a full when-to-use vs. not-to-use matrix with the broader sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_trademarksSearch TrademarksARead-onlyIdempotentInspect
Searches USPTO trademarks by name (14M records) and returns the closest whole-mark matches, ranked by similarity and prefix. It is not an exhaustive contains-search: multi-word marks that only contain the queried word rank low and are often cut (a KWIK query can miss KWIK REWARDS or KWIK KOPY); search_marks_by_pattern returns complete lists. A short result does not show that a name is absent from the register or available.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| query | Yes | Search query for trademark name | |
| nice_classes | No | Filter by Nice Classification classes (1-45) | |
| status_filter | No | Filter by trademark status | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| results | Yes | |
| total_count | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds crucial behavioral context: the non-exhaustive nature, the potential to cut multi-word marks, and the meaning of a short result. This goes beyond the annotations and helps the agent avoid misinterpretation.
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 sentences, each carrying weight: purpose, limitation with example and alternative, and a caution. It is front-loaded with the core purpose and does not waste words on redundancies.
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?
The output schema exists, so return values are covered. The description addresses the key behavioral nuance (non-exhaustiveness) and provides the alternative tool. With 4 parameters all documented in the schema and clear usage guidance, an agent has everything needed to call this 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?
Schema description coverage is 100%, so the schema already documents all four parameters (query, limit, nice_classes, status_filter). The description adds no extra parameter-level detail beyond what the schema provides. Baseline 3 is appropriate 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 states a specific verb ('searches'), a resource ('USPTO trademarks by name'), and the result type ('closest whole-mark matches, ranked by similarity and prefix'). It also explicitly distinguishes itself from search_marks_by_pattern, so an agent can tell them apart immediately.
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 clearly states when to use this tool and when not to. It notes that it is not an exhaustive contains-search, gives a concrete example (KWIK query missing KWIK REWARDS), and names the alternative (search_marks_by_pattern) that returns complete lists. It also cautions that a short result is not proof of absence, guiding interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ttab_proceedingsSearch TTAB ProceedingsARead-onlyIdempotentInspect
Search TTAB proceedings using the same discovery index as the GleanMark TTAB workspace. Use for broad proceeding discovery by party name, exact 8-digit proceeding number, 8-digit trademark serial number, or 7-digit registration number. Supports status, proceeding type, matched party role, and owner-name filters. For one known case after discovery, use get_ttab_proceeding_details; for owner enforcement statistics, use get_owner_ttab_enforcement.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Party name, 8-digit proceeding/serial number, or 7-digit registration number. | |
| role_filter | No | Role of the party matched by query: P for plaintiff/petitioner, D for defendant/respondent. | |
| type_filter | No | TTAB proceeding type labels (exact values from the USPTO type table). Singular forms and codes are accepted too — "Cancellation" / "CAN" → Cancellations, "Opposition" / "OPP" → Oppositions, "Extension" / "EXT" → Extensions of Time to Oppose. NOTE: Monster Energy-style enforcers file far more Oppositions than Cancellations; a Cancellations filter returning 0-1 is usually the true answer, not an error. | |
| status_filter | No | ||
| owner_contains | No | Optional additional substring that must appear in any party name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond annotations by explaining the tool uses 'the same discovery index as the GleanMark TTAB workspace' and by warning about the real-world Oppositions-vs-Cancellations filing pattern. It does not mention rate limits or result pagination, but for a read-only search tool this is strong coverage.
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 sentences with zero waste: it states the purpose, lists accepted inputs and filters, and routes to alternatives. The special domain warning is embedded inside the relevant parameter description rather than bloating the main text. Every clause earns 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?
Given the tool's moderate complexity (6 parameters, no output schema), the description covers the search scope, filter behavior, and sibling differentiation thoroughly. The main gap is the lack of any statement about the response format or result shape, which an output schema would normally fill. Still, an agent can confidently invoke this tool correctly based on the description alone.
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 67%, and the description compensates significantly. The type_filter description far exceeds the schema by explaining accepted singular forms and codes ('Cancellation'/'CAN' → Cancellations) and the real-world pattern about Monster Energy-style enforcers. The query parameter's accepted formats and the owner_contains semantics are also clarified. Only status_filter gets no additional explanation, but overall the description adds strong meaning beyond 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?
The description states a specific verb and resource ('Search TTAB proceedings') and explicitly lists the supported search inputs and filters. It names two sibling tools (get_ttab_proceeding_details, get_owner_ttab_enforcement) to distinguish when this tool is not the right choice, which clearly separates it from the many related TTAB tools.
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 explicitly tells the agent when to use this tool ('broad proceeding discovery') and when to use alternatives ('For one known case after discovery, use get_ttab_proceeding_details; for owner enforcement statistics, use get_owner_ttab_enforcement'). It also gives concrete domain-specific guidance about the cancellations filter behavior, which helps prevent misdiagnosis of results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_gs_descriptionsSuggest Goods & Services DescriptionsARead-onlyIdempotentInspect
Search the USPTO Trademark ID Manual (pre-approved, surcharge-free goods & services identifications) by plain words. Call once per distinct product/service line (e.g. construction services and lighting products are two separate calls), not once per whole business. Returns selectable Term IDs; entries with {curly-brace} placeholders are fill-in templates.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max suggestions (default 10) | |
| query | Yes | Plain-words description of ONE product or service line (e.g. "phone cases with batteries") | |
| classes | No | Optional Nice class filter, 1-45 (padded or unpadded, e.g. 9 or "009") | |
| gs_type | No | Optional filter to goods or services entries |
Output Schema
| Name | Required | Description |
|---|---|---|
| cta | No | |
| suggestions | Yes | |
| open_in_gleanmark | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description adds useful behavioral context beyond annotations by stating that it returns selectable Term IDs and explaining that curly-brace placeholders are fill-in templates, which clarifies how to interpret results.
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 with no filler: source, usage pattern, and return behavior are each covered efficiently. The most important selection criterion ('plain words') is front-loaded.
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 simple read-only search tool with an output schema and complete parameter documentation, the description covers the source, call granularity, and placeholder interpretation. It is complete enough to invoke correctly, though sibling differentiation remains implicit.
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 schema already documents query, limit, classes, and gs_type. The description reinforces that query should represent one product/service line, but it does not add new parameter syntax or format details 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?
States a specific verb and resource: 'Search the USPTO Trademark ID Manual...' and explains the output ('Returns selectable Term IDs'). The ID Manual and plain-words framing clearly differentiate it from generic trademark search siblings, even without naming an alternative.
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?
Provides explicit call-granularity guidance: 'Call once per distinct product/service line... not once per whole business' with a concrete example. It does not name sibling alternatives or give when-not-to-use conditions, but the intended use context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_gs_descriptionValidate a Goods & Services DescriptionARead-onlyIdempotentInspect
Check a draft goods & services description against the USPTO ID Manual, clause by clause (clauses split on ";"). Each clause comes back verbatim (selectable pre-approved entry), close (with up to 3 pre-approved substitutes), or freeform (subject to the USPTO $200/class free-form surcharge). Deterministic — no AI rewriting.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The draft goods & services description to validate | |
| classes | No | Optional Nice class scope, 1-45; without it exact matches may span classes |
Output Schema
| Name | Required | Description |
|---|---|---|
| clauses | Yes | |
| summary | Yes | |
| truncated | Yes | |
| unprocessed_clause_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral details: the deterministic nature ('no AI rewriting'), the three classification outcomes (verbatim, close, freeform), and the $200/class surcharge implication. This goes beyond the annotations and enriches the agent's understanding of what the tool does and does not do.
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 main action, then concise details. Every sentence adds value without redundancy. It efficiently covers the process, outcomes, surcharge, and determinism in a compact format.
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?
The description covers the process, outcomes, surcharge, and determinism, which is quite complete for a validation tool. An output schema is indicated, so return values are presumably documented. It does not mention potential errors or rate limits, but for a read-only deterministic tool this is acceptable. Given the complexity of the task (clause-level validation), the description provides sufficient context for an agent to invoke 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?
The schema already documents both parameters with descriptions (100% coverage). The description adds context: the text is split on ';' and the classes parameter affects whether matches span classes. This adds meaning beyond the schema, clarifying how the input is processed and how the optional parameter changes behavior.
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 clearly states the action ('Check') and the resource ('draft goods & services description against the USPTO ID Manual'). It also details the clause-by-clause process and the three possible outcomes (verbatim, close, freeform), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like search_goods_services or suggest_gs_descriptions, so it falls short of a 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 description implies usage for validating a draft description, but it provides no explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions or conditions. There is no reference to sibling tools or when not to use it, which is a significant gap for an agent trying to decide between this and similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_researchWeb ResearchARead-onlyIdempotentInspect
Research a company, trademark, or legal topic on the internet. Returns grounded results with source citations. Use for company background, recent news, common law trademark use, or case law research.
| Name | Required | Description | Default |
|---|---|---|---|
| mark_text | No | Trademark text (for common_law_use and state_registrations searches) | |
| entity_name | Yes | Company name, trademark, or topic to research | |
| nice_classes | No | Nice classes for context | |
| research_type | Yes | Type of research to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds that results are grounded and include source citations, which is useful, but it does not disclose limitations like possible latency, source freshness, or citation formatting. This is acceptable but not exceptional.
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 main action and result are front-loaded, and the use-case list is compact yet informative. Every sentence contributes to tool selection and invocation.
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 the annotations and full schema coverage, the description is nearly complete. It states what the tool does, what it returns, and when to use it. There is no output schema, so a bit more detail on the exact response structure could help, but the mention of source citations provides enough shape for an agent.
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 documents all parameters, including the research_type enum. The description reinforces the overall purpose but does not add meaning beyond what the input schema provides, so the baseline of 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 uses a specific verb ('Research') with a clear resource ('a company, trademark, or legal topic on the internet') and names concrete use cases. It also distinguishes itself from the many database-lookup siblings by emphasizing internet research and grounded results with source citations.
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 explicitly says when to use the tool: 'for company background, recent news, common law trademark use, or case law research.' It does not name specific alternative tools or state when not to use it, but the listed use cases are clear enough for an agent to route appropriately.
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.
2 tool updates
- Added
count_filings_by_period - Removed
get_trademark_analytics
1 tool update
- Changed
run_knockout_search3 fields changed- changed
Input schema / properties / include_dead / descriptionPrevious value: -"Include dead/abandoned marks in results (default: false, live only)"New value: +"Default false — LEAVE IT FALSE for availability / \"what would block me\" questions: dead and abandoned marks cannot block a filing, and the live-only search already returns a dead-mark sample for naming context. Setting true scans the abandoned register too and takes 2-3 minutes, which exceeds most client timeouts (measured 2026-09-09: live-only 23s; include_dead 150s then failed). Only set true when the user explicitly asks about dead or abandoned marks." - changed
Input schema / properties / max_results / defaultPrevious value: -200New value: +100 - changed
Input schema / properties / max_results / descriptionPrevious value: -"Maximum scored results to return (default: 200)"New value: +"Maximum scored results to return (default 100). The verdict and risk bands are computed over the full candidate set regardless; 100 rows is plenty for a knockout answer, and larger payloads only slow the response."
1 tool update
- Changed
search_ttab_proceedings2 fields changed- changed
Input schema / properties / type_filter / descriptionPrevious value: -"Exact TTAB type labels, such as Oppositions, Cancellations, or Extensions of Time to Oppose."New value: +"TTAB proceeding type labels (exact values from the USPTO type table). Singular forms and codes are accepted too — \"Cancellation\" / \"CAN\" → Cancellations, \"Opposition\" / \"OPP\" → Oppositions, \"Extension\" / \"EXT\" → Extensions of Time to Oppose. NOTE: Monster Energy-style enforcers file far more Oppositions than Cancellations; a Cancellations filter returning 0-1 is usually the true answer, not an error." - added
Input schema / properties / type_filter / items / enumAdded value: +[ + "Oppositions", + "Cancellations", + "Extensions of Time to Oppose", + "Concurrent Use", + "Ex Parte Appeal", + "Miscellaneous" +]
1 tool update
- Changed
search_mark_statements1 field changed- changed
Input schema / properties / mode / enumPrevious value: -[ - "count", - "top_owners", - "list_marks", - "by_serial", - "statement_types" -]New value: +[ + "count", + "top_terms", + "top_owners", + "list_marks", + "by_serial", + "statement_types" +]
1 tool update
- Removed
run_dupont_analysis
2 tool updates
- Added
get_chain_of_title - Added
get_ttab_top_opposition_filers
2 tool updates
- Added
fetch - Added
search
1 tool update
- Changed
get_top_filers3 fields changed- added
Input schema / properties / filer_profileAdded value: +{ + "default": "all", + "description": "Restrict to a kind of filer. Firm rankings only. 'filing_service' is a curated, human-verified list of productized high-volume filing operations (LegalZoom, Rocket Lawyer, Swyft and similar) — use 'law_firm' to EXCLUDE them, which is what a user means by \"exclude the agencies/factories\". 'full_service' is a law firm that litigates (files TTAB oppositions/cancellations); 'prosecution_only' is a law firm that mostly does not — that is practice scope, NOT a judgment about quality, and prosecution-only firms are entirely legitimate. 'in_house' is a company's own trademark department (Mattel, Disney), not a firm serving clients.", + "enum": [ + "all", + "law_firm", + "full_service", + "prosecution_only", + "filing_service", + "in_house" + ], + "type": "string" +} - added
Input schema / properties / min_filingsAdded value: +{ + "description": "Minimum filings a filer needs to appear. Defaults to 25 when rank_by is success_rate, 0 otherwise. Required for rate rankings: without a floor a filer with 2 marks and 2 registrations scores 100% and outranks a firm that won 900 of 1,000.", + "maximum": 100000, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / rank_byAdded value: +{ + "default": "filings", + "description": "What to order by. 'filings' is raw volume and is dominated by high-volume online filing services. 'success_rate' ranks by registrations as a share of DECIDED outcomes (registered vs abandoned), which surfaces quality rather than throughput. Every response carries success_rate_percent and supplemental_percent regardless of ordering.", + "enum": [ + "filings", + "registrations", + "success_rate" + ], + "type": "string" +}
1 tool update
- Changed
get_top_filers3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of ranked filers to return."New value: +"Maximum number of ranked filers to return. Up to 100 in a single call." - changed
Input schema / properties / limit / maximumPrevious value: -25New value: +100 - added
Input schema / properties / offsetAdded value: +{ + "default": 0, + "description": "Rank to start from, 0-based. Use with limit to reach deeper bands: ranks 40-45 are limit 6, offset 39. Ranks in the response already account for this.", + "maximum": 10000, + "minimum": 0, + "type": "integer" +}
1 tool update
- Changed
get_prosecution_document1 field changed- changed
Input schema / properties / document_id / descriptionPrevious value: -"Stable GleanMark document UUID from list_prosecution_documents; preferred exact selector."New value: +"Stable GleanMark document UUID; the exact selector. Omit every selector to get the list of documents for this serial and pick one from it."
1 tool update
- Changed
get_deadline_satisfaction_mapping1 field changed- changed
Input schema / properties / deadline_type / enumPrevious value: -[ - "office_action_response", - "opposition_period", - "section_15_initial", - "section_8_and_9_renewal", - "section_8_and_9_subsequent", - "section_8_initial" -]New value: +[ + "office_action_response", + "opposition_period", + "section_15_initial", + "section_8_and_9_renewal", + "section_8_and_9_subsequent", + "section_8_initial", + "statement_of_use", + "post_registration_office_action", + "itu_notice_response" +]
2 tool updates
- Changed
get_mark_owner_landscape1 field changed- added
Output schema / properties / ownersAdded value: +{ + "items": { + "properties": { + "live_mark_count": { + "type": "integer" + }, + "matching_mark_count": { + "type": "integer" + }, + "owner_detail_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "owner_name": { + "type": "string" + }, + "pending_mark_count": { + "type": "integer" + }, + "rank": { + "type": "integer" + }, + "registered_mark_count": { + "type": "integer" + }, + "share_percent": { + "type": "number" + } + }, + "required": [ + "rank", + "owner_name", + "matching_mark_count" + ], + "type": "object" + }, + "type": "array" +}
- Added
search_goods_services
Related MCP Connectors
Search 14M+ US trademarks by mark, owner, goods/services, class, status, and phonetic variants.
Trademark search, monitoring and conflict research across 30+ registers, with provenance.
Trademarks MCP — US trademark search + record lookup
Trademark clearance (USPTO+TMview) and self-graded stock signals for AI agents. JSON verdicts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA trademark research and monitoring MCP server that provides access to a normalized trademark corpus across 30+ registers, with provenance on every record, watch/monitoring capabilities, conflict research via Nice class, and portfolio management tools—without returning legal verdicts, leaving availability judgments to qualified professionals.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving USPTO Trademark Trial and Appeal Board proceedings from TTABVUE, including oppositions, cancellations, and appeals, with full docket and party history details.400 npmMIT
- AlicenseAqualityCmaintenanceEnables trademark clearance searches in Austria and the EU by querying official EUIPO APIs and TMview, generating search variants, deduplicating and scoring results, and providing consolidated findings with search logs and identified gaps for legal assessment.10MIT
- AlicenseNot gradedqualityBmaintenanceEnables read-only screening of brand names against US federal trademark records, identifying identical and similar marks across selected classes.29 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.