Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

GleanMark Trademark Search

REMOTE · GLEANMARK.COM · SCANNED SEP 21

Search 13.7M+ USPTO trademarks. Clearance, phonetic matching, TTAB stats, analytics.

Available components

0 this week 85 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 14758 tokens (~189/item across 78 items; 64 tools + 14 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management98
  • Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 4 additions. See how to fix → Fail
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 90% of tool parameters carry a description.Partial
  • Structured output schemas are declared (28% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 64 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 66 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the GleanMark Trademark Search MCP server?

GleanMark Trademark Search is a hosted endpoint at https://gleanmark.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · gleanmark.com

# add to Claude Code
claude mcp add --transport http com-gleanmark-trademark-search 'https://gleanmark.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-gleanmark-trademark-search": {
      "url": "https://gleanmark.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-gleanmark-trademark-search": {
      "type": "http",
      "url": "https://gleanmark.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-gleanmark-trademark-search]
url = "https://gleanmark.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-gleanmark-trademark-search": {
      "type": "remote",
      "url": "https://gleanmark.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-gleanmark-trademark-search --url 'https://gleanmark.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-gleanmark-trademark-search:
    url: "https://gleanmark.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-gleanmark-trademark-search": {
      "Transport": "http",
      "Url": "https://gleanmark.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-gleanmark-trademark-search -t streamable-http -u 'https://gleanmark.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-gleanmark-trademark-search": {
      "type": "http",
      "url": "https://gleanmark.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 11 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 10 Sept 26 0
    • Tool “phonetic_search” rewrote its description, which is the text the model reads security
    • Tool “search_mark_statements” rewrote its description, which is the text the model reads security
    • Tool “search_trademarks” rewrote its description, which is the text the model reads security
    • “run_knockout_search” reworded the description of “include_dead” cosmetic
    • “run_knockout_search” reworded the description of “max_results” cosmetic
    • “search_ttab_proceedings” reworded the description of “type_filter” cosmetic
  • 9 Sept 26 −1
    • Stability: pass → fail security
    • A breaking change shipped without a version bump: still 1.2.0 security
    • Tool “run_dupont_analysis” was removed security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “analyze_prosecution_history” rewrote its description, which is the text the model reads security
    • Tool “analyze_ttab_proceeding” rewrote its description, which is the text the model reads security
    • Tool “get_latest_office_action” rewrote its description, which is the text the model reads security
    • Tool “get_top_filers” rewrote its description, which is the text the model reads security
    • Tool “research_office_action” rewrote its description, which is the text the model reads security
  • 5 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “check_brand_availability” rewrote its description, which is the text the model reads security
    • New tool “fetch” functional
    • New tool “get_chain_of_title” functional
    • New tool “get_ttab_top_opposition_filers” functional
    • New tool “search” functional
  • 4 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 3 Sept 26 +8
    • Judged manipulation: unverified → pass security
    • Schema quality: unverified → excellent functional
  • 2 Sept 26 −8
    • Judged manipulation: pass → unverified security
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: excellent → unverified functional
  • 1 Sept 26 0
    • Tool “get_top_filers” rewrote its description, which is the text the model reads security
    • “get_top_filers” added an optional parameter “filer_profile” cosmetic
    • “get_top_filers” added an optional parameter “min_filings” cosmetic
    • “get_top_filers” added an optional parameter “rank_by” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://gleanmark.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=gleanmark.com CN=YR2,O=Let's Encrypt,C=US 18 Sept 2026 17 Dec 2026 RSA 2048 SHA256-RSA 57b181409fd91cd0873659dd47e162169e5
SANs: gleanmark.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of gleanmark.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
gleanmark.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://gleanmark.com/mcp Verified 200
http (plaintext) http://gleanmark.com/mcp HTTPS enforced 301 https://gleanmark.com/mcp
MCP tools · 64 exposed · ~10,938 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
run_knockout_search ~634

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.

NameTypeReqDescription
design_codesarrayUSPTO design codes to include in the search (optional)
goods_descriptionstringThe 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 rel…
include_deadbooleanDefault 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 nami…
mark_namestringyesThe proposed mark name to search for (e.g., "BARLYTICS", "WAR MUSCLE")
max_resultsintegerMaximum 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…
nice_classesarrayNice classes to search (e.g., ["042", "035"]). The search automatically expands to coordinated classes. Optional — omit to search all classes.
owner_namestringOptional: 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.

No output schema declared.

No examples provided.

run_safe_analytics ~191

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.

NameTypeReqDescription
analysis_typestringyesBusiness analytics mode: ranking, count, snapshot, or timeline.
entitystringyesWhat to analyze. Ranking currently supports owners. Count, snapshot, and timeline also support firms and correspondents.
filtersobject
limitintegerMaximum number of ranked rows, preview marks, or timeline events to return.
metricstringRequired for count. Ranking currently supports filings only.
subject_namestringRequired for count, snapshot, and timeline. Examples: "Ideaya Biosciences", "Goodwin Procter", or "Todd Schneider".
NameTypeReqDescription
analysis_typestringyes
count_resultyes
entitystringyes
filters_appliedobjectyes
metricyes
open_in_gleanmarkstringyes
rankingsarrayyes
resolutionyes
resolved_subjectyes
returnedintegeryes
snapshot_resultyes
subject_nameyes
summarystringyes
timeline_resultyes
titlestringyes
total_matching_entities
total_matching_live_marks
total_matching_marks

No examples provided.

search ~115

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.

NameTypeReqDescription
querystringyesSearch terms — a mark name, a brand, or an owner name. Example: "spicy coke" or "Apple Inc".

No output schema declared.

No examples provided.

search_attorneys ~81

Search for trademark attorneys or law firms. Returns prosecution statistics, TTAB proceeding counts (as plaintiff/defendant), and contact information.

NameTypeReqDescription
limitintegerMaximum number of results to return
search_termstringyesAttorney name or law firm name to search for
search_typestringSearch for individual attorneys or law firms
NameTypeReqDescription
open_in_gleanmarkstring
querystringyes
resultsarrayyes
search_typestringyes

No examples provided.

search_by_owner ~94

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).

NameTypeReqDescription
limitintegerMaximum number of owners to return
owner_namestringyesOwner name to search for (company or individual)
NameTypeReqDescription
open_in_gleanmarkstring
ownersarrayyes
querystringyes

No examples provided.

search_claimed_colors ~491

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).

NameTypeReqDescription
claimedbooleanfalse = count marks whose statement disclaims colour ("Color is not claimed as a feature of the mark").
colorsarrayColour terms, e.g. ["orange","green","red"]. Must be real families or shades — call mode="vocabulary" if unsure. Omit to match every colour-claiming mark.
levelstringfamily = 16 broad families (red covers maroon). shade = the exact claimed term.
limitintegerRows for top_owners, list_marks, vocabulary.
matchstringall = claims at least these. only = claims exactly these, nothing else. only_bw = exactly these, allowing black/white (usually background).
modestringcount = 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 m…
nice_classstringRestrict to one Nice class, e.g. "25" or "025".
registration_numberstringRegistration number for mode="by_serial"; resolved to its serial number automatically.
serial_numberstringEight-digit serial number for mode="by_serial".
statusstringregistered/pending are narrower than live. "How many live REGISTRATIONS" means status="registered".
termstringRequired for mode="explain_term", e.g. "maroon".

No output schema declared.

No examples provided.

search_design_codes ~377

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.

NameTypeReqDescription
codesarrayDesign codes, dotted or packed, e.g. ["26.17.01"].
limitinteger
matchstringall = mark carries every code. any = at least one.
modestringsearch_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_numb…
nice_classstringRestrict to one Nice class, e.g. "25".
querystringRequired for mode="search_codes". A shape word: band, bar, circle, star, triangle, chevron, crown, leaf, arrow, shield.
registration_numberstringRegistration number for mode="by_serial"; resolved to its serial number automatically.
serial_numberstringEight-digit serial number for mode="by_serial".
statusstring

No output schema declared.

No examples provided.

search_goods_services ~343

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.

NameTypeReqDescription
limitintegerMax rows for list_marks mode (default 20).
match_modestringall = every keyword must appear in the recitation (default); any = at least one.
modestringlist_marks returns rows; count returns totals + class/status breakdowns only; top_owners ranks owners by matching-mark count.
nice_classesarrayOptional Nice class filter (e.g. [14] or ["014"]).
owner_containsstringOptional: only marks whose owner name contains this text.
sortstring
status_filterstringlive = Registered + Pending; dead = Cancelled/Abandoned/Expired.
textstringyesGoods/services text to search for (e.g. "anti-tarnish", "vegan leather handbags"). Words of 3+ characters are matched as keywords.

No output schema declared.

No examples provided.

search_mark_statements ~417

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=<term> and status="registered" (any length, even "AI"). Neither the USPTO public search nor a web search can produce this ranking.

NameTypeReqDescription
limitinteger
modestring
nice_classstringRestrict to one Nice class, e.g. "25".
registration_numberstringRegistration number for mode="by_serial"; resolved to its serial number automatically.
serial_numberstringEight-digit serial number for mode="by_serial".
statement_typestringRequired except for by_serial and statement_types.
statusstring
textstringFree text to find inside the statement, minimum 3 characters (e.g. "PIZZA", "stripe"). Omit to count every mark carrying that statement type.

No output schema declared.

No examples provided.

search_trademarks ~158

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.

NameTypeReqDescription
limitintegerMaximum number of results to return
nice_classesarrayFilter by Nice Classification classes (1-45)
querystringyesSearch query for trademark name
status_filterstringFilter by trademark status
NameTypeReqDescription
open_in_gleanmarkstring
querystringyes
resultsarrayyes
total_countintegeryes

No examples provided.

search_ttab_proceedings ~299

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.

NameTypeReqDescription
limitinteger
owner_containsstringOptional additional substring that must appear in any party name.
querystringyesParty name, 8-digit proceeding/serial number, or 7-digit registration number.
role_filterarrayRole of the party matched by query: P for plaintiff/petitioner, D for defendant/respondent.
status_filterarray
type_filterarrayTTAB proceeding type labels (exact values from the USPTO type table). Singular forms and codes are accepted too — "Cancellation" / "CAN" → Cancellations, "Opposition" / "OPP" → Oppositions, "Extensio…

No output schema declared.

No examples provided.

suggest_gs_descriptions ~166

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.

NameTypeReqDescription
classesarrayOptional Nice class filter, 1-45 (padded or unpadded, e.g. 9 or "009")
gs_typestringOptional filter to goods or services entries
limitintegerMax suggestions (default 10)
querystringyesPlain-words description of ONE product or service line (e.g. "phone cases with batteries")
NameTypeReqDescription
ctastring
open_in_gleanmarkstring
suggestionsarrayyes

No examples provided.

validate_gs_description ~121

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.

NameTypeReqDescription
classesarrayOptional Nice class scope, 1-45; without it exact matches may span classes
textstringyesThe draft goods & services description to validate
NameTypeReqDescription
clausesarrayyes
summaryobjectyes
truncatedbooleanyes
unprocessed_clause_countinteger

No examples provided.

web_research ~111

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.

NameTypeReqDescription
entity_namestringyesCompany name, trademark, or topic to research
mark_textstringTrademark text (for common_law_use and state_registrations searches)
nice_classesarrayNice classes for context
research_typestringyesType of research to perform

No output schema declared.

No examples provided.

Common questions

What is the GleanMark Trademark Search MCP server?

GleanMark Trademark Search is an MCP server listed in the public MCP registry as com.gleanmark/trademark-search. Search 13.7M+ USPTO trademarks. Clearance, phonetic matching, TTAB stats, analytics. This page covers its hosted endpoint (https://gleanmark.com/mcp).

Is the GleanMark Trademark Search MCP server safe to use?

GleanMark Trademark Search scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the GleanMark Trademark Search MCP server expose?

GleanMark Trademark Search exposes 64 tools: analyze_prosecution_history, analyze_ttab_proceeding, check_brand_availability, check_domain_availability, compare_marks, and 59 more. Their descriptions and schemas cost roughly 10,938 tokens of context every time the server is loaded.

Does the GleanMark Trademark Search MCP server require authentication?

No. We connected to GleanMark Trademark Search without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the GleanMark Trademark Search MCP server still maintained?

GleanMark Trademark Search is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.