GleanMark USPTO Trademark Search
com.gleanmark/trademark-searchgleanmark.comstreamable-httpv1.2.0Scanned
USPTO trademark data: 14M+ marks, owners, Office Actions, TTAB cases. Public tools need no account.
64 tools: 12 change things and 52 only read.
- Reads private data · 11
- Reads text others write · 5
- Can send data out · 0
- 7 findings
Tools listed without sign-in. Remote posture
Anlyon alternative
12 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
64 tools
Changes things 12Claude Code: ask
analyze_prosecution_historyAnalyze the full prosecution history of a trademark — narrative timeline of office actions, responses, examiner decisions, and current status, with examiner-behavior patterns.1 finding
Why it is in this group
- The name "analyze_prosecution_history" says "analyze": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "analyze_prosecution_history" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "analyze_prosecution_history" says "analyze": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
- idempotentHint: false
analyze_ttab_proceedingAnalyze a TTAB (Trademark Trial and Appeal Board) proceeding in depth — fetches and analyzes proceeding documents, identifies key arguments, and returns a structured summary with t…Reads private data1 finding
Why it is in this group
- The name "analyze_ttab_proceeding" says "analyze": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
What it can reach
- private-dataThe description's first sentence says "analyze" and "document": it reads documents.
Findings
- Warn
The server marks "analyze_ttab_proceeding" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "analyze_ttab_proceeding" says "analyze": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: false
- destructiveHint: false
- idempotentHint: false
check_brand_availabilityQuick brand-name screen: checks whether the name's domains are registered and whether the .com site is in use, looks for similar registered trademarks in the given industries or cl…Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Quick brand-name screen: checks whether the name's domains are registered and whether the .com site is in use, looks for similar registered trademarks in the given industries or classes, and returns a screening tier (avoid, probably avoid, promising, or no close conflicts surfaced) with the top conflicts and a domain snapshot. It is a first look, not a clearance search: it does not cover common-law use, state registrations or a full goods-relatedness analysis, so a result with no conflicts means none surfaced in this screen, not that the name is available. run_knockout_search is the fuller trademark conflict search.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
- idempotentHint: true
check_domain_availabilityCheck domain availability for a brand name.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
- idempotentHint: true
get_event_code_referenceLook up USPTO event codes used in trademark prosecution.1 finding
Why it is in this group
- The name "get_event_code_reference" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_event_code_reference" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_event_code_reference" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_reference_lookupLook 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…Reads private data1 finding
Why it is in this group
- The name "get_reference_lookup" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- private-dataThe description's first sentence says "table": it reads databases.
Findings
- Warn
The server marks "get_reference_lookup" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_reference_lookup" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
is_mark_famousChecks whether a trademark is famous, and whether it is famous for a specific market, using the applicant's Nice class as a stand-in for that market (fame is market-specific under …1 finding
Why it is in this group
- The name "is_mark_famous" says "mark": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "is_mark_famous" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "is_mark_famous" says "mark": a word for a change.
Description, as the server wrote it Checks whether a trademark is famous, and whether it is famous for a specific market, using the applicant's Nice class as a stand-in for that market (fame is market-specific under Joseph Phelps Vineyards v. Fairmont: a mark famous for electronics is not automatically famous for fresh fruit). Returns is_famous, famous_in_class, the fame tier (broad household-name fame or market-specific fame), the classes where the mark is famous, portfolio size, and the corporate family's record as a TTAB plaintiff. Relevant to whether a mark is famous, the strength of a senior mark under Section 2(d), and dilution eligibility under Section 43(c). A circumstantial signal, not proof of statutory fame.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
recommend_nice_classesRecommend Nice trademark classes based on a business description.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Recommend Nice trademark classes based on a business description. Returns the most relevant classes with confidence scores and explanations.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
research_office_actionResearch the Office Action for a trademark — returns structured refusal categories, latest OA/response context, cited marks, and third-party registrations that support coexistence …Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
- destructiveHint: false
- idempotentHint: false
run_knockout_searchRuns a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinat…1 finding
Why it is in this group
- The name "run_knockout_search" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "run_knockout_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_knockout_search" says "run": a word for a change.
Description, as the server wrote it Runs a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinated class expansion, foreign-equivalent translation and design codes, scored for mark similarity and commercial overlap. Returns results grouped into four risk tiers (very high, high, medium, low) with confusion scores, a four-level headline verdict (critical conflicts, elevated risk, moderate risk, low risk) with a one-line reason, and a sample of dead marks in the same naming territory. goods_description, when supplied, is scored for goods and services relatedness; without it, scoring uses classes only, which understates conflicts between related goods in different classes. owner_name adds the applicant's existing marks in the searched classes. It searches trademarks only, not domains or web use; check_brand_availability covers domains. Most searches finish in under a minute. Requires a signed-in GleanMark account.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
run_safe_analyticsRuns a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposing database details.1 finding
Why it is in this group
- The name "run_safe_analytics" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "run_safe_analytics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_safe_analytics" says "run": a word for a change.
Description, as the server wrote it Runs a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposing database details. Suited to custom aggregate business questions that a single search or summary tool does not answer.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
web_researchResearch a company, trademark, or legal topic on the internet.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
- idempotentHint: true
Only reads 52Show 52 read-only tools
compare_marksCompare two trademarks for likelihood of confusion using DuPont-style analysis.No findings
Why it is in this group
- The name "compare_marks" says "compare": a word for reading.
Description, as the server wrote it Compare two trademarks for likelihood of confusion using DuPont-style analysis. Returns similarity scores and risk assessment.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
count_filings_by_periodCounts U.S.No findings
Why it is in this group
- The name "count_filings_by_period" says "count": a word for reading.
Description, as the server wrote it Counts U.S. trademark applications filed across the whole register in a date range, grouped by calendar year, month or day, with each period split into U.S.-filed and Madrid Protocol (79-series) applications and the change from the previous period. Answers questions such as how many trademark applications were filed in 2025 and how that compares with 2024, or which month of a year had the most filings. Counts are one per serial number by the filing date on the USPTO record; they are calendar periods, not USPTO fiscal-year statistics, and not class counts. Returns data_through, the latest filing date on the register; recent periods grow as late records arrive.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
count_trademarks_by_attributesCounts and previews USPTO marks by record attributes (drawing type, standard-character claim, Nice class, status, and combinations of these), with breakdowns by mark type, standard…No findings
Why it is in this group
- The name "count_trademarks_by_attributes" says "count": a word for reading.
Description, as the server wrote it Counts and previews USPTO marks by record attributes (drawing type, standard-character claim, Nice class, status, and combinations of these), with breakdowns by mark type, standard character and class, plus how complete the underlying data is. Claimed-color criteria can be combined with these attributes; counts by color alone, rankings, lists and color vocabulary are outside its scope.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
fetchRetrieve the full USPTO record for one trademark, using an id returned by the search tool.No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_chain_of_titleTraces who has owned a trademark over time: the ownership stages the USPTO recorded, from the original applicant or registrant through each later owner, plus any recorded assignmen…Reads private dataNo findings
Why it is in this group
- The name "get_chain_of_title" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "document": it reads documents.
Description, as the server wrote it Traces who has owned a trademark over time: the ownership stages the USPTO recorded, from the original applicant or registrant through each later owner, plus any recorded assignment documents GleanMark holds. Answers questions such as who owns a mark now versus who filed it, whether it was sold, transferred or assigned, and how it reached its current owner, including chain-of-title and due-diligence questions. lookup_trademark shows only the current owner. Owners listed within one stage are joint owners, not successive ones. Not a title opinion.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_class_relationshipsLook up coordinated Nice classes or related Nice classes for a given class number.No findings
Why it is in this group
- The name "get_class_relationships" says "get": a word for reading.
Description, as the server wrote it Look up coordinated Nice classes or related Nice classes for a given class number.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_cohort_event_intervalsMeasures the time between two prosecution events across a group of marks, e.g.No findings
Why it is in this group
- The name "get_cohort_event_intervals" says "get": a word for reading.
Description, as the server wrote it Measures the time between two prosecution events across a group of marks, e.g. the average days from Office Action to publication for marks published in Q2 2026. The group is chosen by an anchor event (preset: publication, notice_of_publication, registration, notice_of_allowance, abandonment or first_office_action, or raw event codes, where a trailing * matches a prefix) within a date window of up to 366 days; the interval runs from a start event to an end event. Returns the average, median and percentiles in days, how many marks in the group had no start event, and example marks. Samples up to max_sample marks from the start of the window and says when the sample is truncated. Event codes beyond the presets are listed by get_event_code_reference.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_correspondent_marksGet all trademarks handled by a specific attorney/correspondent, with prosecution event counts and office action flags.No findings
Why it is in this group
- The name "get_correspondent_marks" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_correspondent_specializationSummarize what a named correspondent specializes in, including top clients, top Nice classes, and prosecution-versus-TTAB profile.No findings
Why it is in this group
- The name "get_correspondent_specialization" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_deadline_satisfaction_mappingCheck 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 a…Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_deadline_satisfaction_mapping" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "table": it reads databases.
- untrusted-inputThe description's first sentence says "post": it reads posts, which other people can write.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_event_status_mappingLook up which USPTO status code and status definition most commonly follow a specific prosecution event code.No findings
Why it is in this group
- The name "get_event_status_mapping" says "get": a word for reading.
Description, as the server wrote it Look up which USPTO status code and status definition most commonly follow a specific prosecution event code.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_fame_profileGet 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 …No findings
Why it is in this group
- The name "get_fame_profile" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_firm_correspondent_tasksResolves a trademark law firm and returns its action-required work: overdue deadlines and those in the next window, plus recent Office Actions from case-file events and prosecution…Reads private dataNo findings
Why it is in this group
- The name "get_firm_correspondent_tasks" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "resolve" and "file": it reads files.
Description, as the server wrote it Resolves a trademark law firm and returns its action-required work: overdue deadlines and those in the next window, plus recent Office Actions from case-file events and prosecution documents, with flags for a filed response and for Section 2(d) refusals. Answers questions such as which correspondent tasks a firm has in the next 30 days or which recent Office Actions a firm has received.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_firm_deadlinesGet public, system-generated trademark deadlines across marks handled by a specific law firm.No findings
Why it is in this group
- The name "get_firm_deadlines" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_firm_oa_outcomesResolve 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.No findings
Why it is in this group
- The name "get_firm_oa_outcomes" says "get": a word for reading.
Description, as the server wrote it 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".
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_firm_top_correspondentsRanks the correspondents or attorneys within one named law firm by filing volume, with prosecution and TTAB activity counts.No findings
Why it is in this group
- The name "get_firm_top_correspondents" says "get": a word for reading.
Description, as the server wrote it Ranks the correspondents or attorneys within one named law firm by filing volume, with prosecution and TTAB activity counts. Answers questions such as who the top correspondents at Fross Zelnick Lehrman & Zissu are.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_latest_office_actionReturns the most recent Office Action for a trademark serial number, the latest recorded response if there is one, and the refusal grounds parsed from the Office Action text, with …No findings
Why it is in this group
- The name "get_latest_office_action" says "get": a word for reading.
Description, as the server wrote it Returns the most recent Office Action for a trademark serial number, the latest recorded response if there is one, and the refusal grounds parsed from the Office Action text, with the cited registration numbers. refusal_grounds is taken from the text of the action, not from the document title.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_mark_ai_summaryGet an AI-generated deep-dive summary of a specific trademark.No findings
Why it is in this group
- The name "get_mark_ai_summary" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_mark_deadlinesGet public, system-generated trademark deadlines for a specific mark.No findings
Why it is in this group
- The name "get_mark_deadlines" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_mark_international_profileGet the international / foreign footprint of a U.S.No findings
Why it is in this group
- The name "get_mark_international_profile" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_mark_owner_landscapeShow which owners hold marks matching a shared trademark term and summarize what else those owners have in their broader portfolios.No findings
Why it is in this group
- The name "get_mark_owner_landscape" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_mark_prosecution_summaryGet a compact prosecution summary for a trademark serial number.No findings
Why it is in this group
- The name "get_mark_prosecution_summary" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_nice_classesGet information about Nice Classification classes used for trademark registration.No findings
Why it is in this group
- The name "get_nice_classes" says "get": a word for reading.
Description, as the server wrote it Get information about Nice Classification classes used for trademark registration. Lookup specific class numbers or search for classes by keyword.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_ai_summaryGet an AI-generated strategic analysis of a trademark owner.No findings
Why it is in this group
- The name "get_owner_ai_summary" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_deadlinesGet public, system-generated trademark deadlines across a specific owner’s marks.No findings
Why it is in this group
- The name "get_owner_deadlines" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_filing_trendsGet a trademark owner's filing trends over time — yearly filing counts broken down by Nice class.No findings
Why it is in this group
- The name "get_owner_filing_trends" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_goods_keywordsGet the most frequent goods/services keywords for a trademark owner.No findings
Why it is in this group
- The name "get_owner_goods_keywords" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_ttab_enforcementAnalyze one trademark owner's TTAB enforcement in a single call.No findings
Why it is in this group
- The name "get_owner_ttab_enforcement" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_owner_ttab_statsReturns a compact TTAB history for one owner: counts of inter partes proceedings, oppositions, cancellations, extensions of time to oppose and appeals, broken down by the owner's r…No findings
Why it is in this group
- The name "get_owner_ttab_stats" says "get": a word for reading.
Description, as the server wrote it Returns a compact TTAB history for one owner: counts of inter partes proceedings, oppositions, cancellations, extensions of time to oppose and appeals, broken down by the owner's role. The total counts every record, including extensions and cases the owner defended, so it is not the number of oppositions the owner started. get_owner_ttab_enforcement covers date ranges and the marks and classes challenged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_prosecution_documentRetrieve one specific USPTO prosecution document by the stable document_id returned from list_prosecution_documents, USPTO document id, code, or date.Reads private dataNo findings
Why it is in this group
- The name "get_prosecution_document" says "get": a word for reading.
What it can reach
- private-dataThe name "get_prosecution_document" says "get" and "document": it reads documents.
- private-dataThe description's first sentence says "retrieve" and "document": it reads documents.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_prosecution_timelineGet the prosecution timeline for a trademark — chronological list of office actions, responses, and key events (publication, registration, suspension, etc.).No findings
Why it is in this group
- The name "get_prosecution_timeline" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_similar_marksFind USPTO trademarks similar to a given mark name.No findings
Why it is in this group
- The name "get_similar_marks" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_top_filersGet a ranked filer table for a date range, filer type, and optional Nice classes.Reads private dataNo findings
Why it is in this group
- The name "get_top_filers" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "get" and "table": it reads databases.
Description, as the server wrote it 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`).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_ttab_documentRetrieve and read one specific TTABVUE filing by proceeding number and entry number.Reads private dataNo findings
Why it is in this group
- The name "get_ttab_document" says "get": a word for reading.
What it can reach
- private-dataThe name "get_ttab_document" says "get" and "document": it reads documents.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_ttab_proceeding_detailsGet raw details for a TTAB proceeding — parties, involved marks, counsel, and recent filings with entry numbers and working TTABVUE document links.Reads private dataNo findings
Why it is in this group
- The name "get_ttab_proceeding_details" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "get" and "document": it reads documents.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
get_ttab_top_opposition_filersRanks the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range.No findings
Why it is in this group
- The name "get_ttab_top_opposition_filers" says "get": a word for reading.
Description, as the server wrote it Ranks the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range. Answers market-wide questions such as which party filed the most oppositions in April 2026. Takes a calendar date range. One owner's record is covered by get_owner_ttab_stats, and one proceeding by get_ttab_proceeding_details.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
list_prosecution_documentsList prosecution documents for a trademark serial number, including stable document identifiers, working USPTO links when available, extraction/readability status, office actions, …Reads private dataNo findings
Why it is in this group
- The name "list_prosecution_documents" says "list": a word for reading.
What it can reach
- private-dataThe name "list_prosecution_documents" says "list" and "document": it reads documents.
- private-dataThe description's first sentence says "list" and "document": it reads documents.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
lookup_trademarkGet detailed information about a specific USPTO trademark by its serial number.No findings
Why it is in this group
- The name "lookup_trademark" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
phonetic_searchFinds trademarks whose whole mark sounds like the given mark, using Metaphone codes and trigram similarity with a whole-mark threshold.No findings
Why it is in this group
- The name "phonetic_search" says "search": a word for reading.
Description, as the server wrote it Finds trademarks whose whole mark sounds like the given mark, using Metaphone codes and trigram similarity with a whole-mark threshold. Because it compares entire marks, a multi-word mark that only contains a sound-alike word is not returned: for QUICK, KWIK REWARDS does not appear even though KWIK sounds like QUICK. An empty or short result does not show that no sound-alike marks exist and is not a clearance result; run_knockout_search is the conflict search.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
resolve_trademark_subjectMatches a name to one trademark entity (an owner, law firm, correspondent, mark, TTAB proceeding, client or portfolio) and returns the match with its identifiers, or the top candid…No findings
Why it is in this group
- The name "resolve_trademark_subject" says "resolve": a word for reading.
Description, as the server wrote it Matches a name to one trademark entity (an owner, law firm, correspondent, mark, TTAB proceeding, client or portfolio) and returns the match with its identifiers, or the top candidates when the name is ambiguous. Resolving clients and portfolios requires a signed-in account.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
searchSearch GleanMark's USPTO trademark database and return citable results.Reads private dataNo findings
Why it is in this group
- The name "search" says "search": a word for reading.
What it can reach
- private-dataThe description's first sentence says "search" and "database": it reads databases.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_attorneysSearch for trademark attorneys or law firms.No findings
Why it is in this group
- The name "search_attorneys" says "search": a word for reading.
Description, as the server wrote it Search for trademark attorneys or law firms. Returns prosecution statistics, TTAB proceeding counts (as plaintiff/defendant), and contact information.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_by_ownerSearch for trademark owners by name.No findings
Why it is in this group
- The name "search_by_owner" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_claimed_colorsSearches or counts U.S.No findings
Why it is in this group
- The name "search_claimed_colors" says "search": a word for reading.
Description, as the server wrote it Searches or counts U.S. trademarks by the colors they claim, parsed from USPTO color-claim statements. Two levels: level="family" (16 color families; red also finds dark red, maroon and burgundy) and level="shade" (the exact term claimed, e.g. dark red). match="all" finds marks claiming at least the given colors, match="only" marks claiming exactly those colors, and match="only_bw" the same while also allowing black and white. claimed=false counts marks whose statement says color is not claimed. Modes: count, top_owners, list_marks, vocabulary (the valid families or shades with counts), explain_term (the family a shade belongs to) and by_serial (what one mark claims).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_design_codesFind 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).No findings
Why it is in this group
- The name "search_design_codes" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_goods_servicesFull-text search over the goods and services identifications of 14M USPTO marks, for questions such as which other owners claim a product in their goods (competitive landscape, des…No findings
Why it is in this group
- The name "search_goods_services" says "search": a word for reading.
Description, as the server wrote it Full-text search over the goods and services identifications of 14M USPTO marks, for questions such as which other owners claim a product in their goods (competitive landscape, descriptiveness or crowded-field evidence, identification drafting precedent). Keyword-based: the query is tokenized and matched against each mark's indexed goods keywords (match_mode all requires every keyword, any requires at least one). Rows include a short excerpt around the matched clause, not the full identification. mode=count returns how many marks claim the goods, with class and status breakdowns; mode=top_owners ranks the owners claiming them; neither returns rows. Searches goods and services text, not mark names; run_knockout_search and search_trademarks search mark names.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_mark_statementsSearches the statements the USPTO records on a trademark: disclaimers ("no claim is made to PIZZA apart from the mark"), descriptions of the drawing ("the mark consists of a red an…No findings
Why it is in this group
- The name "search_mark_statements" says "search": a word for reading.
Description, as the server wrote it Searches the statements the USPTO records on a trademark: disclaimers ("no claim is made to PIZZA apart from the mark"), descriptions of the drawing ("the mark consists of a red and white striped awning"), translations of foreign wording, and claims of prior registrations. Answers questions such as which marks disclaim a word or which marks are described as stripes. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark) and statement_types. mode=top_terms with nice_class ranks the most-disclaimed terms in a class with per-term mark counts (disclaimers only); its status filter accepts live (registered and pending together), any or dead, so a registered-only ranking is not available. A single term's registered-only count is available with mode=count, text set to the term, and status=registered. Color claims are searched with search_claimed_colors.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_trademarksSearches USPTO trademarks by name (14M records) and returns the closest whole-mark matches, ranked by similarity and prefix.No findings
Why it is in this group
- The name "search_trademarks" says "search": a word for reading.
Description, as the server wrote it Searches USPTO trademarks by name (14M records) and returns the closest whole-mark matches, ranked by similarity and prefix. It is not an exhaustive contains-search: multi-word marks that only contain the queried word rank low and are often cut (a KWIK query can miss KWIK REWARDS or KWIK KOPY); search_marks_by_pattern returns complete lists. A short result does not show that a name is absent from the register or available.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
search_ttab_proceedingsSearch TTAB proceedings using the same discovery index as the GleanMark TTAB workspace.No findings
Why it is in this group
- The name "search_ttab_proceedings" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
suggest_gs_descriptionsSearch the USPTO Trademark ID Manual (pre-approved, surcharge-free goods & services identifications) by plain words.No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
validate_gs_descriptionCheck a draft goods & services description against the USPTO ID Manual, clause by clause (clauses split on ";").No findings
Why it is in this group
- The name "validate_gs_description" says "validate": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
- destructiveHint: false
- idempotentHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data11
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write5
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 14:33 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 12
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- not observed
- RFC 9728 protected resource metadata
- https://gleanmark.com/.well-known/oauth-protected-resource/mcp
- Authorization servers
- https://gleanmark.com/
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- yes
- Client ID metadata documents
- yes
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 12 tools that change things (12 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://gleanmark.com/mcp: tools/list returned 64 tools to an anonymous client, including analyze_prosecution_history (write), analyze_ttab_proceeding (write), check_brand_availability (write), check_domain_availability (write), get_event_code_reference (write) and 7 more
Findings
Matches of fixed checks, with the text they matched.
The server marks "analyze_prosecution_history" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "analyze_prosecution_history" says "analyze": a word for reading.
The server marks "analyze_ttab_proceeding" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "analyze_ttab_proceeding" says "analyze": a word for reading.
The server marks "get_event_code_reference" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_event_code_reference" says "get": a word for reading.
The server marks "get_reference_lookup" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_reference_lookup" says "get": a word for reading.
- Warnis_mark_famous
The server marks "is_mark_famous" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "is_mark_famous" says "mark": a word for a change.
The server marks "run_knockout_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_knockout_search" says "run": a word for a change.
Show 1 more findingShow fewer
The server marks "run_safe_analytics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_safe_analytics" says "run": a word for a change.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http trademark-search https://gleanmark.com/mcpclaude mcp add --transport http trademark-search https://gleanmark.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__trademark-search__compare_marks",
"mcp__trademark-search__count_filings_by_period",
"mcp__trademark-search__count_trademarks_by_attributes",
"mcp__trademark-search__fetch",
"mcp__trademark-search__get_chain_of_title",
"mcp__trademark-search__get_class_relationships",
"mcp__trademark-search__get_cohort_event_intervals",
"mcp__trademark-search__get_correspondent_marks",
"mcp__trademark-search__get_correspondent_specialization",
"mcp__trademark-search__get_deadline_satisfaction_mapping",
"mcp__trademark-search__get_event_status_mapping",
"mcp__trademark-search__get_fame_profile",
"mcp__trademark-search__get_firm_correspondent_tasks",
"mcp__trademark-search__get_firm_deadlines",
"mcp__trademark-search__get_firm_oa_outcomes",
"mcp__trademark-search__get_firm_top_correspondents",
"mcp__trademark-search__get_latest_office_action",
"mcp__trademark-search__get_mark_ai_summary",
"mcp__trademark-search__get_mark_deadlines",
"mcp__trademark-search__get_mark_international_profile",
"mcp__trademark-search__get_mark_owner_landscape",
"mcp__trademark-search__get_mark_prosecution_summary",
"mcp__trademark-search__get_nice_classes",
"mcp__trademark-search__get_owner_ai_summary",
"mcp__trademark-search__get_owner_deadlines",
"mcp__trademark-search__get_owner_filing_trends",
"mcp__trademark-search__get_owner_goods_keywords",
"mcp__trademark-search__get_owner_related_parties",
"mcp__trademark-search__get_owner_ttab_enforcement",
"mcp__trademark-search__get_owner_ttab_stats",
"mcp__trademark-search__get_prosecution_document",
"mcp__trademark-search__get_prosecution_timeline",
"mcp__trademark-search__get_similar_marks",
"mcp__trademark-search__get_top_filers",
"mcp__trademark-search__get_ttab_document",
"mcp__trademark-search__get_ttab_proceeding_details",
"mcp__trademark-search__get_ttab_top_opposition_filers",
"mcp__trademark-search__list_prosecution_documents",
"mcp__trademark-search__lookup_trademark",
"mcp__trademark-search__phonetic_search",
"mcp__trademark-search__resolve_trademark_subject",
"mcp__trademark-search__search",
"mcp__trademark-search__search_attorneys",
"mcp__trademark-search__search_by_owner",
"mcp__trademark-search__search_claimed_colors",
"mcp__trademark-search__search_design_codes",
"mcp__trademark-search__search_goods_services",
"mcp__trademark-search__search_mark_statements",
"mcp__trademark-search__search_trademarks",
"mcp__trademark-search__search_ttab_proceedings",
"mcp__trademark-search__suggest_gs_descriptions",
"mcp__trademark-search__validate_gs_description"
],
"ask": [
"mcp__trademark-search__analyze_prosecution_history",
"mcp__trademark-search__analyze_ttab_proceeding",
"mcp__trademark-search__check_brand_availability",
"mcp__trademark-search__check_domain_availability",
"mcp__trademark-search__get_event_code_reference",
"mcp__trademark-search__get_reference_lookup",
"mcp__trademark-search__is_mark_famous",
"mcp__trademark-search__recommend_nice_classes",
"mcp__trademark-search__research_office_action",
"mcp__trademark-search__run_knockout_search",
"mcp__trademark-search__run_safe_analytics",
"mcp__trademark-search__web_research"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as trademark-search. Review it before you use it.
Capability tags behind 15 rules
- mcp__trademark-search__analyze_ttab_proceeding private-data
- mcp__trademark-search__check_brand_availability untrusted-input
- mcp__trademark-search__check_domain_availability untrusted-input
- mcp__trademark-search__get_chain_of_title private-data
- mcp__trademark-search__get_deadline_satisfaction_mapping private-data, untrusted-input
- mcp__trademark-search__get_firm_correspondent_tasks private-data
- mcp__trademark-search__get_prosecution_document private-data
- mcp__trademark-search__get_reference_lookup private-data
- mcp__trademark-search__get_top_filers private-data
- mcp__trademark-search__get_ttab_document private-data
- mcp__trademark-search__get_ttab_proceeding_details private-data
- mcp__trademark-search__list_prosecution_documents private-data
- mcp__trademark-search__research_office_action untrusted-input
- mcp__trademark-search__search private-data
- mcp__trademark-search__web_research untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.gleanmark/trademark-search/verify?hash=910b522b436287134e5a3b373678d335c3a7f9475d9630ee9dbe0729786191fb" | jq -e '.changed == false'Pinned hash 910b522b4362, from Oct 21, 2026, 18:50 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.gleanmark/trademark-search/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.gleanmark/trademark-search)Source: MCP Registry. Synced Oct 21, 2026, 17:55 UTC.