GleanMark Trademark Search
Server Details
Search 13.7M+ USPTO trademarks. Clearance, phonetic matching, TTAB stats, analytics.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 64 tools
Descriptions do heavy lifting with explicit cross-references (e.g. 'Do NOT substitute', 'use X instead'), but there are genuine near-duplicates: 'search' vs 'search_trademarks', 'fetch' vs 'lookup_trademark', and four overlapping name-similarity tools (phonetic_search, get_similar_marks, run_knockout_search, search_trademarks). Boundaries are usually statable but require careful reading, so misselection is plausible.
The vast majority of names follow a predictable verb_noun snake_case pattern (get_mark_deadlines, search_by_owner, list_prosecution_documents). The lone-verb outliers 'search' and 'fetch', plus the question-form 'is_mark_famous', are minor deviations in an otherwise consistent scheme.
At 64 tools this is far above the 15-tool sweet spot and near the rubric's '50+' extreme band. The domain is genuinely broad (search, prosecution, TTAB, owners, firms, deadlines, design codes, colors), so many tools earn their place, but the count still burdens selection.
The surface covers the full trademark lifecycle: name/conflict search, record fetch, prosecution history/documents, office action research, TTAB proceedings and enforcement, owner/firm/correspondent analytics, deadlines, Nice classes, goods/services validation, design codes, color claims, and web research. No obvious dead ends remain.
Available Tools
64 toolsanalyze_prosecution_historyAnalyze Prosecution HistoryARead-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, so the tool is a safe read operation. The description adds critical behavioral context: the async launch for authenticated users, what kind of result (a processing handle) and the expected completion time. This goes beyond annotations and is essential for correct 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 with precise information, no fluff. The core purpose is front-loaded, then the async behavior is stated clearly. 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 tool has one parameter, high schema coverage, and clear behavioral disclosure, the description is sufficiently complete. It lacks a return format description, but since there's no output schema and the async handle is mentioned, an agent can infer. The tool's simplicity means no additional context is needed.
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 covers 100% of the single parameter with 'USPTO serial number'. The description does not add detail beyond that, but since coverage is high)Skip the baseline is 3. The description does not introduce any ambiguity; it appropriately leaves parameter details to the schema. However, it could add context on formatting (e.g., 8-digit number) but that's marginal.
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 explicitly states the tool analyzes the full prosecution history of a trademark, providing a narrative timeline and examiner-behavior patterns. It distinguishes this from siblings like get_prosecution_timeline or get_mark_prosecution_summary by emphasizing the narrative and pattern aspects. The verb 'analyze' and resource 'prosecution history' are specific and 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 explains the asynchronous nature for authenticated usersainer, which is a key usage guideline. It differentiates from siblings by focusing on the full narrative history with examiner patterns, whereas siblings like get_latest_office_action or list_prosecution_documents are more specific or discrete. The context of 'usually done in under a minute' guides agents on expected latency.
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 ProceedingARead-onlyInspect
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?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond that: it discloses the asynchronous execution (1-2 minutes), that it returns a processing handle, and that quick_mode affects document coverage. These details are not in annotations and materially help the agent set expectations.
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 purpose and expected output, the second conveys the critical async caveat. Every word earns its place, and the structure makes the most important information immediately visible.
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 complex analysis tool with no output schema, the description covers the key deliverable (structured summary with timeline, positions, assessment) and the async flow. It mentions authentication requirements and quick_mode. It doesn't detail how to use the processing handle to retrieve results, but that is likely explained elsewhere or in the output documentation. Given the complexity, it's nearly complete, missing only a minor retrieval instruction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (proceeding_number and quick_mode) are fully documented in the schema. The description adds minimal extra meaning: it implies that quick_mode trades depth for speed and that the handle is for retrieval, but these are already implied by the schema. Since the schema carries the heavy lifting, a 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 ('Analyze'), a precise resource ('TTAB proceeding'), and the outcome ('returns a structured summary with timeline, party positions, and strategic assessment'). It clearly distinguishes from sibling tools like get_ttab_proceeding_details (which likely only fetches details) and search_ttab_proceedings (which searches), making the purpose 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 gives clear context for when to use the tool: for deep analysis versus simple retrieval. It also mentions the asynchronous behavior for authenticated full-mode runs, which is a critical usage note. However, it doesn't explicitly exclude alternatives or state 'use this instead of X', though the name and phrasing imply it. The guidance is solid but not exhaustive.
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-onlyInspect
Quick brand SCREEN — combines domain availability with a trademark conflict signal for the industries given. NOT a clearance search and NEVER an availability answer: it does not see common-law rights, state registrations, or goods relatedness in any depth. Returns a screening tier (avoid, probably avoid, promising, or nothing surfaced). Report a clean result as "our quick search did not surface close conflicts" — never as "no conflicts", "available", or "clear" — and always point the user to a complete clearance search. Availability conclusions come only from run_knockout_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?
Beyond the readOnly/openWorld/destructive annotations, the description discloses important behavioral limitations: it ignores common-law rights, state registrations, and goods relatedness depth. It also specifies the exact screening tier values and prescribes safe reporting language, which prevents the agent from making overclaiming statements.
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. It front-loads the core purpose with 'Quick brand SCREEN', then uses clear warnings and explicit reporting instructions. The structure makes the critical distinction between screening and clearance immediately visible.
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 legal nuance of trademark screening and the absence of an output schema, the description is remarkably complete. It explains what the tool does not see, what it returns, how to phrase results, and where definitive availability comes from. An agent has enough context to invoke it and interpret its output correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds some context by mentioning that the trademark conflict signal is 'for the industries given,' but it does not elaborate on nice_classes, business_description, or how these parameters interact. The schema descriptions are minimal, but the description does not need to compensate heavily because the parameters are self-explanatory.
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 as a quick brand screening service combining domain availability with a trademark conflict signal, and explicitly distinguishes it from an availability answer. It names the competitor sibling run_knockout_search, so an agent can select it correctly.
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: it is a quick screen, not a clearance search, and never an availability answer. It also directs final availability conclusions to run_knockout_search and instructs the agent to point users to a complete clearance search.
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-onlyInspect
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 convey read-only and non-destructive behavior. The description adds value by specifying the return statuses and .com variations, but doesn't disclose additional behavioral details like rate limits or data freshness.
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 clear, front-loaded sentences with no redundancy. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explains return statuses and .com variations, which is substantial. It could optionally mention that results are per-TLD, but the coverage is solid for a simple read-only 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 parameters are well-documented. The description adds context about .com variations corresponding to the brand_name parameter, but doesn't go beyond what the schema already explains for tlds.
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 it checks domain availability for a brand name and lists return statuses. It is distinct from most trademark tools due to domain focus, but does not explicitly differentiate from the sibling 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?
Usage is implied: it's for domain availability checks. However, no explicit guidance is given on when to use this tool versus alternatives like check_brand_availability or web_research, and no exclusion criteria are mentioned.
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-onlyInspect
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 destructiveHint=false, so the tool is known to be safe. The description adds methodology (DuPont-style analysis) and output type (similarity scores, risk assessment), which provides some behavioral context beyond the annotations. However, it does not disclose potential limitations, data sources, or scope nuances, so transparency is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains zero wasted words. Every sentence earns its place: the first states the function, the second summarizes the output.
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, annotations, and a clear two-sentence description, it is reasonably complete for a pairwise comparison tool. The description covers what it does and what it returns. It could benefit from clarifying the relationship to run_dupont_analysis or the jurisdictional scope, but these are not critical gaps given the existing structured metadata.
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 100% of parameters with descriptions, so the baseline is 3. The description does not add meaningful semantic details beyond the schema; it simply reiterates that two marks are compared. The nice_classes parameter is already described as 'Nice classes for overlap analysis,' and the description adds no clarification about mark formats or analysis scope.
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: compare two trademarks for likelihood of confusion using DuPont-style analysis. It names the specific resource (two trademarks) and the analytical approach, which distinguishes it from siblings like get_similar_marks or phonetic_search. However, it does not explicitly differentiate from the closely related sibling run_dupont_analysis, which may perform a similar role, so not a full 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 when a user needs to compare two specific trademarks for confusion risk, but it does not explicitly state when to use this tool over alternatives such as run_dupont_analysis or get_similar_marks. No exclusions or alternative recommendations are provided, leaving the choice ambiguous among similar 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-onlyInspect
Count and preview USPTO marks by record attributes rather than owner identity, with mark-type, standard-character, and Nice-class breakdowns plus metadata coverage. Use this for drawing type, standard-character, Nice-class, status, and cross-attribute counts. It can intersect claimed-color criteria with those attributes; color-only counts, rankings, lists, and 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 and destructiveHint=false, and the description adds context beyond this: it mentions 'preview' behavior and 'metadata coverage,' and clarifies that it can intersect color criteria. This gives the agent a clearer sense of the tool's functional scope without contradicting 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 purpose and key differentiators; the second delivers usage scope and exclusions. Every phrase earns its place, making it compact and 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 9-parameter tool with no output schema, the description gives a good high-level orientation but omits important invocation details: whether limit affects counts or only previews, how class_match_mode behaves, and the exact return structure. It is sufficient for tool selection but not fully complete for a complex 9-param 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 44% (low), and the description compensates partially by mapping core concepts: 'mark-type' to mark_types, 'standard-character' to standard_characters, 'Nice-class' to nice_classes, 'status' to status_filter, and 'claimed-color criteria' to the color params. However, it does not explain limit, class_match_mode, or interaction nuances, leaving some parameters underspecified.
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: 'Count and preview USPTO marks by record attributes.' It distinguishes from sibling tools by emphasizing 'rather than owner identity' and explicitly excluding 'color-only counts, rankings, lists, and vocabulary,' which differentiates it from tools like search_by_owner or color-focused searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use this for drawing type, standard-character, Nice-class, status, and cross-attribute counts.' It also gives exclusions ('color-only counts... are outside its scope'), helping the agent decide against this tool for those needs. However, it does not name specific alternative sibling tools, so it falls short of perfect alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetchARead-onlyInspect
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 indicate this is read-only and non-destructive. The description adds behavioral context by specifying the returned fields and the public gleanmark.com citation URL, which is especially valuable given the absence of an output schema. No contradiction with annotations exists.
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 well-structured sentence that front-loads the core action and then enumerates the return contents. Every piece of information serves a purpose without redundancy or 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?
Given the simple one-parameter schema, read-only annotations, and no output schema, the description provides sufficient context: what the tool does, where the id comes from, and what the results include. Nothing essential for calling the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single 'id' parameter with an example and accepted alternative format. The description adds meaning by explaining that the id comes from a search tool result and that the tool retrieves one trademark, which helps the agent correctly source and pass the 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 states a specific verb ('Retrieve') and resource ('the full USPTO record for one trademark'), and clarifies the required input is an id from the search tool. It also lists the key record fields returned, making the tool's function unmistakable and distinct from broad search 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 clearly indicates this tool should be used after a search, using an id returned by the search tool. It does not explicitly state when not to use it or name alternative sibling tools, but the dependency on a prior search is a clear and useful usage signal.
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-onlyInspect
Trace who has owned a trademark over time — the ownership stages USPTO recorded (original applicant/registrant through each successive new owner), plus any recorded assignment documents we hold. Use this whenever the user asks who owns a mark now versus who filed it, whether a mark was sold, transferred or assigned, how it came to its current owner, or for chain-of-title / due-diligence questions. lookup_trademark returns only the CURRENT owner and cannot answer any of these. Owners listed within a single 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 mark the tool as read-only and non-destructive, and the description adds meaningful behavioral context beyond that: what data is included (recorded ownership stages and assignment documents), a joint-owner interpretation caveat, and a legal non-opinion disclaimer. This gives the agent important information about output semantics that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core behavior, followed by specific use cases, a sibling distinction, a joint-owner clarification, and a disclaimer. Every sentence earns its place; 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?
The tool has one parameter, a read-only annotation set, and no output schema, so the description carries most of the burden. It explains what data is returned, what questions the tool answers, how to interpret the data, and what it does not provide. Nothing essential is missing for an agent deciding whether and how to call 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?
The schema covers 100% of parameter documentation, including the serial number format and the explicit rejection of registration numbers. The tool description does not add parameter-level detail beyond that, but it does not need to 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 identifies a specific action (trace ownership) on a specific resource (trademark ownership history over time) and clearly distinguishes itself from lookup_trademark, which only returns the current owner. The wording 'original applicant/registrant through each successive new owner' precisely defines 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 gives explicit when-to-use guidance: ownership changes, assignments, transfers, chain-of-title, and due-diligence questions. It also names the alternative lookup_trademark and explains why that tool cannot answer these questions, plus includes a clear exclusion ('Not a title opinion').
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 ClassesARead-onlyInspect
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 and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context by explicitly mentioning two distinct result types (coordinated vs related), which maps to the relationship_type parameter and is not apparent from annotations alone.
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 no superfluous words. Every word contributes to the core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with well-described schema parameters, the one-sentence description is adequate. However, it could benefit from a brief note clarifying the difference between 'coordinated' and 'related' to prevent ambiguity, though the parameter description for relationship_type partially compensates.
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% with descriptions for all four parameters, so the baseline of 3 applies. The description adds no parameter-specific detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('look up') with a clear resource ('coordinated Nice classes or related Nice classes') and scope ('for a given class number'). It distinguishes itself from sibling tools like get_nice_classes (which likely lists all classes) and recommend_nice_classes (which recommends classes).
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 no guidance on when to use this tool versus alternatives such as get_nice_classes or recommend_nice_classes. It only states the function, not the 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_cohort_event_intervalsCohort Event IntervalsARead-onlyInspect
Aggregate event-to-event pendency across a COHORT of marks — e.g. "average days from office action to publication for marks published in Q2 2026". Pick the cohort by an anchor event (preset: publication, notice_of_publication, registration, notice_of_allowance, abandonment, first_office_action — or raw event codes, trailing * = prefix) within a date window (max 366 days), and an interval start/end event. Returns avg/median/percentiles in days, how many cohort marks never had the start event, and example marks. Samples up to max_sample marks from the start of the window and says so when truncated. Use get_event_code_reference first if you need non-preset event codes.
| 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 mark this as a safe read-only operation, and the description adds substantial behavior: it returns averages/medians/percentiles, counts marks lacking the start event, and discloses sampling behavior ('Samples up to max_sample marks from the start of the window and says so when truncated'). It also explains the max 366-day date window.
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 main action, uses a concrete example, and every sentence adds detail about parameters, return value, or usage. It is compact yet thorough, with 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?
For a complex analytics tool with no output schema, the description adequately specifies return values (avg/median/percentiles, missing-start counts, example marks), explains the sampling behavior, and gives a full workflow. It also cross-references a sibling tool for code lookup, making the tool self-contained.
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 already covers all 9 parameters with descriptions (100% coverage). The description adds semantic context by explaining how the cohort anchor, interval start/end, and raw event codes work together, and it defines the prefix wildcard ('trailing *') behavior, which is only partially present 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 'Aggregate' and identifies the resource 'event-to-event pendency across a COHORT of marks', followed by a concrete example. It distinguishes itself from sibling individual-mark tools by emphasizing the cohort scope and by referencing get_event_code_reference for event codes.
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 provides a clear use scenario with an example and instructs users to 'Pick the cohort by an anchor event... within a date window... and an interval start/end event.' It also explicitly directs to 'Use get_event_code_reference first' for non-preset codes, offering an alternative workflow. However, it does not explicitly state when not to use the tool (e.g., for single-mark queries).
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-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context by stating the sort order ('sorted by prosecution history length') and the inclusion of event counts and office action flags, going 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, front-loaded with the core purpose, followed by return characteristics and usage guidance. Every sentence earns its place with no redundancy or 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?
The description effectively conveys the tool's scope and output characteristics, including sort order and included data types. It does not detail return fields or parameter selection logic, but the schema covers parameter semantics, and the annotations handle safety, making this sufficient for the tool's 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%, with all seven parameters having descriptions. The description does not add significant meaning beyond the schema, but it does reinforce that search_term/correspondent_name relate to attorney identity, matching the tool's purpose.
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 retrieves all trademarks handled by a specific attorney/correspondent, including prosecution event counts and office action flags. The phrase 'attorney-specific mark queries' distinguishes it from general trademark search tools like search_trademarks.
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,' providing a clear when-to-use context. It does not mention alternatives or when not to use the tool, but the use case is specific enough.
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-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is covered. The description adds useful behavioral context about the output (top clients, Nice classes, prosecution/TTAB profile) but does not disclose potential resolution behaviors or edge cases. It contributes some value beyond 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?
The description is a single sentence that front-loads the main action and then adds usage guidance. No wasted words; every clause earns its place. It is highly concise while remaining informative.
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?
This is a read-only summarization tool with a rich output schema and full parameter documentation. The description explains the tool's purpose, when to use it, and key output elements, which is sufficient for an agent to select and invoke it. It does not describe return format, but the output schema compensates for that.
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%, with all five parameters described. The description does not add extra meaning beyond the schema, so the baseline score of 3 applies. It does not explain how parameters interact (e.g., url_key vs search_term priority), but the schema descriptions already cover each parameter individually.
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 summarizes what a named correspondent specializes in, with specific output components (top clients, Nice classes, prosecution vs. TTAB profile). This distinct 'specialization' focus differentiates it from sibling tools like get_correspondent_marks or get_firm_top_correspondents.
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 to use this tool when the user asks what a specific correspondent or attorney specializes in. It provides clear contextual guidance, though it does not mention alternatives or exclusion cases, so it earns 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_deadline_satisfaction_mappingDeadline Satisfaction ReferenceBRead-onlyInspect
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 cover the operational safety profile with readOnlyHint=true and destructiveHint=false, so the description only needs to add behavioral context. It adds useful detail about the role vocabulary and the reference table, but it does not disclose return shape, behavior when no mapping exists, or any pagination/lookup properties. That is acceptable but not rich by the standard set by strong examples.
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 with the action front-loaded and no redundant words. The list of deadline types at the end is information-dense, which slightly hurts readability but is justified because it previews the enum space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only lookup with no output schema, the description covers the core semantics well: what input items are, what the tool will compute, and what vocabulary the answer uses. It could be strengthened with a note about edge cases like missing mappings, but nothing is critically absent for 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 parameters are already individually documented. The description adds meaning beyond the schema by stating the domain table (deadline_event_roles) and listing the role categories and deadline families, which helps an agent know what response to expect and how the two parameters interact.
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 identifies a specific verb—'Check what role'—and a clear resource: the deadline_event_roles vocabulary table mapping event codes to deadline role. It also lists the possible role outputs, which makes the tool's purpose very concrete. It stops short of a 5 because it does not explicitly differentiate itself from sibling lookup tools like get_event_code_reference or get_event_status_mapping.
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 the many sibling reference tools. The description implies the intended use case, but no alternatives, exclusions, or prerequisites are named, so an agent would need to infer the right choice from the tool name and purpose alone.
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-onlyInspect
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 indicate read-only and non-destructive behavior. The description adds value by stating return fields (code, description, category) and search modes, providing useful context that is not in the annotations. No contradictions with annotations were found.
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 no fluff. The main action is front-loaded, and every phrase adds useful information about search modes or return values. Excellent structure.
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 lookup tool with three optional parameters and no output schema, the description covers purpose, search modes, and return fields. It could mention the default behavior when no parameters are provided, but overall it is complete enough for effective 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?
The schema provides 100% coverage with descriptions for all three parameters. The description's mention of 'exact code, code prefix, or keyword' mirrors the schema's parameter descriptions without adding new meaning beyond what is already structured. 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 opens with a specific verb and resource: 'Look up USPTO event codes used in trademark prosecution.' This clearly distinguishes the tool from generic siblings like get_reference_lookup by focusing on event codes and the trademark prosecution domain.
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 explains how to search (by exact code, prefix, or keyword) but does not provide explicit when-to-use guidance or mention alternatives. The phrase 'used in trademark prosecution' implies its context, but no exclusions or comparisons are given.
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-onlyInspect
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 read-only and non-destructive behavior. The description adds that results are based on 'most commonly follow', implying a statistical or historical source, but it does not explain what happens if no mapping exists, whether results are sorted, or if the output is a list (though the 'limit' parameter suggests multiple). It adds some context beyond annotations but lacks depth.
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, clear sentence that front-loads the key action and object. Every word is necessary and there is no repetition of schema 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?
The tool is a simple lookup with a clear purpose, and the schema documents both parameters. However, with no output schema, the description does not clarify the return structure (e.g., whether it returns a single mapping or a list, or the fields included). This is a moderate gap that could confuse the 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?
The schema description covers both parameters fully (event_code and limit), so the baseline is 3. The description adds no additional parameter-specific details beyond what the schema already provides, such as formats or examples.
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 specifies a concrete action ('Look up') with a specific resource ('USPTO status code and status definition') and a condition ('most commonly follow a specific prosecution event code'). It distinguishes itself from siblings like 'get_event_code_reference' by focusing on status mapping rather than definition alone.
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 context but does not explicitly state when to use it versus alternatives or when not to use it. It lacks any mention of use cases, alternatives, or exclusions, so the agent must infer from the tool name and description.
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-onlyInspect
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 signal read-only and non-destructive behavior. The description adds valuable behavioral context by framing the output as 'circumstantial signal, not statutory fame proof' and detailing the kind of data returned (fame tier, path, etc.), helping the agent understand the nature and limits of the response beyond the safety 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 somewhat long but well-organized, front-loading the core function, followed by a structured list of returned attributes and then usage guidance. The length is justified by the complexity of a fame profile, but a few redundancies (e.g., 'brand' and 'mark wording') could be tightened.
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 and the absence of an output schema, the description thoroughly covers what data will be returned (fame tier, path, footprint, portfolio size, crowding, TTAB history), how to invoke it (by mark or stem), and a critical limitation (circumstantial, not statutory proof). This makes it highly complete for an agent to understand the tool's scope.
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 sole parameter mark_or_stem has a detailed schema description (100% coverage) explaining that a mark or bare brand stem resolves to the same family. The tool description only briefly repeats this ('by mark wording or brand stem') without adding substantial new meaning, so the schema carries the semantic burden.
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 specific resource ('full fame profile for a brand'), enumerating the profile's components (fame tier, path, class footprint, portfolio size, brand-stem crowding, TTAB history). This distinguishes it from sibling tools like is_mark_famous, which presumably only returns a yes/no fame determination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit use cases are provided: 'explain WHY a mark is (or is not) famous' and 'profile a senior mark before a §2(d) / opposition / dilution strategy.' The caveat 'Circumstantial signal, not statutory fame proof' serves as a when-not-to-rely-on guidance. However, it does not explicitly name alternative tools, such as is_mark_famous, for simpler fame checks.
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-onlyInspect
Resolve a trademark law firm and return what its lawyers should focus on: overdue/next-window action-required deadlines plus recent Office Actions from both case-file events and prosecution documents, including ROA-filed and §2(d) indicators. Use this for questions like "what correspondent tasks should this firm focus on over the next 30 days?" or "what recent OAs does this law firm have?".
| 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 and destructiveHint=false. The description adds meaningful behavioral detail: it resolves/normalizes a firm name, aggregates deadlines and recent OAs from dual sources (case-file events and prosecution documents), and includes ROA-filed and §2(d) indicators. This goes beyond the basic safety profile, though it does not discuss pagination, rate limits, or exact return formatting.
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: the first packs the core function and scope, the second provides concrete example queries. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-output-schema tool, the description covers purpose, data sources, and inclusion criteria well. It does not list alternatives or return structure, but the example questions and explicit content summary suffice for the tool's complexity. Slight gap: no mention of how results are ordered or whether both deadlines and OAs are always present.
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 each parameter has a clear description with defaults and bounds. The tool description adds little to parameter semantics—only the example 'over the next 30 days' hints at deadline_days usage. Baseline 3 is appropriate since the schema carries the full burden.
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 ('Resolve a trademark law firm and return') and clearly identifies the resource ('firm correspondent tasks'). It enumerates exactly what is returned (overdue/next-window deadlines, recent Office Actions from case-file events and prosecution documents, ROA-filed and §2(d) indicators), distinguishing it from simpler firm-deadline or OA-only tools. Example questions reinforce the purpose.
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 with example questions ('what correspondent tasks should this firm focus on over the next 30 days?'). It implies when to use the tool but does not explicitly mention exclusions or alternative sibling tools, so it stops short of full 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_deadlinesFirm DeadlinesARead-onlyInspect
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 and destructiveHint=false, but the description adds meaningful detail beyond them: the data source ('public firm resolution and prosecution mappings only') and explicit exclusions (workspace, client, reminder, user-created data). This enriches the agent's understanding of the tool's 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?
Two sentences, front-loaded with the primary verb and resource, followed by a clarifying limitation. Every word earns its place; no fluff 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 an output schema present and a read-only tool of moderate complexity (7 params, all documented), the description sufficiently covers the tool's scope, data source, and exclusions. It gives the agent enough to correctly decide invocation without needing to parse the 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?
The input schema provides 100% description coverage for all 7 parameters, including defaults and enum values. The description itself does not add parameter-specific information, but per the rubric, a baseline of 3 applies when the schema carries the load. No compensation needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and precisely identifies the resource: 'public, system-generated trademark deadlines across marks handled by a specific law firm.' This clearly distinguishes it from sibling tools like get_mark_deadlines and get_owner_deadlines by the firm-level 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 ('public, system-generated' and 'Does not expose any workspace, client, reminder, or user-created deadline data') that tells the agent when to use this tool and what it will not return. However, it does not explicitly name alternative tools for those excluded cases, 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.
get_firm_oa_outcomesFirm Office Action OutcomesARead-onlyInspect
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 destructiveHint=false, so the safety profile is established. The description adds meaningful behavioral detail: it resolves/normalizes the firm name, computes rates at mark level, and distinguishes raw counts versus excluding pending matters. This gives context beyond the annotations, though edge cases like unknown firms or empty result sets are not disclosed.
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 action, and includes illustrative user questions. Every sentence earns its place with no redundancy, making it both concise and well-structured.
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 two parameters, no output schema, and annotations that confirm read-only behavior, the description supplies the essential context: what the tool computes, the distinction between raw and excluding pending matters, and example questions. It does not fully specify the exact response format, but enough is conveyed for an agent to use the tool correctly in most situations.
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% description coverage for both parameters: firm_name and limit, each with clear descriptions. The tool description does not add additional parameter semantics beyond what the schema already 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 states a specific action (resolve a law firm and compute mark-level Office Action outcome rates) and resource (firm's OA outcomes). It includes example questions that clarify intended use, and it distinguishes itself from sibling tools like get_latest_office_action (single mark) and research_office_action (likely OA strategy) by focusing on firm-level aggregated metrics.
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 questions like...' giving concrete query examples, which provides clear context for when to invoke the tool. However, it does not mention when NOT to use it or name alternative sibling tools for different scenarios, so it falls short of explicit exclusion guidance.
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-onlyInspect
Get the leading correspondents or attorneys inside one named law firm, ranked by filing volume with prosecution and TTAB activity counts. Use this when the user asks for top correspondents at a specific firm, such as "Who are the top correspondents at Fross Zelnick?"
| 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 declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds valuable context about ranking criteria (filing volume, prosecution, TTAB activity counts) and the one-firm scope, going beyond simple read-only labeling.
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: the first states the function and criteria, the second gives usage context with an example query. Every word earns its place; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema annotations, an output schema, and explicit usage guidance, the description is complete. It covers the core purpose, ranking metrics, one-firm scope, and a practical trigger example.
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 firm_name and limit having clear descriptions in the input schema. The description adds no parameter-specific details beyond what the schema already 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 tool retrieves leading correspondents/attorneys at a named law firm, ranked by filing volume with prosecution and TTAB activity counts. It distinguishes this from sibling tools like get_correspondent_marks by focusing on firm-level ranking and specific metrics.
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 using this tool when the user asks for top correspondents at a specific firm, with a concrete example query. However, it doesn't mention alternatives or when not to use it, so it falls short of full exclusion guidance.
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-onlyInspect
Get the latest office action for a trademark serial number, plus the latest recorded response if one exists, and the VERIFIED refusal grounds (with cited registration numbers) parsed from the OA text. The refusal_grounds field is the authoritative, parsed basis of the refusal (rather than 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, so the safe-read nature is covered externally. The description adds some behavioral detail: it returns the latest office action plus an optional latest response products, and says refusal_grounds is parsed and authoritative. However, it does not disclose edge cases such as marks with no office action or how the verified refusal grounds are derived.
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 focused sentences, front-loaded with the main action, then adding the two key value-added details: the optional response and the authoritative refusal-grounds field. 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?
With no output schema, the description usefully explains the main returned components: the latest office action, the recorded response if one exists, and the verified refusal grounds. It does not state what happens when no office action exists or give a serial-number format, but for a single-parameter read-only lookup the essential calling context is present.
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%: 'serial_number' is described as 'USPTO serial number' in the schema lob. The description restates 'trademark serial number' but does not add substantially new meaning beyond the parameter name and schema 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 identifies a specific verb ('get'), a specific resource ('latest office action'), and the input ('trademark serial number'). It also clarifies the scope by mentioning the latest response and verified refusal grounds, and the emphasis on 'VERIFIED' and 'authoritative' distinguishes this computed result from raw document 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 does not name sibling tools or state when to prefer this tool over alternatives such as analyze_prosecution_history or get_prosecution_document. There is no explicit when-to-use or when-not-to-use guidance, so an agent must infer selection from the tool name and general wording.
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-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds that the summary is AI-generated and includes specific content areas, but does not disclose potential latency, cost, or that AI-generated output may be interpretive. This is acceptable given annotations but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The first sentence front-loads the core purpose, and the second enumerates coverage without redundant wording. Every sentence contributes 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?
No output schema exists, but the description enumerates what the summary covers (mark details, goods/services, status, owner, prosecution context, active legal proceedings). While it doesn't describe the exact return format or error behavior, for a single-parameter summary tool, this is largely sufficient. Slight gap: no mention of what happens if the serial number is invalid or not found.
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%: the only parameter serial_number is described as 'USPTO serial number'. The description adds no additional parameter syntax or format details, staying at baseline where the schema fully handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('AI-generated deep-dive summary of a specific trademark'), and lists the content areas covered. This distinguishes it from siblings like get_mark_prosecution_summary (narrower scope) and lookup_trademark (basic details) by emphasizing the AI-generated, comprehensive nature.
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 a comprehensive AI-generated overview of a mark is needed, including prosecution context and legal proceedings. It does not explicitly exclude alternatives or name sibling tools, but the clear scope provides enough contextual guidance for selection.
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-onlyInspect
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?
The description adds behavioral context beyond the annotations: it discloses that deadlines are system-generated, that mark names are resolved to serial numbers first, and that no user-created data is exposed. These are meaningful details not covered by readOnlyHint and destructiveHint.
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 the primary purpose and scope front-loaded. Every clause adds useful information—scope, resolution behavior, and exclusions—with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and annotations, the description is complete for tool selection and invocation. It covers the target resource, scope, resolution behavior, and exclusions, which is sufficient to distinguish from siblings and 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 100%, so the baseline is 3. The description adds value by explaining the relationship between serial_number and subject_name (resolving a mark name to a serial first), which is not in the schema. This helps the agent decide which parameter to use.
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 it gets public, system-generated trademark deadlines for a specific mark, with a specific verb and resource. It distinguishes from siblings like get_firm_deadlines and get_owner_deadlines by emphasizing mark-specific scope and excluding workspace/client/user-created 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 for when to use this tool (for public, system-generated mark deadlines) and an explicit exclusion (not for workspace/client/user data). However, it does not name specific alternative tools, so it stops short of full 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_mark_international_profileInternational Filings for a MarkARead-onlyInspect
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 indicate read-only, non-destructive behavior. The description adds essential context beyond annotations by disclosing the data source limitation: 'Data comes from USPTO records, so it is only available for marks with a USPTO record — it does not query WIPO/EUIPO live.' This is a critical behavioral trait.
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 well-structured and front-loaded with the core purpose, followed by usage guidance and a caveat. Every sentence adds value with no 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?
There is no output schema, so the description carries the burden of explaining return values. It does so in detail, listing IR number, date, status, renewal, 66(a) extension, Madrid maintenance, and foreign applications/registrations with fields. Combined with the data source caveat, it is complete for a complex 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% since serial_number is described as 'USPTO serial number'. The description restates 'by serial number' but adds no new parameter semantics or format details. 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 clearly states the tool's function: 'Get the international / foreign footprint of a U.S. trademark by serial number' and enumerates specific data elements (IR number, date, status, renewal, 66(a) extension, etc.). This distinguishes it from sibling tools, none of which focus on international/Madrid filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this for ANY question about a mark's foreign, international, Madrid Protocol, WIPO, or EUIPO registrations,' and also provides a when-not-to-use caveat: 'it does not query WIPO/EUIPO live.' This gives clear usage direction and exclusions.
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-onlyInspect
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 this a safe read-only operation (readOnlyHint=true, destructiveHint=false). The description adds useful context about the output (owners ranked by footprint, wider portfolio context), but does not disclose potential heavy queries, pagination, or any caveats about the 'landscape' aggregation.
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: the first states the core action, the second provides usage context and return summary. It is front-loaded, concise, and every sentence earns its place without 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?
Despite having 5 parameters and an output schema, the description covers the essential context: it explains the output type (owners ranked by footprint with portfolio context), gives concrete examples, and the schema covers parameters and returns. The lack of extra behavior notes is acceptable given the annotations and minimal 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?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The tool description adds no parameter-specific details beyond what the schema already provides; examples like 'COMET' subtly imply contains-match, but the schema explicitly documents match_mode.
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 ('Show') and resource ('owners holding marks matching a shared trademark term'), and clearly distinguishes itself from siblings by focusing on owner landscape with portfolio context. Examples like 'Which companies own a trademark for COMET?' ground the purpose.
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 includes explicit guidance on when to use the tool ('Use this for crowded owner-landscape questions...'), providing clear context. However, it does not mention alternatives or exclusions, stopping short of a full 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_prosecution_summaryProsecution Summary for a MarkARead-onlyInspect
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=true and destructiveHint=false, so safety is covered. The description adds context about what data is returned (status, counts, dates, milestones), but does not disclose additional behavioral traits like error handling, data freshness, or limitations. This is adequate but not exceptional given the existing 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: the first states the purpose, the second lists return contents. It is front-loaded, succinct, and every phrase adds value. No redundant or verbose language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately explains what the tool does and what it returns. It lists the key return categories, which is sufficient for an agent to decide whether to use it. However, it does not mention edge cases like empty results or error behavior, which would make it more 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%, with serial_number described as 'USPTO serial number.' The tool description does not add extra meaning beyond the schema, such as format requirements or examples. Since the schema already 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 clearly states the tool's function: 'Get a compact prosecution summary for a trademark serial number.' It specifies the resource (trademark serial number) and the output contents (current status, document counts, dates, milestones, key event). This distinguishes it from sibling tools like get_prosecution_timeline or get_latest_office_action, which focus on specific 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 implies usage for a quick overview ('compact summary') but does not explicitly state when to use this tool over alternatives. No exclusions or alternative recommendations are provided, so the usage context is only implied rather than clearly guided.
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-onlyInspect
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 this as a safe read-only operation (readOnlyHint=true, destructiveHint=false). The description adds context about trademark registration and the two lookup modes, but does not disclose additional behavioral traits beyond what annotations provide. This aligns with the calibration where a read-only lookup with annotation coverage earns a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every phrase adds value. It efficiently conveys the tool's function and its two input modes without redundancy or 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?
Given the simple tool nature, strong annotations, full schema coverage, and presence of an output schema, the description is complete. It covers the essential lookup capabilities and is sufficient for an agent to understand when and how to invoke the tool, especially with sibling tools providing related but distinct functions.
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%, with both search_term and class_numbers already described in the input schema. The description mentions the two modes but adds no extra detail about parameter syntax, constraints, or interactions. This meets the baseline for schema-covered parameters without needing further compensation from 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 clearly states the tool's purpose: getting information about Nice Classification classes for trademark registration. It distinguishes from siblings like recommend_nice_classes by focusing on lookup and search rather than recommendation, and from get_class_relationships by targeting class details rather than relationships.
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 explains the two primary usage modes: looking up specific class numbers or searching by keyword. This implies when to use the tool, but it does not explicitly mention alternatives or exclusions, such as using recommend_nice_classes for class suggestions. The context is clear enough for an agent to select this tool for direct class information needs.
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-onlyInspect
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?
The description adds caching behavior ('Results are cached for 30 days') and the AI-generated nature of the output, supplementing the readOnlyHint and destructiveHint annotations. It also outlines the analysis dimensions, which sets expectations for the response content beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding value: purpose, content areas, and caching. Front-loaded and free of 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 one well-documented parameter and robust annotations, the description sufficiently covers the tool's behavior. The absence of an output schema is mitigated by the explicit list of analysis areas, though it could mention response format or variability, leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter fully documented including format examples and prerequisite instruction. The description adds no additional parameter semantics, so the baseline of 3 applies when 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 'Get an AI-generated strategic analysis of a trademark owner' and enumerates five specific content areas (brand protection philosophy, litigation posture, portfolio evolution, class distribution, likely future behavior), making the purpose unmistakable and distinguishing it from sibling tools like 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 schema explicitly instructs to 'Use search_by_owner first to find the correct normalized name,' providing a clear prerequisite for correct usage. However, the description does not name alternatives for specific owner analyses (e.g., get_owner_filing_trends) nor explicitly state when not to use this tool, so it's clear but lacks exclusions.
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-onlyInspect
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?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful context: data source (public USPTO owner resolution), nature (system-generated), and explicit exclusion of private workspace data. This goes beyond annotations by clarifying the data scope and what the tool will not return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function, and every clause adds value. No redundant information or 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 full schema coverage, an output schema, and annotations declaring safe read behavior, the description adequately covers the tool's scope and exclusions. It is complete for an owner-level read-only query tool, and the exclusion of workspace data helps avoid misuse.
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 all seven parameters fully documented, so the description does not need to compensate. The description's phrase 'across a specific owner’s marks' adds mild context for owner_name but does not add new parameter-level semantics 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 states the tool gets public, system-generated trademark deadlines across a specific owner's marks, using a specific verb and resource. It distinguishes itself from sibling tools like get_mark_deadlines and get_firm_deadlines by emphasizing owner-level scope and public system-generated 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 implies when to use this tool: for owner-level public USPTO deadlines, not workspace/client/reminder data. It explicitly states exclusions ('Does not expose any workspace, client, reminder, or user-created deadline data'), though it doesn't name alternative sibling tools directly.
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-onlyInspect
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 and destructiveHint=false, so the safety profile is known. The description adds context beyond annotations by specifying that results are yearly counts broken down by Nice class and that they reflect portfolio evolution. It does not disclose any surprising behaviors, but it adds useful detail about the output granularity.
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 purpose ('Get a trademark owner's filing trends over time'), and includes a useful secondary sentence about portfolio evolution. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple read-only nature, the schema covers all parameters, and annotations cover safety, the description sufficiently conveys the output (yearly filing counts by Nice class) and its interpretive value. No output schema exists, but the description outlines the key structure of the returned data.
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 three parameters have clear descriptions. The main description does not add any parameter-specific meaning beyond what the schema already provides. Baseline of 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 function: retrieving a trademark owner's filing trends over time, broken down by Nice class. It uses a specific verb ('Get') and resource, and the mention of 'yearly filing counts broken down by Nice class' distinguishes it from other owner-related tools like get_owner_ai_summary or get_owner_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 provides clear context for when to use the tool ('Shows how the owner's trademark portfolio has evolved'), which implies a use case. However, it does not explicitly name alternatives or exclusion scenarios, so it falls short of a 5. The schema parameter description for owner_name does suggest using search_by_owner first, but that is outside the main description.
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 KeywordsARead-onlyInspect
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 and destructiveHint=false, so safety is covered. The description adds behavioral context by noting results are 'most frequent' and that they reflect owner focus, but it does not describe the return format, how ordering works, or how frequency is computed. This adds some value but lacks richer 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 sentences, front-loaded with the core action ('Get...') and immediately followed by the value statement. Every word contributes to understanding the tool; there is no wasted content. This is an efficient, well-structured description.
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 list tool with two well-documented parameters and no output schema, the description covers the purpose and use case sufficiently. It could mention the output format or limit behavior, but given the simplicity of the tool and the rich sibling context (which clarifies its niche), it is complete enough.
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 owner_name and limit have descriptions). The tool description does not add significant meaning beyond the schema; it mentions the concept of owner and keywords but does not elaborate on parameter usage or relationships. Given the full schema coverage, 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 ('Get') and clearly identifies the resource ('most frequent goods/services keywords for a trademark owner'). It distinguishes this from sibling owner-focused tools like get_owner_ai_summary or get_owner_filing_trends by focusing on keyword frequency. The added phrase about brand strategy and class patterns clarifies the tool's value proposition.
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 a clear use case ('useful for understanding their brand strategy and identifying class patterns') but does not explicitly state when to use this tool over alternatives or mention exclusions. It implies usage context rather than giving direct guidance, so it earns an implied-usage score.
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-onlyInspect
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=true and destructiveHint=false. The description adds meaningful behavioral context: filtering/counting only qualifying target marks, separately reporting all targets attached to qualifying proceedings, and a caveat that claimed-color metadata does not prove pleading allegations. This goes 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?
Three sentences, front-loaded with the primary action. Every sentence earns its place: main purpose, filtering/reporting behavior, and a caveat with alternative. No filler or redundant restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters and no output schema, the description gives a solid high-level picture of outputs: counts of filtered target marks and separate reporting of all targets. It covers key nuances (exact class-only, color caveat) and points to an alternative for deeper evidence. It does not detail all return fields, but for an analytic tool this is acceptable.
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 77%, so baseline is 3. The description adds value for target_class_match by explaining 'exact class-only questions,' and clarifies the limited evidentiary weight of color claims (relevant to target_claims_color and target_color_families). This compensates for the missing 23% and enriches parameter understanding.
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-resource combo: 'Analyze one trademark owner's TTAB enforcement in a single call.' It clearly distinguishes from siblings by emphasizing the single-call analysis and by pointing to analyze_ttab_proceeding for deeper color-evidence verification. The scope is unambiguous and not 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?
Provides clear context for use: analyzing a single owner's TTAB enforcement, including class/type/color filters and exact class-only needs. It explicitly directs to analyze_ttab_proceeding when color evidence must be confirmed in pleadings, giving a specific alternative. It lacks broader 'when not to use' guidance but is sufficient for most scenarios.
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-onlyInspect
Get a compact TTAB history for one owner with substantive inter partes, opposition, cancellation, extension, appeal, and role breakdowns. Do not equate total records with initiated oppositions. Use get_owner_ttab_enforcement for date ranges or challenged-mark/class analysis.
| 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 (readOnlyHint=true, destructiveHint=false) already establish safety, and the description adds meaningful semantic context: 'compact', the scope 'for one owner', and a caution about interpretation of totals. It doesn't describe output structure, but for a read-only stats tool with good annotations, this exceeds the baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and content, and every clause adds value—no filler, no repetition of schema details.
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 compact stats tool with no output schema, the description conveys the main output categories (opposition, cancellation, appeal, role breakdowns) and gives a clear alternative for deeper analysis. A slight gap is the lack of any indication of return shape or ordering, but the listed breakdowns and warning provide sufficient 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 67%, with owner_name and year described; limit lacks a description. The description reinforces 'one owner' and 'compact' but does not add parameter-specific semantics beyond the schema. Given moderate coverage, a 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 ('Get') and clear resource ('compact TTAB history for one owner'), enumerates the breakdown types (inter partes, opposition, cancellation, extension, appeal, role), and explicitly differentiates from the sibling tool get_owner_ttab_enforcement.
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 explicitly states when to use this tool versus an alternative: 'Use get_owner_ttab_enforcement for date ranges or challenged-mark/class analysis.' It also provides interpretive guidance ('Do not equate total records with initiated oppositions'), clarifying a common misuse.
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-onlyInspect
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 mark the tool read-only and non-destructive. The description adds genuinely useful behavioral detail: it returns a working link, extraction/readability status, cached document text, optional excerpts, and switches to a newest-first document list when no selector is provided. 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 four sentences with no filler: core retrieval purpose, return contents, text_query usage, and serial_number fallback. Each sentence earns its place and the most important 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?
There is no output schema, so the description compensates by naming the return fields explicitly. It also explains the input-omission mode, which is essential for correct invocation. With read-only annotations covering safety and the schema documenting all parameters, 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 coverage is 86%, so parameters are already largely defined. The description adds meaning beyond the schema by identifying document_id as the stable exact selector, explaining that omitting all selectors returns a list, and clarifying that text_query produces excerpt-centered results. It doesn't add detail for max_chars, but schema bounds cover that.
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 and resource: retrieve one specific USPTO prosecution document by stable document_id, and enumerates the selectors and return fields. The fallback behavior (serial_number alone returns a pickable list) clearly distinguishes it from list_prosecution_documents and other retrieval 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 tells the agent when to use text_query (when the user asks what a document says about an issue) and when serial_number alone is sufficient, removing the need for a separate list_prosecution_documents call. It does not contrast with get_latest_office_action or research_office_action, but the single-document scope 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_prosecution_timelineProsecution TimelineARead-onlyInspect
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=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context by clarifying that the output is 'raw data without AI analysis' and describes the chronological structure, which goes beyond what annotations provide. It does not discuss limits or auth, but that is not critical here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by a clarifying statement about raw data. There is zero waste and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, read-only annotations, and no output schema, the description provides enough to understand what the tool does and what to expect (chronological list of events). It could be more specific about scope or limitations, but it is largely complete for a simple timeline retrieval 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?
The input schema has 100% description coverage for the single parameter serial_number, which is already described as a 'USPTO serial number.' The tool description adds no additional parameter-level detail beyond confirming it is for a trademark, 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 tool's function: 'Get the prosecution timeline for a trademark' and specifies the content as a 'chronological list of office actions, responses, and key events.' It distinguishes itself from siblings by noting it provides 'Raw data without AI analysis,' setting it apart from analysis-focused tools like analyze_prosecution_history and 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 description provides clear context on when to use the tool: for raw timeline data, and indicates a when-not by saying 'without AI analysis.' However, it does not explicitly name alternative tools for analysis, so it falls short of the highest standard for explicit alternatives.
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-onlyInspect
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 and destructiveHint=false, so the safety profile is covered. The description adds domain context (USPTO/TTAB) but discloses no additional behavioral traits like pagination behavior, though the after_code parameter hints at 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?
A single sentence with a clear verb and a list of example table types. It is efficient and front-loaded, though the enumeration makes it slightly longer than strictly necessary.
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 lookup tool with a well-specified schema and annotations, the description conveys the core purpose and scope adequately. It doesn't explain pagination or return format, but these are not required given the schema and 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?
With 100% schema description coverage, the baseline is 3. The description does not add parameter-level detail beyond the schema; for instance, it doesn't explain the distinction between code, query, and after_code, but the schema already handles this.
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 ('Look up') and the resource ('USPTO or TTAB reference codes and small lookup tables'), with a helpful list of example table types. It is distinct in scope from sibling tools like get_nice_classes or search_design_codes, 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 usage context: use when you need a reference code or small lookup table value. However, it doesn't state when not to use it or mention alternatives, such as more specialized sibling tools for specific tables.
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-onlyInspect
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 this as read-only and non-destructive. The description adds value by explaining the matching algorithm (phonetic, trigram, component) and the meaning of similarity_score vs confusion_score, including the commercial overlap concept. This goes beyond the annotations and 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?
Three concise sentences, front-loaded with the core purpose. Every sentence adds meaningful information without redundancy or 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?
With annotations covering safety, a rich schema, and an output schema (not shown but indicated), the description still adds context about the scoring semantics and intended use case. It is complete for a search tool of this complexity, providing enough for an agent to invoke 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 covers 100% of parameters, so baseline is 3. The description adds minimal param-specific context (e.g., mark_name, limit, include_dead) but does not go beyond the schema. It mentions scores which relate to output rather than parameters, so no extra param 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 states it finds USPTO trademarks similar to a given mark name, specifying the search method (examiner-style knockout with phonetic, trigram, and component matching) and the purpose (identify potential conflicts). This distinguishes it from siblings like run_knockout_search and phonetic_search by highlighting the specialized output scores.
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 explicitly says 'Useful for trademark clearance searches,' providing a clear context. It does not mention exclusions or alternatives, but the use case is sufficiently clear for an agent to decide when to select this tool over others.
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-onlyInspect
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 readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description goes well beyond that by explaining output contents (per-filer live/registered/pending counts plus corpus totals), the behavior of rank_by (e.g., filings dominated by high-volume services vs success_rate surfacing quality), the necessity of min_filings to avoid skewed rate rankings, and that every response carries success_rate_percent and supplemental_percent regardless of ordering. There is 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 front-loaded with the core purpose, then systematically covers the most impactful behaviors (limit/offset, rank_by, min_filings, filer_profile) in a logical order. It is long, but every sentence contributes critical context for a tool with nine parameters and three enums. No filler 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?
Given the tool's complexity (9 parameters, 3 enums, nested output schema), the description is remarkably complete. It explains return contents, parameter interactions, edge cases (offset bands, min_filings floor), and even clarifies nuanced semantics like the difference between full_service and prosecution_only. Nothing an agent needs to correctly invoke the tool is left unaddressed.
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 substantial meaning beyond the schema. For rank_by it explains the practical difference between 'filings' and 'success_rate' and warns about high-volume services. For min_filings it explains the default behavior and why the floor is required for rate rankings. For filer_profile it defines every enum in detail including what users mean by 'exclude the agencies/factories' and clarifies that prosecution_only is not a quality judgment. This far exceeds what the schema alone conveys.
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 a ranked filer table for a date range, filer type, and optional Nice classes.' It also gives a concrete example question ('Who are the top 10 filers in Class 9 in 2025?') that immediately clarifies the tool's scope, distinguishing it from the many sibling tools that cover filings, deadlines, or legal analytics.
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 rich usage context: it explains that a single call covers the full ranked list, that limit and offset can reach deeper bands, and it gives detailed guidance on when min_filings is required (for success_rate rankings). It does not, however, name any sibling tool as an alternative or say explicitly 'use this instead of X', so it stops 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.
get_trademark_analyticsTrademark AnalyticsBRead-onlyInspect
Get aggregate statistics about USPTO trademark filings, registrations, and TTAB proceedings.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | Type of analytics to query | |
| end_date | No | End date for custom period (YYYY-MM-DD) | |
| group_by | No | year | |
| nice_class | No | ||
| start_date | No | Start date for custom period (YYYY-MM-DD) | |
| time_period | No | last_year |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is known. The description adds scope (filings, registrations, TTAB proceedings) but does not disclose any additional behavioral traits such as data granularity, default time periods, or potential response shapes. This is adequate but not rich.
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 that clearly states the tool's function without any fluff. It is concise 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 complexity (6 parameters, no output schema), the description is too sparse. It does not explain how metrics relate to parameters, what 'aggregate statistics' returns, or how to handle default vs. custom periods. The agent may struggle to know what to expect or how to construct a valid request.
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 50%, with three parameters lacking descriptions (group_by, nice_class, time_period). The tool description provides no parameter information whatsoever, failing to compensate for the gaps. The enums help somewhat, but the description adds no meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: retrieving aggregate statistics across USPTO trademark filings, registrations, and TTAB proceedings. It uses a specific verb ('Get') and resource ('aggregate statistics'), which distinguishes it from more specific analytics tools like get_owner_filing_trends or get_top_filers, though it doesn't explicitly name alternatives.
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 no guidance on when to use this tool versus sibling analytics tools. It does not mention alternatives, exclusions, or prerequisites. The metric enum in the schema implies some usage context, but the description itself offers no direction.
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-onlyInspect
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 readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the agent knows this is a safe read. The description adds valuable behavioral context by detailing the return payload (metadata, viewer link, PDF link, extraction status, document text, optional excerpts) and conditions like 'direct PDF link when available'. This goes beyond the annotations and clarifies what the tool does.
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 and front-loaded with the core action, then return details, then a usage pointer. Every sentence serves a purpose—action, output, and alternative guidance—making it concise without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description must explain return values, and it does so by listing metadata, viewer link, PDF link, extraction status, document text, and optional excerpts. It also covers the prerequisite of knowing the entry number. Minor details like max_chars behavior are not mentioned, but overall the description is sufficiently complete for an agent to know 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?
The schema already documents 3 of 4 parameters with descriptive text (proceeding_number, entry_number, text_query). The description adds minimal parameter-level detail, only repeating 'query-centered excerpts' and the relationship of entry_number to get_ttab_proceeding_details, which is already in the schema. With schema coverage at 75%, the description does not significantly compensate for any gap, 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 tool 'Retrieve[s] and read[s] one specific TTABVUE filing by proceeding number and entry number', using a specific verb and resource. It also distinguishes itself from the sibling tool get_ttab_proceeding_details by noting that the entry number comes from that tool, making its purpose 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 provides a usage rule: 'Use get_ttab_proceeding_details first when the entry number is unknown.' This tells the agent when to use an alternative tool, which qualifies as explicit guidance on when to use this tool versus a sibling. No other exclusion is needed.
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-onlyInspect
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 cover readOnlyHint=true and destructiveHint=false, so safety is known. The description adds useful behavioral context about the return content: specific components like parties, marks, counsel, and recent filings with entry numbers and links, which is not available elsewhere since there is no 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 sentences, front-loaded with the core purpose and an em-dash list of contents, followed by targeted sibling disambiguation. Every word earns its place with no fluff 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?
Given no output schema, the description adequately hints at the return structure by naming key fields (parties, marks, counsel, recent filings with links). It also contextualizes against sibling tools. Minor omission: no mention of pagination or typical number of filings, but not essential for a raw-details fetcher.
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 for the single parameter proceeding_number is 100%, including an example format. The description does not add parameter-specific details, but the schema already fully documents it. 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, 'Get raw details for a TTAB proceeding,' and clearly delineates the scope: parties, involved marks, counsel, and recent filings with entry numbers and working TTABVUE document links. This distinguishes it from siblings like get_ttab_document (single filing) and analyze_ttab_proceeding (AI 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 description explicitly names alternatives and when to use them: '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.' This provides clear decision guidance.
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-onlyInspect
Rank the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range — the market-wide "who opposes the most" question. Use this for questions like "which party filed the most oppositions in April 2026?". Do NOT substitute get_owner_ttab_stats (one owner) or get_ttab_proceeding_details (one proceeding); this is the only tool that ranks filers market-wide. Pass the exact calendar range the user implied.
| 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 establish readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context about the market-wide aggregation scope and the date-window ranking behavior. It does not describe return format or pagination, but that is a minor gap given the read-only nature.
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: three sentences with no filler. It front-loads the core purpose, then provides usage criteria, exclusions, and an invocation hint. 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 read-only ranking tool with a fully documented schema and clear sibling differentiation, the description is complete. It covers what the tool does, when to use it, when not to use it, and how to pass the date range. No critical information is missing for selection or 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 each parameter already fully explained including date format examples and enum meanings. The description adds the useful instruction to pass the exact calendar range, but overall it does not need to compensate for parameter documentation gaps.
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 ('Rank') and names the exact resource: parties that filed TTAB oppositions (or cancellations) Board-wide. It explicitly distinguishes itself from sibling tools like get_owner_ttab_stats and get_ttab_proceeding_details by stating it is the only tool that ranks filers market-wide.
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 clear when-to-use guidance with a concrete example question ('which party filed the most oppositions in April 2026?') and explicit negative routing ('Do NOT substitute get_owner_ttab_stats... or get_ttab_proceeding_details'). It also tells the agent to pass the exact calendar range the user implied.
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-onlyInspect
Check whether a trademark is FAMOUS — and, critically, famous FOR A SPECIFIC MARKET (you pass the applicant's Nice class as a PROXY for that market; fame is market-determined, there is no per-class fame doctrine). Fame is market-specific (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/dilution-tier household name vs market-specific), the famous market footprint (expressed as Nice classes), portfolio size, and the corporate family's TTAB-as-plaintiff enforcement history. Use for "is X a famous trademark?", "is X famous for ?", gauging a senior mark's §2(d) strength, or §43(c) dilution eligibility. It is a circumstantial signal, not statutory fame proof.
| 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 declare readOnlyHint=true and destructiveHint=false, but the description adds substantial behavioral context: market-determined fame, no per-class fame doctrine, a legal citation, the concept of using Nice class as a market proxy, and a clear caveat that this is circumstantial, not statutory proof. This goes well beyond the structured 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-organized: purpose, critical nuance, return fields, use cases, and caveat. It front-loads the primary action and every sentence earns its place by addressing selection, invocation, or interpretation of results.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description enumerates the key return fields (is_famous, famous_in_class, fame tier, market footprint, portfolio size, enforcement history), explains the market proxy, lists concrete use cases, and sets expectations with the 'circumstantial signal' caveat. This fully equips an agent to decide when to invoke and how to interpret the 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 coverage is 100%, so baseline is 3. The description adds strong semantic value to the 'class' parameter by explaining it is a 'PROXY for that market' and why market-specificity matters, which the schema's generic 'Optional Nice class number' does not convey. The 'mark' parameter isn't enriched, but the class parameter guidance is excellent.
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 ('Check whether a trademark is FAMOUS') and immediately adds the key distinguishing nuance: fame is market-specific and tested via a Nice class proxy. It also lists the returns and use cases, clearly separating it from generic lookup 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 gives explicit use cases ('Use for "is X a famous trademark?"...') and a boundary ('It is a circumstantial signal, not statutory fame proof'). However, it does not name any alternative tool (e.g., get_fame_profile) or state when NOT to use this tool, so exclusion guidance is incomplete.
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-onlyInspect
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=true and destructiveHint=false. The description adds useful behavioral details: includes stable document identifiers, working USPTO links 'when available', extraction/readability status, and types of filings. This goes beyond the schema and 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 tight sentences. The first provides a clear list of what the tool returns; the second gives a direct pointer to the sibling tool. No waste, front-loaded with the primary action.
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 list operation with a fully described schema, the description covers the key context: what is returned (identifiers, links, status, document types) and how to proceed to read a specific doc. No output schema exists, but the described return content suffices.
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 serial_number and limit are described). The description adds no new parameter-specific guidance, though it reinforces that the tool is scoped to a serial number. Baseline 3 applies because the schema already carries 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 specific verb (list) and resource (prosecution documents for a trademark serial number), and enumerates included content types. Also distinguishes from sibling get_prosecution_document by explicitly directing to that tool for reading a single 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?
Explicitly tells the agent to use get_prosecution_document for reading one selected document, clarifying the complementary relationship. However, it does not mention alternatives like get_prosecution_timeline, and lacks explicit 'when not to use' exclusions beyond the one tool.
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-onlyInspect
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 and destructiveHint, so the bar is lower. The description adds value by detailing the returned fields (owner, status, filing dates, goods/services, correspondent) and highlights the correspondent usage, which is beyond what annotations provide. It does not disclose edge-case behavior (e.g., not-found handling), but this is minor for a read-only 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 a single, front-loaded sentence that lists key returned data and a specific use case. There is no redundancy or filler; each clause earns its place, and the 'use this for' parenthetical is directly 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?
The tool is simple (one parameter) and has an output schema, so the description does not need to explain return values. It covers the core purpose, key data fields, and a prominent use case. Given the low complexity and rich schema/annotations, the description is complete enough for an agent to select and 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 coverage is 100%: the description's wording 'by its serial number' aligns exactly with the parameter schema, which already explains the format and constraints. The description adds no new semantic information about the parameter, 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 clearly states 'Get detailed information about a specific USPTO trademark by its serial number,' which is a specific verb-resource pair. It distinguishes itself from siblings by listing the types of information returned (owner, status, filing dates, goods/services, correspondent) and the targeted use case for correspondent questions.
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 for when to use the tool, specifically for 'which firm represents/is correspondent for' questions. However, it does not mention exclusions or explicitly name alternative tools for other scenarios, so it lacks the 'when-not-to-use' clarity of a fully scored guideline.
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-onlyInspect
Find trademarks whose WHOLE mark sounds similar to the given mark (Metaphone + trigram, whole-mark similarity threshold). LIMITS: it compares entire marks, so multi-word marks that merely CONTAIN a sound-alike word are invisible to it — "KWIK REWARDS" will NOT surface for a QUICK query even though KWIK sounds like QUICK. Thin or empty results are NEVER evidence that no sound-alike marks exist and NEVER support an availability/clearance conclusion: answer availability questions with run_knockout_search, the actual clearance engine.
| 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, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds behavioral detail beyond that: the algorithm's limitation with multi-word marks and the explicit warning that thin/empty results are not evidence of absence. It could further disclose pagination or output format, but output schema covers return shape.
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 longer than average but every sentence carries weight: it defines the matching method, states a concrete limitation with an example, and gives an explicit routing instruction. The opening sentence is front-loaded with purpose, and the LIMITS section is structured logically. Slightly verbose but justifiably so.
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 complexity of a semantic search tool, the description addresses the key pitfalls (whole-mark scope, empty-result interpretation) and directs to the clearance engine. The output schema covers result shape, and the description covers behavior. It does not state how similarity_threshold affects result count in practice, but the threshold definition is evident enough. Overall well-rounded.
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 40%, so the description partially compensates by explaining the whole-mark similarity threshold concept, but it does not explain each parameter's semantics (e.g., include_dead, nice_classes, limit). The description focuses on the mark_text and similarity_threshold indirectly; the remaining parameters rely on the schema's own brief descriptions, leaving some gaps.
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 specific verb+resource (finds trademarks whose whole mark sounds similar), names the algorithm (Metaphone + trigram) and threshold semantics, and clearly differentiates from siblings like search_trademarks and run_knockout_search by emphasizing whole-mark whole-mark comparison.
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 (sound-alike whole mark queries) and when not to (multi-word containment scenarios), and routes the agent to the alternative run_knockout_search for clearance/availability questions. The negative instruction about thin results never supporting availability conclusions is a strong usage guardrail.
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-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it returns 'the most relevant classes with confidence scores and explanations,' but it does not disclose how relevance is determined or any other behavioral traits beyond the output format. 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?
Two sentences, front-loaded with the core action, and no filler. Every word earns its place, making this a model of concise description.
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 2 well-documented parameters and no output schema, the description sufficiently explains the input (business description) and output (relevant classes with confidence scores and explanations). It could mention how many classes are returned or how the optional industry parameter affects results, but these are nice-to-have rather than 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%, with both parameters (business_description and industry) fully described, including a minLength and instruction to pass the full user description. The description itself adds no extra parameter-level detail, so it matches the baseline expected when schema carries the load.
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 clearly ties it to an input condition ('based on a business description'). This distinguishes it from sibling tools like get_nice_classes (which likely retrieves class data) and suggest_gs_descriptions (which suggests goods/services descriptions).
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 user has a business description and needs relevant trademark classes. However, it does not explicitly mention alternatives or exclusions, so it stops short of a full guidance score.
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 ActionARead-onlyInspect
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?
Annotations already indicate readOnlyHint=true, and the description adds valuable behavioral context beyond that: the tool launches asynchronously for authenticated users, typically takes 1-2 minutes, and returns a processing handle for later retrieval. This meaningfully informs the agent about latency and result handling without contradicting the read-only 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, front-loaded with the primary action and output summary, followed by the key asynchronous behavior. Every sentence contributes useful information with no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only research tool with one well-documented parameter, the description covers the return payload categories and the async retrieval flow. A minor gap is that it does not name the specific follow-up mechanism or endpoint used to retrieve the completed result via the processing handle, but this is not a critical omission 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 the single parameter serial_number is already fully documented. The description does not add extra meaning about the parameter's format or constraints, which is acceptable given the high schema coverage, but it also provides no bonus semantic 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 states a specific verb and resource: 'Research the Office Action for a trademark' and enumerates concrete outputs such as structured refusal categories, cited marks, and third-party registrations. It is clear and distinct in scope, though it does not explicitly differentiate itself from sibling tools like get_latest_office_action 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 verb 'Research' and the focus on Office Action context, but the description offers no explicit when-to-use guidance, exclusions, or references to alternative tools among the many siblings. It gives some context but leaves selection between this and similar OA-related tools to inference.
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-onlyInspect
Resolve an owner, law firm, correspondent, mark, TTAB proceeding, client, or portfolio to the best trademark entity match. Resolving clients and portfolios requires authentication.
| 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 cover read-only and non-destructive behavior. The description adds value by disclosing an authentication requirement for specific entity types and indicating the output is a 'best match,' which goes beyond the structured annotations and provides useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the core purpose, the second adds a critical prerequisite. Both sentences are necessary and information-dense, with no filler or repetition. It is front-loaded with the primary action.
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 handles multiple entity types and has no output schema, yet the description does not clarify whether it returns a single best match or a list of candidates. The 'limit' parameter implies multiple candidates, but the description says 'best match' (singular), creating ambiguity. It could be more complete by describing the response structure or matching confidence.
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%, with each parameter already described in detail. The description adds no new parameter information beyond what the schema provides; it essentially restates the enum values. Baseline 3 is appropriate because the schema carries the full weight.
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 resolves an ambiguous name to the best trademark entity match, listing concrete entity types (owner, firm, correspondent, mark, TTAB proceeding, client, portfolio). This distinguishes it from sibling search/lookup tools by focusing on disambiguation rather than raw searching.
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 resolving ambiguous names and adds a key prerequisite: 'Resolving clients and portfolios requires authentication.' It does not explicitly compare to alternatives or state when not to use, but the entity-type scope and auth note provide clear contextual guidance.
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-onlyInspect
Run an examiner-style knockout search with scoring via the unified knockout engine — the same engine the GleanMark product uses. This is a PURE USPTO conflict search over 14M trademark records (exact, phonetic, trigram, component words, coordinated class expansion, doctrine of foreign equivalents, design codes) with mark-similarity and commercial-overlap scoring. Returns 4-tier risk-grouped results (very_high/high/medium/low) with confusion scores, plus a dead-mark "naming territory" sample. The top-line verdict is calibrated four-tier — CRITICAL CONFLICTS / ELEVATED RISK / MODERATE RISK / LOW RISK — with a one-line reason, so multi-name shortlists rank meaningfully. ALWAYS pass goods_description when the user has told you what they sell — the risk bands score goods/services relatedness, so an identical mark in a related-goods class reads VERY_HIGH only when the goods are supplied (class-only scoring understates it). It does NOT check domain availability and does NOT run a brand/web availability check — for that, use check_brand_availability instead. Most searches finish in under a minute; before calling, give the user a one-line heads-up that it may take up to a minute. Optional owner_name adds portfolio context — shows the applicant's existing marks in searched classes.
| 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?
Annotations already mark this as read-only and non-destructive, and the description adds substantial behavioral context beyond that: it is the same engine GleanMark uses, it returns a dead-mark 'naming territory' sample, it has a calibrated four-tier verdict, and it reports measured timing (live-only 23s vs include_dead 150s then failed). 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 dense but every sentence earns its place: purpose, scope, output, parameter guidance, exclusions, timing, and user communication. It front-loads the core function and immediately establishes the USPTO-conflict-search scope, so an agent can act on it without wading through 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?
For a complex 7-parameter search tool with no output schema, the description tells the agent what the tool does, what it returns, how to tune the key parameters, how long it takes, and which sibling handles the complementary use case. The schema covers the remaining parameter mechanics, and the description covers invocation behavior and result interpretation.
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 has 100% parameter coverage, the description adds meaning beyond the schema: goods_description is tied to risk-band behavior ('identical mark in a related-goods class reads VERY_HIGH only when the goods are supplied'), include_dead is given a strong default recommendation with measured performance data, and owner_name's portfolio-context purpose is clarified.
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: 'Run an examiner-style knockout search with scoring via the unified knockout engine.' It then enumerates the exact scope ('PURE USPTO conflict search over 14M trademark records') and output ('4-tier risk-grouped results'), which clearly differentiates it from siblings like check_brand_availability and check_domain_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 explicitly states when to use the tool and when not to: it does NOT check domain or brand availability, and directs the agent to check_brand_availability for that. It also gives decision rules for goods_description ('ALWAYS pass... when the user has told you what they sell') and include_dead ('LEAVE IT FALSE'), plus a pre-call user heads-up about timing.
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-onlyInspect
Run a constrained business-level analytics query without exposing schema details. This is the default fallback for bespoke rankings, counts, snapshots, and timelines across owners, firms, and correspondents. Prefer this before chaining search, summary, or web research tools for aggregate business questions.
| 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 and destructiveHint=false. The description adds meaningful context: 'constrained', 'without exposing schema details', and its role as a safe fallback. It doesn't contradict annotations and offers non-obvious behavioral traits.
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, front-loaded with the core purpose, followed by scope and usage guidance. No wasted words; each 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 rich schema and output schema, the description provides sufficient decision context: what it does, when to prefer it, and its constraints. It covers the essential behavioral contract without needing to repeat schema details.
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 (83%), so the schema handles most parameter semantics. The description adds high-level context about analysis types and entities but doesn't explain individual parameters beyond the schema. 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 clearly specifies the verb ('Run'), resource ('constrained business-level analytics query'), and scope ('rankings, counts, snapshots, and timelines across owners, firms, and correspondents'). It distinguishes from siblings by framing it as the 'default fallback' and a safer abstraction layer.
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: 'default fallback for bespoke...' and instructs to 'Prefer this before chaining search, summary, or web research tools for aggregate business questions.' This provides clear context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchARead-onlyInspect
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 tool as read-only and non-destructive, and the description adds non-obvious behavioral context: results are citable, include a public URL, have stable ids, and cover both live and dead USPTO applications and registrations. It does not discuss pagination or result limits, but the safety profile is already 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 four short sentences, each earning its place: the first establishes the core purpose, the second defines result structure, the third gives the follow-up workflow, and the fourth states coverage scope. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description partially compensates by describing the shape of each result and directing agents to fetch full records. It does not mention pagination, result limits, or ranking behavior, but for a single-parameter search tool that returns citable summaries, the description is reasonably 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%, with the query parameter already documented as mark, brand, or owner name with an example. The description restates similar semantics but adds no meaningful parameter-level detail beyond what the schema provides, so the baseline 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 clearly states the tool searches GleanMark's USPTO trademark database and specifies the return format: citable results with a stable id, human-readable title, and public URL. It is specific about the resource and output, but it does not explicitly differentiate itself from sibling search tools such as search_trademarks or phonetic_search.
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 useful workflow guidance by telling agents to use the fetch tool with a returned id to read the full record, and it notes coverage of 14M+ live and dead USPTO records. However, it does not mention when to prefer this tool over the many search-adjacent siblings, nor does it state exclusions or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_attorneysSearch Trademark AttorneysBRead-onlyInspect
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 declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful context by specifying the return content (prosecution statistics, TTAB counts, contact info). It does not describe any additional behavioral traits like pagination or potential performance implications, but given annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and followed by return types. Every word adds value, with no fluff or redundancy. It is appropriately sized for the tool's complexity.
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, the description covers the core functionality and return information. The presence of an output schema further completes the picture. It lacks explicit mention of edge cases (e.g., no results) or sorting, but the schema and output schema fill most gaps. A score of 4 reflects solid but not exhaustive completeness.
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 three parameters (limit, search_term, search_type) are already documented with meaningful descriptions. The tool description does not add extra parameter-level meaning beyond the schema. Baseline of 3 applies because 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 searches for trademark attorneys or law firms and lists the type of information returned. It uses a specific verb ('search') and resource ('attorneys or law firms'), making the purpose clear. It does not explicitly differentiate from siblings like get_correspondent_specialization, but the search-focused scope is distinct 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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions or preferred scenarios, such as 'use for finding attorneys before analyzing their history'. The absence of usage context leaves the agent to infer when to invoke it.
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-onlyInspect
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 indicate readOnlyHint=true and destructiveHint=false, but the description adds useful context on what the tool returns: 'matching companies/individuals with their trademark portfolio statistics (total marks, live/dead counts, registered/pending).' This goes beyond the annotations, explaining output contents and reinforcing the read-only nature.
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 concise (two sentences), front-loads the core purpose, and each clause adds value: the purpose, exclusions, and output summary. No redundant or filler content 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?
Given the tool's simplicity (2 params, output schema present) and strong annotations, the description provides sufficient context: a clear action, explicit boundaries, and a summary of the return payload. It is complete for an agent to select and invoke 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% for both parameters, with clear descriptions for owner_name and limit. The tool description adds no extra parameter semantics beyond what the schema already provides, so the baseline 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 uses a specific verb and resource: 'Search for trademark owners by name.' It clearly distinguishes from siblings by stating exclusions: 'not for owner counts, rankings, prosecution snapshots, or recent activity checks.' This differentiates it from tools like count_trademarks_by_attributes and get_owner_filing_trends.
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: 'Use this to resolve or list candidate owners.' It also lists exclusions ('not for owner counts, rankings, prosecution snapshots, or recent activity checks'), but does not name alternative sibling tools directly. This provides clear context without naming alternatives.
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-onlyInspect
Search or count US trademarks by the colours they claim, parsed from USPTO colour-claim statements. Neither TESS nor its successor offers this. TWO levels: level="family" (16 families; searching "red" also finds dark red, maroon, burgundy) and level="shade" (the exact term as claimed, e.g. "dark red"). Use match="all" for "claims at least these colours", match="only" for "claims exactly these and nothing else", match="only_bw" to also tolerate black/white. Set claimed=false to count marks whose statement DISCLAIMS colour. Modes: count, top_owners, list_marks, vocabulary (list the valid families or shades with corpus counts), explain_term (which family a shade belongs to), 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 only declare readOnlyHint=true and destructiveHint=false, which the description respects. Beyond that, it reveals substantial behavioral detail: family-level vs shade-level expansion, the match='only_bw' tolerance for black/white, the claimed=false inversion to disclaimers, and the distinct six modes with their meanings. This goes far beyond 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 dense but every sentence earns its place: the first sentence states purpose, the second establishes uniqueness, then it succinctly covers level, match, claimed, and modes. The colon-based enumeration of modes is compact and scannable, and there is no repetition of schema field names or types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, 6 modes, and no output schema, the description thoroughly covers operational behavior: it explains what each mode does, the special parameter requirements (e.g., term for explain_term, serial_number for by_serial), the default status behavior, and the reverse mode via claimed=false. The only minor omission is detailed return formats, but the mode names largely imply those. Overall, it is remarkably complete 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?
Despite 100% schema description coverage, the description adds meaning that the schema lacks: it explains the family/shade hierarchy with examples (red also finds dark red, maroon), clarifies match='all' vs 'only' vs 'only_bw', and ties term, serial_number, and registration_number to specific modes. It also notes that omitting colors matches every color-claiming mark, which is in the schema but reinforced 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 opens with 'Search or count US trademarks by the colours they claim, parsed from USPTO colour-claim statements,' providing a specific verb, resource, and data source. It also explicitly states that neither TESS nor its successor offers this capability, clearly distinguishing it from sibling search 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 gives clear context for when to use this tool by stating its unique value proposition ('Neither TESS nor its successor offers this') and explains mode semantics such as match='only_bw' and claimed=false. However, it does not name specific sibling tools as alternatives, so it stops short of an explicit when-to-use-versus-alternatives comparison.
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-onlyInspect
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 readOnlyHint=true and destructiveHint=false. The description adds useful behavioral context beyond that: it discloses that both dotted and packed code formats are accepted, that the USPTO vocabulary is literal and narrow, and that mode is inferred from arguments. This helps the agent predict behavior without contradicting 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 each sentence earns its place: purpose, format examples, vocabulary quirk, mode list, and inference behavior. It is front-loaded with the core action and stays tightly organized despite covering a complex multi-mode 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?
Given the tool has 9 parameters, 6 modes, and no output schema, the description covers the essential workflow (search codes first, then count/list), format variants, and mode inference. The schema's mode descriptions handle return semantics per mode. A minor gap is that no explicit return format is described in the tool description itself, but the schema compensates.
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 78%, slightly below the 80% baseline, so the description helps compensate. It explains the packed/dotted form for 'codes', describes six modes with their inference rules, and provides examples. This adds meaning beyond the schema's property descriptions, especially for the mode 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 'Find US trademarks by USPTO design code', giving a specific verb, resource, and scope. It distinguishes itself from sibling search tools by focusing exclusively on design codes and their unique modes, with concrete examples like '26.17.01 = straight bands'.
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 when to use the tool, such as explaining that a plain shape word must go through mode='search_codes' before marks can be counted or listed. It also explains mode inference when the mode is omitted. However, it does not explicitly name alternative sibling tools or state when NOT to use this tool.
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-onlyInspect
Full-text search over the goods/services recitations of 14M USPTO marks — answers "who else claims X in their goods?" (competitive landscape, descriptiveness/crowded-field evidence, ID-drafting precedent). Keyword-based: the text is tokenized and matched against each mark's indexed goods keywords (match_mode all = every keyword must appear, any = at least one). Rows return a short excerpt around the matched clause, NOT the full recitation. mode=count answers "how many marks claim X" with class/status breakdowns; mode=top_owners ranks the owners claiming X — neither pulls rows. This searches goods/services TEXT, not mark names — for mark-name conflicts use run_knockout_search or search_trademarks.
| 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?
Beyond the annotations (readOnlyHint=true, destructiveHint=false), the description discloses critical behaviors: keyword tokenization and match modes, that rows return only excerpts not full recitations, that count/top_owners return no rows, and that it searches goods/services text rather than mark names. This fully informs the agent about the tool's 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 concise and front-loaded: it starts with the core purpose, then adds essential behavioral details in a dense but efficient paragraph. Every sentence adds value with no redundancy, making it well-structured for agent consumption.
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 the tool having 8 parameters and no output schema, the description covers all decision-relevant aspects: what it searches, how results are returned, mode differences, and alternative tools. It provides enough context for an agent to invoke it correctly without needing to infer undocumented behavior.
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 covers 88% of parameters with descriptions, so the baseline is 3. However, the description adds meaning beyond the schema by explaining tokenization, the semantics of match_mode (all vs any), and how mode changes output behavior. This extra context justifies a 4.
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 it performs full-text search over goods/services recitations of 14M USPTO marks, with specific use cases like competitive landscape and ID-drafting precedent. It also distinguishes itself from sibling tools by explicitly noting it searches text not mark names and naming alternatives, making the purpose 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 tells when to use this tool vs alternatives: 'for mark-name conflicts use run_knockout_search or search_trademarks.' It also explains the different modes (list_marks, count, top_owners) and what each answers, giving clear usage guidance.
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-onlyInspect
Search the statements USPTO records on a trademark: disclaimer ("no claim is made to PIZZA apart from the mark"), description (the examiner's written description of the drawing — "the mark consists of a red and white striped awning"), translation (foreign wording), prior_marks (claimed ownership of earlier registrations). Answers "which marks disclaim PIZZA" and "which marks are described as stripes". Colour claims have their own tool (search_claimed_colors); goods text is served by search_trademarks. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark), statement_types. USE mode="top_terms" with nice_class to RANK the most-disclaimed terms in a class — this answers "what is the most disclaimed term in Class 9?" (returns a ranked list with per-term mark counts; disclaimers only). For top_terms use status "live" (= registered + pending; the ranking does not separate them — say so in the answer), "any", or "dead"; a registered-only RANKING is not available. A single term's registered-only count IS available: mode="count" with text= and status="registered" (any length, even "AI"). Neither the USPTO public search nor a web search can produce this ranking.
| 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?
Annotations already declare readOnlyHint and destructiveHint false, lowering the bar. The description adds valuable behavioral caveats: live status conflates registered and pending, the ranking does not separate them and the agent should disclose that, and registered-only ranking is unavailable while a single-term count is. It also notes provenance by saying the USPTO public search cannot produce this ranking.
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 mostly earns its length: it front-loads purpose, follows with a compact mode list, and uses a clearly signalled 'USE' clause for the non-obvious ranking case. It is written as one long paragraph with several parentheticals, so bullet formatting would improve scannability, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description covers purpose, sibling routing, mode selection, status semantics, and key limitations, and it specifies outputs for the most complex modes such as top_terms and by_serial. It omits explicit output shapes for top_owners, list_marks, and statement_types, but those are largely inferable from their names and the provided examples.
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 63% schema coverage, the description adds useful meaning for status ('live = registered + pending') and statement_type values, and explains modes like by_serial. However, it conflicts with the schema by claiming text can be 'any length, even "AI"' while the schema enforces a minimum of 3 characters, creating ambiguity for the agent. The added semantics are useful, but the contradiction prevents a higher score.
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 opening sentence names a specific verb and resource ('search the statements USPTO records on a trademark') and enumerates the four statement types it covers, with concrete example queries. It also explicitly distinguishes itself from sibling tools by routing colour claims to search_claimed_colors and goods text to search_trademarks.
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 alternatives and the conditions that select them ('Colour claims have their own tool', 'goods text is served by search_trademarks'). It gives mode-level guidance for top_terms, count, and by_serial, and states hard availability limits such as 'a registered-only RANKING is not available'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_trademarksSearch TrademarksARead-onlyInspect
Search the USPTO trademark database by name — a RANKED similarity/prefix search that returns the closest whole-mark matches (14M records). It is NOT an exhaustive contains-scan: multi-word marks that merely contain the queried word rank low and are usually cut (a KWIK query will miss KWIK REWARDS / KWIK KOPY). Thin results here are never proof a name is absent or available; availability questions belong to run_knockout_search.
| 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?
Annotations already declare readOnlyHint=true and openWorldHint=false, but the description goes far beyond by explaining the ranking algorithm, the 14M record scale, the non-exhaustive nature, and the concrete KWIK example. This gives the agent a deep understanding of what results mean and their limitations.
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 with distinct purpose: core purpose, the non-exhaustive caveat with an example, and the routing to run_knockout_search. It is front-loaded with the primary function and avoids fluff, though the example sentence is slightly dense.
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 over a large database with an output schema, the description covers the essential behavioral caveats (ranking, non-exhaustiveness, availability routing). The annotations cover safety, and the output schema covers return format. 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 coverage is 100% and all parameters have descriptions, so baseline is 3. The description adds meaningful context for the query parameter (that it behaves as a prefix/similarity match, not substring contains), but does not elaborate on limit, nice_classes, or status_filter beyond what the schema already states. The value added is mostly for query 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 uses a clear verb ('Search') and resource ('USPTO trademark database'), and immediately distinguishes itself as a ranked similarity/prefix search rather than an exhaustive scan. It explicitly differentiates from run_knockout_search, making its scope obvious.
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 not to use this tool ('Thin results here are never proof a name is absent or available') and directs users to the appropriate alternative (run_knockout_search) for availability questions. It also clarifies that multi-word contains-matches rank low, preventing misuse.
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-onlyInspect
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 the tool read-only and non-destructive, so the safety profile is clear. The description adds useful context by mentioning the shared discovery index with the GleanMark TTAB workspace and framing the tool as a discovery step. It does not discuss result shape or pagination, but that is a minor omission given 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?
Three tight sentences with no filler. The main purpose is front-loaded, the supported input forms are listed compactly, and the sibling-tool routing is placed at the end. 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 broad, read-only search tool, this is complete enough for correct invocation: it states what to search, which identifiers are valid, what filters exist, and what to use afterward for details or enforcement statistics. Since there is no output schema and the tool is non-destructive, the remaining return-format details are not essential for tool selection and 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?
The description lists the meaningful filter dimensions—status, proceeding type, matched party role, and owner-name filters—which does some work to connect the prose to the schema. However, most of that is already visible in the schema parameter names and descriptions, and the description does not substantively enrich semantics beyond saying what search terms are accepted. Schema coverage is 67%, so the description adds a little value but does not compensate deeply.
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 an exact action and resource ('Search TTAB proceedings') and specifies the supported query forms: party name, 8-digit proceeding/serial number, or 7-digit registration number. It also explicitly distinguishes the tool from get_ttab_proceeding_details and get_owner_ttab_enforcement, so an agent can easily select it among many 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 says to use the tool 'for broad proceeding discovery' and then names the alternatives: get_ttab_proceeding_details for one known case after discovery, and get_owner_ttab_enforcement for owner enforcement statistics. This gives concrete when-to-use and when-to-switch guidance.
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-onlyInspect
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=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: the source (USPTO ID Manual), the surcharge-free aspect, and that curly-brace entries are fill-in templates. This goes beyond the annotations and helps the agent anticipate the output format and placeholder 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 three sentences and every sentence earns its place: the first states the core function, the second provides a critical usage rule, and the third explains the output format and placeholder convention. It is front-loaded with the main verb and resource, with no fluff or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover safety, the description is largely complete. It covers the source, the usage rule about distinct product lines, and the placeholder behavior. It doesn't explain the returned Term IDs' structure, but the output schema presumably covers that. The only minor gap is not distinguishing when to use this tool versus validate_gs_description, but that's a usage-guidelines nuance rather than a completeness failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters with descriptions. The tool description reinforces the query semantics by specifying 'plain words' and 'call once per distinct product/service line,' but this aligns with the schema's own description of the query parameter. No additional parameter-level detail is provided beyond what the schema contains, so a 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 begins with a specific verb and resource: 'Search the USPTO Trademark ID Manual' by plain words, clearly distinguishing it from other tools. The scope of returning selectable Term IDs and the mention of pre-approved, surcharge-free identifications further clarifies the tool's unique purpose.
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 provides explicit usage guidance with 'Call once per distinct product/service line' and gives a concrete example. While it doesn't explicitly name alternatives like validate_gs_description, the instruction to call once per line is a clear 'when to use' directive. It lacks an explicit when-not statement, but the context is strong enough for most use cases.
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-onlyInspect
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?
The annotations provide readOnlyHint=true and destructiveHint=false, and the description adds substantial behavioral context: clause-by-clause processing (split on ';'), three output categories (verbatim, close, freeform), the $200 surcharge, and deterministic no-AI-rewriting behavior. This goes well beyond the annotations, giving the agent important operational details.
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 concise sentences, each earning its place: the first states the core function, the second explains output categories and fee implications, and the third emphasizes determinism. The description is front-loaded with the main purpose and contains 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?
The tool has an output schema (per the context signals), so return values are covered structurally. The description provides essential decision logic including clause splitting, output classification, surcharge details, and determinism, making it sufficiently complete for an agent to invoke correctly. The optional classes parameter is adequately documented in the 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?
With 100% schema description coverage, the baseline is 3. The description adds meaningful semantics for the text parameter (clause splitting on ';') and explains output behavior per clause, but does not elaborate on the optional classes parameter beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Check') and resource ('draft goods & services description against the USPTO ID Manual'). It also details clause-by-clause processing, distinguishing it from sibling tools like suggest_gs_descriptions which generates descriptions rather than validating 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 its use for validating an existing draft against USPTO rules, including specific output categories and fee implications. However, it does not explicitly name alternatives or state when not to use it, though the sibling context (suggest_gs_descriptions) makes the distinction fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_researchWeb ResearchARead-onlyInspect
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 indicate read-only (readOnlyHint=true) and open-world (openWorldHint=true) behavior. The description adds the valuable detail that results are 'grounded' with source citations, which is a behavioral trait not present in the annotations. It does not mention potential internet latency, rate limits, or failure modes, but the added citation 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, with the core action and purpose in the first sentence, and usage contexts in the second. Every word contributes; no redundancy or 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 covers what the tool does, when to use it, and a key output trait (citations). No output schema exists, so a more detailed note about result format or pagination could improve completeness, but the description is sufficient for selecting and invoking 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?
The input schema has 100% coverage with descriptions for every parameter, including the research_type enum. The tool description adds no additional parameter meaning beyond pointing to the general purpose, so the baseline of 3 applies; the schema carries the burden.
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 performs web research on a company, trademark, or legal topic, with specific use cases (company background, recent news, common law trademark use, case law research). It distinguishes itself from sibling tools by focusing on internet-wide research rather than repository-specific lookups like search_trademarks 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?
The description explicitly lists when to use the tool (company background, recent news, common law use, case law research) and the research_type enum reinforces these contexts. It does not explicitly state when not to use it or name alternatives, but the sibling tool names (e.g., search_trademarks, get_mark_ai_summary) imply that those are for different, more targeted tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
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
1 tool update
- Added
get_owner_related_parties
Related MCP Connectors
Search 14M+ USPTO trademark records by mark, owner, goods/services, class, status, and date.
Trademark search, monitoring and conflict research across 30+ registers, with provenance.
Trademark clearance (USPTO+TMview) and self-graded stock signals for AI agents. JSON verdicts.
Trademark filing monitor across 40+ countries - detect filings that resemble your brand.
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
- 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

trademarksofficial
AlicenseNot gradedqualityCmaintenanceEnables USPTO trademark lookup by serial or registration number, retrieving status, owner, dates, and prosecution history.4 npmMIT- AlicenseNot gradedqualityDmaintenanceAI-powered patent search and analysis across 220M+ global patents. Semantic search, prior art discovery, novelty/patentability reports, and patent content retrieval.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.