Trademark Screen

com.trademarkscreenPublished by trademarkscreen.comOfficial publisherv0.11.7Updated Nov 7, 2026

Screen a brand name against the USPTO federal register — sound, class, live status, risk verdict.

Overview

AI-generated overview

Screens brand names against the USPTO trademark register and returns risk verdicts, conflicting marks, class suggestions and watch alerts.

What you can do
  • Screen a brand name against the USPTO register and get a risk verdict with ranked conflicting marks
  • Look up status, owner, classes and dates for a known mark by serial or registration number
  • Suggest Nice classes for a goods/services description and analyze a name's distinctiveness offline
  • Compare two names for visual, phonetic and overall confusion, and check domain availability across TLDs
  • Check EU and UK registers via TMview for the same name
  • Manage watches: verify an email, start or stop watching a mark, list watches and run a check for new filings
When to use it
Useful when choosing or clearing a new brand or product name, checking whether a name is already registered, or monitoring the register for later filings similar to a mark you own. The EU/UK check is meant to follow the US screen when selling there too.
Requirements
Runs as a remote endpoint or as a local npm package over stdio; no authentication is declared. An optional free TSDR key improves status lookups, and watch features need an email address that receives a verification code. Network access is needed for register, RDAP and TMview queries.
Before you install
Several tools have side effects: request_watch_code sends an email, watch_mark stores a watch and sends a confirmation email, and unwatch_mark deletes a watch. Watch removal with an email requires proving ownership with a code or session token. Results are informational and not legal advice; verify findings before relying on them.

Installation

In SourceWeft

  1. Open Trademark Screen in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.trademarkscreen%2Ftrademark-clearance-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "trademark-screen": {
      "type": "http",
      "url": "https://trademarkscreen.com/mcp"
    }
  }
}

README

This repository has no README.

Tools

12

screen_trademark

Screen a brand name against the USPTO federal register. Read-only. Use this FIRST for any name. Returns JSON with a plain-English risk verdict (HIGH / MEDIUM-HIGH / MEDIUM / LOW), ranked conflicting marks (each with sound/appearance similarity, class relatedness, live/dead status, owner, serial), and the data-as-of date. Pass format "csv" to get the same results as a spreadsheet (one row per hit) instead of JSON. Limited to 100 screens/day on this server. SCREEN ONLY — not a clearance opinion, not legal advice. After this, use check_global_marks for EU/UK, check_domains for the domain, and watch_mark to monitor the name.

ParametersnamerequiredformatclassesincludeDeadgoodsDescriptionrequired

trademark_status

Authoritative status for ONE mark you already know, by serial number (sn12345678) or registration number (rn1234567). Read-only. Returns JSON with the mark's live/dead status, owner, classes, goods/services, and filing/registration dates. Uses TSDR if a free key is set, otherwise the public Trademark Search record. Use when you have a serial/registration number (e.g. from a screen_trademark hit) and want the authoritative record for that one mark — not for searching by name (use screen_trademark for that).

Parametersidrequired

suggest_classes

Suggest the Nice classes (1-45) a goods/services description falls under, with reasons. Read-only, pure reasoning — no live data, no register lookup. Input goodsDescription is what you sell (e.g. 'music streaming app'); the more specific it is, the better the classes. Returns JSON with the suggested classes (each with its label), the classes assumed from your wording, and the reasons. Use before filing to pick classes (each class costs $350 to file), or to feed classes into screen_trademark / check_global_marks. Always verify against the USPTO ID Manual for the exact pre-approved description.

ParametersgoodsDescriptionrequired

analyze_name

Analyze a brand name's strength WITHOUT checking the register — read-only, offline, deterministic (same name always gives the same result). Returns JSON with the distinctiveness spectrum (fanciful / arbitrary / suggestive / descriptive / generic), phonetic collisions to check, and a checklist (other-language meanings, common-law use, state registers). Optional goodsDescription (what you sell) sharpens the analysis: a descriptive word for those goods scores weaker than the same word for unrelated goods. No live data and no register results — pair it with screen_trademark, which checks the actual federal register. Use this to judge how protectable a name is; use screen_trademark to judge whether it conflicts.

ParametersnamerequiredgoodsDescription

compare_marks

Compare two specific names side-by-side. Read-only, deterministic — the same two names always give the same scores. Returns JSON with visual similarity, Jaro-Winkler, phonetic (Soundex) similarity, an overall confusion score (0-1), and a risk level. Use to compare two names you already have in mind; use screen_trademark to discover conflicts for a name across the whole register (it also weighs classes and live/dead status, which this does not). Does not assess meaning, commercial impression, or class relatedness.

ParametersnameArequirednameBrequired

check_domains

Check whether a brand name is free to register as a domain. Read-only. Returns JSON with one result per TLD (registered / available / unknown) — all TLDs are checked in parallel. Uses RDAP (the registry's own data, free, no key): 404 = not registered; 'unknown' = the TLD has no RDAP service. Covers .com/.io/.ai/.co/.app/.dev/.net/.org by default, or a custom TLD list. A free domain does NOT mean the trademark is clear, and a taken domain does not block the trademark — domains and trademarks are separate rights, so use screen_trademark for the trademark check.

Parametersnamerequiredtlds

check_global_marks

Check a brand name against EU + UK trademark registers via TMview (EUIPO-operated, offices EM + GB). Read-only. Returns JSON with the EU/UK hits scored the same way as screen_trademark, plus the classes used. Use AFTER screen_trademark when you also sell in the EU/UK; the US screen is unaffected if TMview is down. BEST-EFFORT: TMview has no published API and resets connections from plain HTTP clients — when it will not answer, this returns { checked: false, reason } with a manual link instead of failing. A clear EU/UK result is a signal, not clearance.

ParametersnamerequiredclassesgoodsDescriptionrequired

request_watch_code

Send a 6-digit verification code to an email address, for watch access. This sends an email (the only side effect) but creates nothing. Call it BEFORE list_watches, unwatch_mark, or attaching an email to a watch with watch_mark. The code expires in 10 minutes (5 tries); verifying it returns a 60-minute session token you can reuse for the other watch tools. A code is sent even if the email has no watches, so the response never reveals whether an address has watches.

Parametersemailrequired

watch_mark

Start watching a mark for NEW confusingly similar filings. This CREATES a watch (a side effect — it stores the watch and sends a confirmation email with the stop link). Runs a baseline screen first — everything already on the register is marked seen, so you are only alerted on filings that appear AFTER the watch starts. Returns JSON with the watch id, its classes/threshold/schedule, and the baseline hits (for context). Check for new filings with check_watches, or let the scheduled checker run (daily by default, or weekly / every N days if you set a schedule). An email is required — it is the watch's owner, and the digest goes there (needs RESEND_API_KEY on the server; without it the watch still works and records hits, and alerts start once email is switched on). The email must be verified first — call request_watch_code, then pass the email and code (or the session token); without verification the watch is refused, so nobody can attach someone else's inbox. SCREEN ONLY — not clearance, not legal advice.

ParameterscodenamerequiredemailrequiredclassesschedulethresholdscheduleDayssessionTokengoodsDescriptionrequired

list_watches

List the watches you ALREADY have — a read-only view, it does NOT check for new filings. Returns JSON with each watch's mark, classes, threshold, schedule, created/last-checked dates, total alerts so far, and the most recent new hits. Use this to see what you are watching; use check_watches to actually run a check for new filings right now. Private to one email — pass the email and the 6-digit code from request_watch_code, or a session token from a previous verification. No email addresses are ever returned.

ParameterscodeemailsessionToken

unwatch_mark

Stop watching a mark. This DELETES the watch (a side effect — it is removed and will no longer be checked). Returns JSON { removed, ok: true }. If the watch has an email, you must prove you own it — pass the email and the 6-digit code from request_watch_code, or a session token. A watch with no email needs no verification.

ParametersidrequiredcodeemailsessionToken

check_watches

Run a check for NEW filings RIGHT NOW (on all your watches, or one by id) — this actually queries the register, unlike list_watches which only shows what you have. Returns JSON with only the filings that appeared since the watch started / last check, scored by risk. Use this when you want fresh results immediately; the scheduled checker also runs daily at 09:00 on each watch's own cadence (daily by default). SCREEN ONLY — not clearance, not legal advice.

Parametersid

Version history

1
  1. v0.11.7LatestNov 7, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.