Skip to main content
Glama

KeyVex

get_corporate_patents

Read-only

Returns US patent applications from the USPTO Open Data Portal, keyed on the APPLICANT (the corporate owner). Each record is one application's front-page metadata: title, applicant(s), first inventor + inventor count, filing/effective dates, status, entity size, application type. Follow source_url (USPTO Patent Center) for the full file wrapper / documents. Use this when the user asks: what is a company patenting, how many patents did a company file (and when), recent patents in a company's portfolio, or to cross-reference R&D output against insider/congressional activity, contracts, or fundamentals for the same company. company_name is the corporate APPLICANT and matches case-insensitively, but patents are filed under an IP-HOLDING ENTITY, not the household brand. Use the full legal applicant string for best recall — e.g. 'Google LLC', 'Microsoft Technology Licensing, LLC', 'Amazon Technologies, Inc.', 'QUALCOMM Incorporated', 'International Business Machines Corporation', 'Meta Platforms, Inc.', 'NVIDIA Corporation', 'Lockheed Martin Corporation', 'The Boeing Company', 'Apple Inc.', 'Intel Corporation', 'Tesla, Inc.'. COVERAGE — live-first (source:'live'): when company_name is set, each call queries USPTO live over the full ~12.9M-application index (the whole filing history of that applicant, most-recent first), with since/until on filing_date applied at the source. On USPTO outage the tool falls back to a cached recent slice for a dozen tracked big filers (source:'cache' + coverage_warning) — don't infer totals there. With NO company_name it serves that same recent cache (browse). application_number is a direct lookup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return. Default 50, max 200.
sinceNoISO date (YYYY-MM-DD). Only applications with filing_date on or after this date.
untilNoISO date (YYYY-MM-DD). Only applications with filing_date on or before this date.
sort_orderNoOrder by filing_date. Default: desc (most-recent first).
company_nameNoCorporate applicant (IP-holding entity), case-insensitive. Triggers a LIVE USPTO query over that applicant's full history. Use the full legal entity, e.g. 'Microsoft Technology Licensing, LLC' (not 'Microsoft'), 'Google LLC' (not 'Google').
application_numberNoExact USPTO application number for a direct lookup (cache). Example: '17/123456'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnly/openWorld/destructive, but the description adds substantial operational behavior beyond them: live-first querying over a ~12.9M-application index, since/until applied at the source, fallback to a cached recent slice on outage with source:'cache' + coverage_warning and the warning not to infer totals, and browse behavior with no company_name. This is exactly the kind of context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and logically ordered (returns → usage → caveat → coverage), but over-long for the content; the list of eleven example applicant strings is excessive and the coverage paragraph is dense. Several sentences restate schema content, so not every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must cover return semantics, and it does: record shape, source_url follow-up, live/cache coverage semantics, and the applicant-naming pitfall. For a 6-param, complex, open-world tool this is complete enough to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: the critical caveat that patents are filed under an IP-holding entity rather than the household brand (with 11 concrete legal-string examples), case-insensitive matching, and the live-vs-cache behavior tied to company_name. Some of this duplicates the schema descriptions, so it is above baseline but not fully additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: returns US patent applications from the USPTO Open Data Portal, keyed on the corporate APPLICANT. It enumerates exactly what each record contains (title, applicants, inventor count, dates, status, entity size) and names the follow-up source (source_url at USPTO Patent Center), so an agent knows precisely what it gets. No sibling tool covers patents, so differentiation is inherent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit, concrete usage contexts ('what is a company patenting', 'how many patents did a company file', cross-referencing R&D against insider/congressional activity, contracts, fundamentals). This maps user intent to the tool clearly, though it never states when NOT to use it or names an alternative sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources