protogrid

Search / com.trademarkscreen/trademark-clearance-mcp

Trademark Screen

R0· no sign-in

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

v0.11.7 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality73new
Trust97of 100
Uptime, 30 days75%
Latency p50254 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "trademark-clearance-mcp": {
      "type": "http",
      "url": "https://trademarkscreen.com/mcp"
    }
  }
}
claude mcp add --transport http trademark-clearance-mcp https://trademarkscreen.com/mcp
[mcp_servers.trademark-clearance-mcp]
url = "https://trademarkscreen.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "trademark-clearance-mcp": {
      "type": "remote",
      "url": "https://trademarkscreen.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "trademark-clearance-mcp": {
      "type": "http",
      "url": "https://trademarkscreen.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=trademark-clearance-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdHJhZGVtYXJrc2NyZWVuLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "trademark-clearance-mcp": {
      "type": "http",
      "url": "https://trademarkscreen.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "trademark-clearance-mcp": {
      "httpUrl": "https://trademarkscreen.com/mcp"
    }
  }
}
extensions:
  "trademark-clearance-mcp":
    enabled: true
    name: "trademark-clearance-mcp"
    type: streamable_http
    uri: "https://trademarkscreen.com/mcp"
    timeout: 300

Quality 73 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: trademark_status (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); check_domains (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); screen_trademark (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,204 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 0 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

12 tools, about 3,204 tokens to load them all · tool set d1f1e4c233be · checked 2026-11-07 17:28 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance100
liveness90
freshness100
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-75% +updated-1d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://trademarkscreen.com/mcp streamable-httpnoneyes75%254 ms2025-11-252026-11-07
packageregistryversionruntimesecrets
trademark-clearance-mcpnpm0.11.7–

Tools (12)

analyze_nameAnalyze 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.
check_domainsCheck 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.
check_global_marksCheck 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.
check_watchesRun 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.
compare_marksCompare 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.
list_watchesList 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.
request_watch_codeSend 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.
screen_trademarkScreen 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.
suggest_classesSuggest 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.
trademark_statusAuthoritative 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).
unwatch_markStop 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.
watch_markStart 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.trademarkscreen/trademark-clearance-mcp",
  "title": "Trademark Screen",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://trademarkscreen.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.11.7",
  "packages": [
    {
      "version": "0.11.7",
      "transport": {
        "type": "stdio"
      },
      "identifier": "trademark-clearance-mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org"
    }
  ],
  "repository": {
    "url": "https://github.com/trademarkscreen/trademark-clearance-mcp",
    "source": "github"
  },
  "websiteUrl": "https://trademarkscreen.com",
  "description": "Screen a brand name against the USPTO federal register — sound, class, live status, risk verdict."
}