Skip to main content
Glama
arbajian
by arbajian

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLogging level. Options: DEBUG, INFO, WARNING, ERROR, CRITICAL.INFO
MAX_RETRIESNoMaximum number of retry attempts.3
API_BASE_URLNoBase URL for ODP API.https://api.uspto.gov
USPTO_API_KEYNoUSPTO Open Data Portal API key. Required for accessing ODP and PTAB tools. Obtain from data.uspto.gov.
ENABLE_CACHINGNoEnable/disable session caching.true
PPUBS_BASE_URLNoBase URL for PPUBS API.https://ppubs.uspto.gov
RETRY_MAX_WAITNoMaximum wait time between retries (seconds).10
RETRY_MIN_WAITNoMinimum wait time between retries (seconds).2
REQUEST_TIMEOUTNoRequest timeout in seconds.30.0
SESSION_EXPIRY_MINUTESNoHow long to cache ppubs sessions.30

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_api_statusA

Check status and availability of USPTO ODP API.

USE THIS TOOL WHEN: You encounter errors or want to verify that the ODP
is properly configured before starting research.

Returns status including:
- Configuration status (API keys, credentials)
- Connection availability
- Rate limit information
get_cpc_infoA

Look up CPC (Cooperative Patent Classification) code information.

USE THIS TOOL WHEN: You need to understand what technology area a CPC
code represents, or find related classification codes.

Args:
    cpc_code: CPC code to look up (e.g., "G06" for computing, "G06N3/08" for neural networks)

Returns:
    Classification details including section, title, and description.
    For section codes (A-H, Y), returns subsection list.
get_status_codeA

Look up USPTO application status code meaning.

USE THIS TOOL WHEN: You encounter a status code in application data
and need to understand what examination stage it represents.

Args:
    code: Status code number (e.g., "30" for "Docketed New Case")

Returns:
    Status code description and examination stage.
odp_get_applicationA

Get patent application data from USPTO Open Data Portal.

USE THIS TOOL WHEN: You need prosecution/file wrapper data for an
application including status, dates, and basic metadata.

Args:
    app_num: Application number without slashes or commas (e.g., "14412875")

Returns:
    Application data including filing date, status, and basic info.
odp_get_application_metadataA

Get detailed metadata for a patent application.

USE THIS TOOL WHEN: You need comprehensive application metadata
including examiner info, art unit, and detailed status.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_continuityA

Get patent family/continuity data (parent and child applications).

USE THIS TOOL WHEN: You need to understand the patent family tree -
parent applications, continuations, divisionals, and CIPs.

Args:
    app_num: Application number without slashes (e.g., "14412875")

Returns:
    Continuity data showing parent/child relationships and priority claims.
odp_get_assignmentA

Get patent assignment/ownership records.

USE THIS TOOL WHEN: You need to know current and historical owners
of a patent or application.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_adjustmentA

Get patent term adjustment (PTA) data.

USE THIS TOOL WHEN: You need to calculate the actual expiration date
of a patent accounting for USPTO delays.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_attorneyA

Get attorney/agent of record for an application.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_foreign_priorityA

Get foreign priority claims for an application.

USE THIS TOOL WHEN: You need to find priority claims to foreign
applications that may affect the effective filing date.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_transactionsA

Get prosecution transaction history for an application.

USE THIS TOOL WHEN: You need the complete timeline of prosecution
events including office actions, responses, and fee payments.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_get_documentsA

Get list of documents in the application file wrapper.

Args:
    app_num: Application number without slashes (e.g., "14412875")
odp_search_applicationsA

Search patent applications in USPTO Open Data Portal.

USE THIS TOOL WHEN: You need to search applications with filtering
by applicant metadata, dates, or other criteria not available in PPUBS.

PARAMETER MAPPING: Simple parameter names are automatically translated to ODP
Lucene query fields and combined with AND logic:
- inventor_name → applicationMetaData.firstInventorName
- assignee_name → applicationMetaData.firstApplicantName
- patent_number → applicationMetaData.patentNumber
- application_number → applicationNumberText
- filing_date_from/to → applicationMetaData.filingDate:[start TO end]

AUTO-QUOTING & WILDCARDS: Values are automatically quoted for exact phrase
matching. Use wildcards (*) for partial matches:
- "Smith" searches for exact phrase
- "Smit*" searches for anything starting with "Smit"
- "Micro*" matches "Microsoft", "Microsystems", etc.

ADVANCED QUERIES: Pass a Lucene-style string in `query` for OR logic or
raw field names:
- 'applicationMetaData.firstInventorName:Smith OR
  applicationMetaData.firstInventorName:Jones' for multiple inventors
- Combine with other filters: query='machine learning' AND assignee_name='IBM'
  generates: (machine learning) AND applicationMetaData.firstApplicantName:"IBM"

Args:
    query: Free-text or Lucene-style query (e.g., 'neural network',
           'applicationMetaData.firstInventorName:Smith OR Jones')
    application_number: Filter by application number (exact match)
    patent_number: Filter by patent number (exact match)
    inventor_name: Filter by inventor name (matches first inventor; auto-quoted)
    assignee_name: Filter by applicant/assignee name (matches first applicant; auto-quoted)
    filing_date_from: Filing date range start (YYYY-MM-DD)
    filing_date_to: Filing date range end (YYYY-MM-DD)
    offset: Starting position (default: 0)
    limit: Max results (default: 25)
    fields: Response projection — list of ODP field names to return (e.g.,
            ['applicationNumberText', 'applicationMetaData.patentNumber',
            'applicationMetaData.filingDate']). Reduces over-fetching of
            large nested structures. Omit to return all fields (default).

Returns:
    Normalized response with matching applications.
odp_search_datasetsA

Search USPTO bulk data products/datasets.

USE THIS TOOL WHEN: You need to find bulk download datasets
available from USPTO for large-scale analysis.

Args:
    query: Search query for dataset names/descriptions
    offset: Starting position (default: 0)
    limit: Max results (default: 25)
odp_get_datasetC

Get details of a specific bulk dataset product.

Args:
    product_id: Dataset product identifier

Prompts

Interactive templates invoked by user choice

NameDescription
prior_art_searchGuide for conducting a comprehensive prior art search. USE THIS PROMPT WHEN: You need to find existing patents and publications relevant to an invention for patentability assessment or invalidity analysis.
patent_validity_analysisGuide for analyzing patent validity and prosecution history. USE THIS PROMPT WHEN: You need to assess the strength and validity of a patent by reviewing its prosecution history and any challenges.
competitor_portfolio_analysisGuide for analyzing a company's patent portfolio. USE THIS PROMPT WHEN: You need to understand a competitor's IP position, technology focus areas, and patent strategy.
ptab_proceeding_researchGuide for researching PTAB proceedings (IPR/PGR/CBM). USE THIS PROMPT WHEN: You need to research Patent Trial and Appeal Board proceedings, decisions, and outcomes for validity challenges.
freedom_to_operateGuide for freedom-to-operate (FTO) analysis. USE THIS PROMPT WHEN: You need to assess patent infringement risk for a product or technology before commercialization.
patent_landscapeGuide for patent landscape analysis. USE THIS PROMPT WHEN: You need to map the competitive patent environment in a technology area to identify trends and opportunities.

Resources

Contextual data attached and managed by the client

NameDescription
resource_cpc_sectionsGet all CPC section overview. Returns summary of all 9 CPC sections (A-H, Y) with their titles and descriptions for patent classification reference.
resource_status_codesGet USPTO application status code definitions. Returns all status codes used in patent application tracking with descriptions and examination stages.
resource_data_sourcesGet information about available patent data sources. Returns details about all integrated APIs including coverage, rate limits, authentication requirements, and best use cases.
resource_search_syntaxGet search query syntax guide for all APIs. Returns documentation on query syntax for PPUBS, PatentsView, and ODP APIs with examples.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arbajian/odp-patent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server