{"apiVersion":"v1","directorySlug":"gleanmark-mcp-da4e78d261","title":"GleanMark","description":"The all-in-one platform for trademark teams — search, clearance, office-action drafting, watch, and docketing in one tool instead of five. Free...","pageUrl":"https://www.mcpbundles.com/skills/gleanmark-mcp-da4e78d261","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://gleanmark.com/mcp","hostedMcpUrl":null,"toolCount":64,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.gleanmark/gleanmark-mcp-da4e78d261","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"analyze_prosecution_history","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Analyze Prosecution History","logicalName":"analyze_prosecution_history","displayName":"Analyze Prosecution History","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"analyze_ttab_proceeding","description":"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.","inputSchema":{"type":"object","required":["proceeding_number"],"properties":{"quick_mode":{"type":"boolean","default":false},"proceeding_number":{"type":"string"}}},"title":"Analyze a TTAB Proceeding","logicalName":"analyze_ttab_proceeding","displayName":"Analyze a TTAB Proceeding","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"check_brand_availability","description":"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","inputSchema":{"type":"object","required":["brand_name"],"properties":{"brand_name":{"type":"string"},"industries":{"type":"array","items":{"type":"string"}},"nice_classes":{"type":"array","items":{"type":"integer"}},"business_description":{"type":"string"}}},"title":"Check Brand Availability","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_brand_availability","displayName":"Check Brand Availability"},{"name":"check_domain_availability","description":"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).","inputSchema":{"type":"object","required":["brand_name"],"properties":{"tlds":{"type":"array","items":{"enum":["com","ai","app","io","co"],"type":"string"},"default":["com","ai","app","io","co"]},"brand_name":{"type":"string"}}},"title":"Check Domain Availability","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_domain_availability","displayName":"Check Domain Availability"},{"name":"compare_marks","description":"Compare two trademarks for likelihood of confusion using DuPont-style analysis. Returns similarity scores and risk assessment.","inputSchema":{"type":"object","required":["mark_a","mark_b"],"properties":{"mark_a":{"type":"string"},"mark_b":{"type":"string"},"nice_classes":{"type":"array","items":{"type":"integer"}}}},"title":"Compare Two Marks for Confusion","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"compare_marks","displayName":"Compare Two Marks for Confusion"},{"name":"count_filings_by_period","description":"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 per","inputSchema":{"type":"object","required":["start_date","end_date"],"properties":{"end_date":{"type":"string"},"group_by":{"enum":["year","month","day"],"type":"string","default":"year"},"start_date":{"type":"string"}}},"title":"Count Trademark Filings by Period","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"count_filings_by_period","displayName":"Count Trademark Filings by Period"},{"name":"count_trademarks_by_attributes","description":"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.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":5,"maximum":20,"minimum":1},"mark_types":{"type":"array","items":{"enum":["Word","Stylized","Design","Combined","NonVisual","Unknown"],"type":"string"}},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1}},"status_filter":{"enum":["all","live","dead","registered","pending","cancelled","abandoned"],"type":"string","default":"all"},"class_match_mode":{"enum":["any","all"],"type":"string","default":"any"},"color_match_mode":{"enum":["all","only","only_bw"],"type":"string","default":"all"},"standard_characters":{"type":"boolean"},"claimed_color_shades":{"type":"array","items":{"type":"string"}},"claimed_color_families":{"type":"array","items":{"enum":["red","orange","yellow","green","blue","teal","purple","pink","brown","black","white","gray","beige","gold","silver","copper"],"type":"string"}}}},"title":"Count Trademarks by Attributes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"count_trademarks_by_attributes","displayName":"Count Trademarks by Attributes"},{"name":"fetch","description":"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.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"title":"Fetch","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"fetch","displayName":"Fetch"},{"name":"get_chain_of_title","description":"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 join","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Get Chain Of Title","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chain_of_title","displayName":"Get Chain Of Title"},{"name":"get_class_relationships","description":"Look up coordinated Nice classes or related Nice classes for a given class number.","inputSchema":{"type":"object","required":["class_number"],"properties":{"limit":{"type":"integer","default":10,"maximum":25,"minimum":1},"class_number":{"type":"integer","maximum":45,"minimum":1},"include_legacy":{"type":"boolean","default":true},"relationship_type":{"enum":["coordinated","related"],"type":"string"}}},"title":"Get Related Nice Classes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_class_relationships","displayName":"Get Related Nice Classes"},{"name":"get_cohort_event_intervals","description":"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","inputSchema":{"type":"object","required":["cohort_date_from","cohort_date_to"],"properties":{"end_event":{"enum":["first_office_action","publication","notice_of_publication","registration","notice_of_allowance","abandonment"],"type":"string"},"max_sample":{"type":"integer","maximum":2000,"minimum":100},"start_event":{"enum":["first_office_action","publication","notice_of_publication","registration","notice_of_allowance","abandonment"],"type":"string"},"cohort_event":{"enum":["first_office_action","publication","notice_of_publication","registration","notice_of_allowance","abandonment"],"type":"string"},"cohort_date_to":{"type":"string"},"end_event_codes":{"type":"array","items":{"type":"string"}},"cohort_date_from":{"type":"string"},"start_event_codes":{"type":"array","items":{"type":"string"}},"cohort_event_codes":{"type":"array","items":{"type":"string"}}}},"title":"Cohort Event Intervals","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_cohort_event_intervals","displayName":"Cohort Event Intervals"},{"name":"get_correspondent_marks","description":"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.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":50,"maximum":200,"minimum":1},"search_term":{"type":"string"},"status_filter":{"enum":["all","pending","registered","live","dead"],"type":"string","default":"all"},"correspondent_id":{"type":"string"},"correspondent_name":{"type":"string"},"recent_window_days":{"type":"integer","default":180,"maximum":730,"minimum":1},"canonical_correspondent_id":{"type":"string"}}},"title":"Marks for a Correspondent","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_correspondent_marks","displayName":"Marks for a Correspondent"},{"name":"get_correspondent_specialization","description":"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.","inputSchema":{"type":"object","required":[],"properties":{"url_key":{"type":"string"},"search_term":{"type":"string"},"top_class_limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"top_client_limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"correspondent_name":{"type":"string"}}},"title":"Correspondent Specialization","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_correspondent_specialization","displayName":"Correspondent Specialization"},{"name":"get_deadline_satisfaction_mapping","description":"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.","inputSchema":{"type":"object","required":["event_code","deadline_type"],"properties":{"event_code":{"type":"string"},"deadline_type":{"enum":["office_action_response","opposition_period","section_15_initial","section_8_and_9_renewal","section_8_and_9_subsequent","section_8_initial","statement_of_use","post_registration_office_action","itu_notice_response"],"type":"string"}}},"title":"Deadline Satisfaction Reference","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_deadline_satisfaction_mapping","displayName":"Deadline Satisfaction Reference"},{"name":"get_event_code_reference","description":"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.","inputSchema":{"type":"object","required":[],"properties":{"code":{"type":"string"},"limit":{"type":"integer","maximum":100,"minimum":1},"search":{"type":"string"}}},"title":"USPTO Event Code Reference","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_event_code_reference","displayName":"USPTO Event Code Reference"},{"name":"get_event_status_mapping","description":"Look up which USPTO status code and status definition most commonly follow a specific prosecution event code.","inputSchema":{"type":"object","required":["event_code"],"properties":{"limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"event_code":{"type":"string"}}},"title":"USPTO Event Status Reference","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_event_status_mapping","displayName":"USPTO Event Status Reference"},{"name":"get_fame_profile","description":"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 stat","inputSchema":{"type":"object","required":["mark_or_stem"],"properties":{"mark_or_stem":{"type":"string"}}},"title":"Fame Profile for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_fame_profile","displayName":"Fame Profile for a Mark"},{"name":"get_firm_correspondent_tasks","description":"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.","inputSchema":{"type":"object","required":["firm_name"],"properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"firm_name":{"type":"string"},"deadline_days":{"type":"integer","default":30,"maximum":365,"minimum":1},"recent_oa_days":{"type":"integer","default":90,"maximum":730,"minimum":1}}},"title":"Firm Correspondent Tasks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_correspondent_tasks","displayName":"Firm Correspondent Tasks"},{"name":"get_firm_deadlines","description":"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.","inputSchema":{"type":"object","required":["firm_name"],"properties":{"limit":{"type":"integer","maximum":200,"minimum":1},"days_back":{"type":"integer","maximum":3650,"minimum":0},"firm_name":{"type":"string"},"days_ahead":{"type":"integer","maximum":3650,"minimum":1},"status_filter":{"enum":["active","pending","overdue","satisfied","cancelled","all"],"type":"string"},"include_opposition_period":{"type":"boolean"},"include_informational_windows":{"type":"boolean"}}},"title":"Firm Deadlines","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_deadlines","displayName":"Firm Deadlines"},{"name":"get_firm_oa_outcomes","description":"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\".","inputSchema":{"type":"object","required":["firm_name"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"firm_name":{"type":"string"}}},"title":"Firm Office Action Outcomes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_oa_outcomes","displayName":"Firm Office Action Outcomes"},{"name":"get_firm_top_correspondents","description":"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.","inputSchema":{"type":"object","required":["firm_name"],"properties":{"limit":{"type":"integer","default":10,"maximum":25,"minimum":1},"firm_name":{"type":"string"}}},"title":"Top Correspondents at a Firm","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_firm_top_correspondents","displayName":"Top Correspondents at a Firm"},{"name":"get_latest_office_action","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Latest Office Action for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_latest_office_action","displayName":"Latest Office Action for a Mark"},{"name":"get_mark_ai_summary","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"AI Summary of a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mark_ai_summary","displayName":"AI Summary of a Mark"},{"name":"get_mark_deadlines","description":"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.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","maximum":200,"minimum":1},"days_back":{"type":"integer","maximum":3650,"minimum":0},"days_ahead":{"type":"integer","maximum":3650,"minimum":1},"subject_name":{"type":"string"},"serial_number":{"type":"string"},"status_filter":{"enum":["active","pending","overdue","satisfied","cancelled","all"],"type":"string"},"include_opposition_period":{"type":"boolean"},"include_informational_windows":{"type":"boolean"}}},"title":"Deadlines for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mark_deadlines","displayName":"Deadlines for a Mark"},{"name":"get_mark_international_profile","description":"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 re","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"International Filings for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mark_international_profile","displayName":"International Filings for a Mark"},{"name":"get_mark_owner_landscape","description":"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.","inputSchema":{"type":"object","required":["mark_text"],"properties":{"limit":{"type":"integer","default":10,"maximum":15,"minimum":1},"mark_text":{"type":"string"},"match_mode":{"enum":["contains","exact","starts_with"],"type":"string","default":"contains"},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1}},"status_filter":{"enum":["all","live","dead","registered","pending"],"type":"string","default":"live"}}},"title":"Owner Landscape for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mark_owner_landscape","displayName":"Owner Landscape for a Mark"},{"name":"get_mark_prosecution_summary","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Prosecution Summary for a Mark","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mark_prosecution_summary","displayName":"Prosecution Summary for a Mark"},{"name":"get_nice_classes","description":"Get information about Nice Classification classes used for trademark registration. Lookup specific class numbers or search for classes by keyword.","inputSchema":{"type":"object","properties":{"search_term":{"type":"string","maxLength":100,"minLength":1},"class_numbers":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1},"maxItems":45}}},"title":"Look Up Nice Classes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_nice_classes","displayName":"Look Up Nice Classes"},{"name":"get_owner_ai_summary","description":"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.","inputSchema":{"type":"object","required":["normalized_owner"],"properties":{"normalized_owner":{"type":"string"}}},"title":"AI Summary of an Owner","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_ai_summary","displayName":"AI Summary of an Owner"},{"name":"get_owner_deadlines","description":"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.","inputSchema":{"type":"object","required":["owner_name"],"properties":{"limit":{"type":"integer","maximum":200,"minimum":1},"days_back":{"type":"integer","maximum":3650,"minimum":0},"days_ahead":{"type":"integer","maximum":3650,"minimum":1},"owner_name":{"type":"string"},"status_filter":{"enum":["active","pending","overdue","satisfied","cancelled","all"],"type":"string"},"include_opposition_period":{"type":"boolean"},"include_informational_windows":{"type":"boolean"}}},"title":"Deadlines for an Owner","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_deadlines","displayName":"Deadlines for an Owner"},{"name":"get_owner_filing_trends","description":"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.","inputSchema":{"type":"object","required":["owner_name"],"properties":{"end_year":{"type":"integer","maximum":2030},"owner_name":{"type":"string"},"start_year":{"type":"integer","minimum":1870}}},"title":"Owner Filing Trends","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_filing_trends","displayName":"Owner Filing Trends"},{"name":"get_owner_goods_keywords","description":"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.","inputSchema":{"type":"object","required":["owner_name"],"properties":{"limit":{"type":"integer","default":50,"maximum":100,"minimum":10},"owner_name":{"type":"string"}}},"title":"Owner Goods & Services Keywords","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_goods_keywords","displayName":"Owner Goods & Services Keywords"},{"name":"get_owner_related_parties","description":"Find entities likely related to a trademark owner (predecessors, subsidiaries, sister companies) from USPTO evidence: shared ownership history on the same marks, shared filing addresses (agent addresses excluded), and shared distinctive name tokens. Returns evidence and a high/possible confidence tier per hit — treat 'possible' as tentative. Use when analyzing an owner's full corporate family, portfolio scope, or whether two owners of similar marks are actually affiliated. Pass the owner name ex","inputSchema":{"type":"object","required":["owner_name"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"owner_name":{"type":"string","maxLength":200,"minLength":1}}},"title":"Likely Related Parties for an Owner","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_related_parties","displayName":"Likely Related Parties for an Owner"},{"name":"get_owner_ttab_stats","description":"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.","inputSchema":{"type":"object","required":["owner_name"],"properties":{"year":{"type":"integer","maximum":2030,"minimum":2000},"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"owner_name":{"type":"string"}}},"title":"TTAB Statistics for an Owner","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_owner_ttab_stats","displayName":"TTAB Statistics for an Owner"},{"name":"get_prosecution_document","description":"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_prose","inputSchema":{"type":"object","required":["serial_number"],"properties":{"max_chars":{"type":"integer","default":9000,"maximum":9000,"minimum":1000},"text_query":{"type":"string"},"document_id":{"type":"string"},"document_code":{"type":"string"},"document_date":{"type":"string"},"serial_number":{"type":"string"},"uspto_document_id":{"type":"string"}}},"title":"Get a Prosecution Document","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_prosecution_document","displayName":"Get a Prosecution Document"},{"name":"get_prosecution_timeline","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Prosecution Timeline","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_prosecution_timeline","displayName":"Prosecution Timeline"},{"name":"get_reference_lookup","description":"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.","inputSchema":{"type":"object","required":["reference_type"],"properties":{"code":{"type":"string"},"limit":{"type":"integer","default":10,"maximum":100,"minimum":1},"query":{"type":"string"},"after_code":{"type":"string"},"reference_type":{"enum":["nice_class","uspto_event","uspto_status","uspto_statement_type","uspto_legal_entity_type","uspto_party_type","uspto_mark_drawing_code","uspto_mark_type","uspto_us_class","uspto_entry_type","uspto_design_code","ttab_entry","ttab_proceeding_type","ttab_status","ttab_role","ttab_address_type"],"type":"string"}}},"title":"Reference Data Lookup","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_reference_lookup","displayName":"Reference Data Lookup"},{"name":"get_similar_marks","description":"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.","inputSchema":{"type":"object","required":["mark_text"],"properties":{"limit":{"type":"integer","default":10,"maximum":15,"minimum":1},"mark_text":{"type":"string","maxLength":200,"minLength":1},"include_dead":{"type":"boolean","default":false},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1},"maxItems":5}}},"title":"Find Similar Marks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_similar_marks","displayName":"Find Similar Marks"},{"name":"get_top_filers","description":"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`).","inputSchema":{"type":"object","required":["start_date","end_date"],"properties":{"limit":{"type":"integer","default":10,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"maximum":10000,"minimum":0},"rank_by":{"enum":["filings","registrations","success_rate"],"type":"string","default":"filings"},"end_date":{"type":"string"},"filer_type":{"enum":["owner","firm","correspondent"],"type":"string","default":"owner"},"start_date":{"type":"string"},"min_filings":{"type":"integer","maximum":100000,"minimum":0},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1}},"filer_profile":{"enum":["all","law_firm","full_service","prosecution_only","filing_service","in_house"],"type":"string","default":"all"}}},"title":"Top Trademark Filers","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_top_filers","displayName":"Top Trademark Filers"},{"name":"get_ttab_document","description":"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.","inputSchema":{"type":"object","required":["proceeding_number","entry_number"],"properties":{"max_chars":{"type":"integer","default":9000,"maximum":9000,"minimum":1000},"text_query":{"type":"string"},"entry_number":{"type":"integer","minimum":1},"proceeding_number":{"type":"string"}}},"title":"Get a TTAB Document","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_ttab_document","displayName":"Get a TTAB Document"},{"name":"get_ttab_proceeding_details","description":"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.","inputSchema":{"type":"object","required":["proceeding_number"],"properties":{"proceeding_number":{"type":"string"}}},"title":"TTAB Proceeding Details","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_ttab_proceeding_details","displayName":"TTAB Proceeding Details"},{"name":"get_ttab_top_opposition_filers","description":"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.","inputSchema":{"type":"object","required":["start_date","end_date"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"end_date":{"type":"string"},"party_role":{"enum":["plaintiff","defendant"],"type":"string","default":"plaintiff"},"start_date":{"type":"string"},"proceeding_type":{"enum":["opposition","cancellation"],"type":"string","default":"opposition"}}},"title":"Get TTAB Top Opposition Filers","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_ttab_top_opposition_filers","displayName":"Get TTAB Top Opposition Filers"},{"name":"is_mark_famous","description":"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 plaint","inputSchema":{"type":"object","required":["mark"],"properties":{"mark":{"type":"string"},"class":{"type":"string"}}},"title":"Check Whether a Mark Is Famous","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"is_mark_famous","displayName":"Check Whether a Mark Is Famous"},{"name":"list_prosecution_documents","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"limit":{"type":"integer","maximum":200,"minimum":1},"serial_number":{"type":"string"}}},"title":"List Prosecution Documents","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_prosecution_documents","displayName":"List Prosecution Documents"},{"name":"lookup_trademark","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string","pattern":"^\\d{8}$"}}},"title":"Look Up Trademark by Serial Number","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lookup_trademark","displayName":"Look Up Trademark by Serial Number"},{"name":"phonetic_search","description":"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.","inputSchema":{"type":"object","required":["mark_text"],"properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"mark_text":{"type":"string"},"include_dead":{"type":"boolean","default":false},"nice_classes":{"type":"array","items":{"type":"integer"}},"similarity_threshold":{"type":"number","default":0.4,"maximum":1,"minimum":0}}},"title":"Search Marks That Sound Alike","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"phonetic_search","displayName":"Search Marks That Sound Alike"},{"name":"recommend_nice_classes","description":"Recommend Nice trademark classes based on a business description. Returns the most relevant classes with confidence scores and explanations.","inputSchema":{"type":"object","required":["business_description"],"properties":{"industry":{"type":"string"},"business_description":{"type":"string","minLength":50}}},"title":"Recommend Nice Classes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"recommend_nice_classes","displayName":"Recommend Nice Classes"},{"name":"research_office_action","description":"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.","inputSchema":{"type":"object","required":["serial_number"],"properties":{"serial_number":{"type":"string"}}},"title":"Research an Office Action","logicalName":"research_office_action","displayName":"Research an Office Action","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"resolve_trademark_subject","description":"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.","inputSchema":{"type":"object","required":["entity","subject_name"],"properties":{"limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"entity":{"enum":["owner","firm","correspondent","mark","proceeding","client","portfolio"],"type":"string"},"subject_name":{"type":"string","maxLength":200,"minLength":1}}},"title":"Resolve an Ambiguous Name","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"resolve_trademark_subject","displayName":"Resolve an Ambiguous Name"},{"name":"run_knockout_search","description":"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","inputSchema":{"type":"object","required":["mark_name"],"properties":{"mark_name":{"type":"string","maxLength":200,"minLength":1},"owner_name":{"type":"string"},"max_results":{"type":"integer","default":100,"maximum":200,"minimum":10},"design_codes":{"type":"array","items":{"type":"string"},"maxItems":5},"include_dead":{"type":"boolean","default":false},"nice_classes":{"type":"array","items":{"type":"string"},"maxItems":5},"goods_description":{"type":"string","maxLength":2000}}},"title":"Run Knockout Search","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"run_knockout_search","displayName":"Run Knockout Search"},{"name":"run_safe_analytics","description":"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.","inputSchema":{"type":"object","required":["analysis_type","entity"],"properties":{"limit":{"type":"integer","default":10,"maximum":25,"minimum":1},"entity":{"enum":["owner","firm","correspondent"],"type":"string"},"metric":{"enum":["filings","pending_marks","live_marks","registered_marks","recent_office_actions"],"type":"string"},"filters":{"type":"object","properties":{"end_date":{"type":"string"},"mark_text":{"type":"string"},"match_mode":{"enum":["contains","exact","starts_with"],"type":"string","default":"contains"},"start_date":{"type":"string"},"event_scope":{"enum":["prosecution_activity","office_actions","office_action_responses"],"type":"string","default":"prosecution_activity"},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1}},"status_filter":{"enum":["all","live","dead","registered","pending"],"type":"string","default":"all"},"recent_window_days":{"type":"integer","default":180,"maximum":730,"minimum":1}}},"subject_name":{"type":"string"},"analysis_type":{"enum":["ranking","count","snapshot","timeline"],"type":"string"}}},"title":"Run Safe Analytics Query","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"run_safe_analytics","displayName":"Run Safe Analytics Query"},{"name":"search","description":"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.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"title":"Search","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search","displayName":"Search"},{"name":"search_attorneys","description":"Search for trademark attorneys or law firms. Returns prosecution statistics, TTAB proceeding counts (as plaintiff/defendant), and contact information.","inputSchema":{"type":"object","required":["search_term"],"properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"search_term":{"type":"string","maxLength":200,"minLength":1},"search_type":{"enum":["attorneys","firms"],"type":"string","default":"attorneys"}}},"title":"Search Trademark Attorneys","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_attorneys","displayName":"Search Trademark Attorneys"},{"name":"search_by_owner","description":"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).","inputSchema":{"type":"object","required":["owner_name"],"properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"owner_name":{"type":"string","maxLength":200,"minLength":1}}},"title":"Search Marks by Owner","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_by_owner","displayName":"Search Marks by Owner"},{"name":"search_claimed_colors","description":"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.","inputSchema":{"type":"object","required":[],"properties":{"mode":{"enum":["count","top_owners","list_marks","vocabulary","explain_term","by_serial"],"type":"string","default":"count"},"term":{"type":"string"},"level":{"enum":["family","shade"],"type":"string","default":"family"},"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"match":{"enum":["all","only","only_bw"],"type":"string","default":"all"},"colors":{"type":"array","items":{"type":"string"}},"status":{"enum":["any","live","dead","registered","pending"],"type":"string","default":"any"},"claimed":{"type":"boolean","default":true},"nice_class":{"type":"string"},"serial_number":{"type":"string"},"registration_number":{"type":"string"}}},"title":"Search Marks by Claimed Color","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_claimed_colors","displayName":"Search Marks by Claimed Color"},{"name":"search_design_codes","description":"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_seria","inputSchema":{"type":"object","required":[],"properties":{"mode":{"enum":["count","top_owners","list_marks","by_serial","describe_code","search_codes"],"type":"string","default":"count"},"codes":{"type":"array","items":{"type":"string"}},"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"match":{"enum":["all","any"],"type":"string","default":"all"},"query":{"type":"string"},"status":{"enum":["any","live","dead","registered","pending"],"type":"string","default":"any"},"nice_class":{"type":"string"},"serial_number":{"type":"string"},"registration_number":{"type":"string"}}},"title":"Search USPTO Design Codes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_design_codes","displayName":"Search USPTO Design Codes"},{"name":"search_goods_services","description":"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","inputSchema":{"type":"object","required":["text"],"properties":{"mode":{"enum":["list_marks","count","top_owners"],"type":"string","default":"list_marks"},"sort":{"enum":["relevance","filing_date_desc","filing_date_asc","registration_date_desc","registration_date_asc","owner_name","recently_updated"],"type":"string","default":"relevance"},"text":{"type":"string","maxLength":500,"minLength":3},"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"match_mode":{"enum":["all","any"],"type":"string","default":"all"},"nice_classes":{"type":"array","items":{"type":["string","integer"]},"maxItems":10},"status_filter":{"enum":["all","live","dead","registered","pending"],"type":"string","default":"all"},"owner_contains":{"type":"string","maxLength":200,"minLength":2}}},"title":"Search Goods Services","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_goods_services","displayName":"Search Goods Services"},{"name":"search_mark_statements","description":"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 n","inputSchema":{"type":"object","required":[],"properties":{"mode":{"enum":["count","top_terms","top_owners","list_marks","by_serial","statement_types"],"type":"string","default":"count"},"text":{"type":"string"},"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"status":{"enum":["any","live","dead","registered","pending"],"type":"string","default":"any"},"nice_class":{"type":"string"},"serial_number":{"type":"string"},"statement_type":{"enum":["disclaimer","description","translation","prior_marks"],"type":"string"},"registration_number":{"type":"string"}}},"title":"Search Mark Statements","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_mark_statements","displayName":"Search Mark Statements"},{"name":"search_trademarks","description":"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.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"query":{"type":"string","maxLength":200,"minLength":1},"nice_classes":{"type":"array","items":{"type":"integer","maximum":45,"minimum":1},"maxItems":5},"status_filter":{"enum":["all","live","dead","registered","pending"],"type":"string","default":"all"}}},"title":"Search Trademarks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_trademarks","displayName":"Search Trademarks"},{"name":"search_ttab_proceedings","description":"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.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1},"query":{"type":"string"},"role_filter":{"type":"array","items":{"enum":["P","D"],"type":"string"}},"type_filter":{"type":"array","items":{"enum":["Oppositions","Cancellations","Extensions of Time to Oppose","Concurrent Use","Ex Parte Appeal","Miscellaneous"],"type":"string"}},"status_filter":{"type":"array","items":{"enum":["active","suspended","not_instituted","terminated"],"type":"string"}},"owner_contains":{"type":"string"}},"additionalProperties":false},"title":"Search TTAB Proceedings","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_ttab_proceedings","displayName":"Search TTAB Proceedings"},{"name":"suggest_gs_descriptions","description":"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.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string","maxLength":500,"minLength":3},"classes":{"type":"array","items":{"type":["string","number"]},"maxItems":45},"gs_type":{"enum":["GOODS","SERVICES"],"type":"string"}}},"title":"Suggest Goods & Services Descriptions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"suggest_gs_descriptions","displayName":"Suggest Goods & Services Descriptions"},{"name":"validate_gs_description","description":"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.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","maxLength":8000,"minLength":10},"classes":{"type":"array","items":{"type":["string","number"]},"maxItems":45}}},"title":"Validate a Goods & Services Description","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"validate_gs_description","displayName":"Validate a Goods & Services Description"},{"name":"web_research","description":"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.","inputSchema":{"type":"object","required":["entity_name","research_type"],"properties":{"mark_text":{"type":"string"},"entity_name":{"type":"string"},"nice_classes":{"type":"array","items":{"type":"integer"}},"research_type":{"enum":["company_background","news","common_law_use","case_law","state_registrations"],"type":"string"}}},"title":"Web Research","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"web_research","displayName":"Web Research"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=GleanMark&config=eyJ1cmwiOiAiaHR0cHM6Ly9nbGVhbm1hcmsuY29tL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22GleanMark%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fgleanmark.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22GleanMark%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fgleanmark.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=GleanMark&connectorUrl=https%3A%2F%2Fgleanmark.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"GleanMark\" --url \"https://gleanmark.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gleanmark-mcp-da4e78d261","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gleanmark-mcp-da4e78d261/tools/{tool}","mcpServerUrl":"https://gleanmark.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gleanmark-mcp-da4e78d261?live=1"}