# Antevo Trademark

> Is that brand name taken? Screen the registers and check the opposition window. No account.

- name: ch.antevo/trademark
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 92/100 flags: duplicate-repo
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ch.antevo%2Ftrademark
- tools: https://api.protogrid.dev/v1/servers/ch.antevo%2Ftrademark/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "trademark": {
      "type": "http",
      "url": "https://trademark.antevo.ch/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-4d-ago -duplicate-repo(5 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 15 of 15 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,204 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 30 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 15, about 2,204 tokens to load them all
- tool set hash: 98eaaeb1470520e70d5b9c7ca811b82c
- tools last changed: 2026-10-18T22:29:07.260Z
- badge: [![protogrid quality](https://protogrid.dev/badge/ch.antevo/trademark.svg)](https://protogrid.dev/servers/ch.antevo/trademark)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `buy_credits` removed
  - A Stripe payment link for a pack of credits, for when the user wants to buy. Nothing is charged by this call: the user pays on Stripe's page, and the credits arrive when that payment completes. `pack` is the number of credits in one of the packs get_credit_balance lists; 0 means the smallest. Purchased credits never expire.
- 2026-10-18 `get_credit_balance` changed (annotations)
- 2026-10-18 `run_investigation` changed (description, annotations)
  - before: Research a trademark holder on the open web and return a cited dossier: who they really are (an operating company, a shell, a known squatter), their notable trademark activity or disputes, and any red flags. Signed-in. Spends one credit — included credits first, then purchased ones. A failed run costs nothing, and calling again for the same holder within 30 minutes returns that dossier at no charge (`reused: true`). The dossier is AI-written from cited web sources: research to check, not register fact. For the register facts on a holder, holder_read and company_file cost no credits.
  - after: Research a trademark holder on the open web and return a cited dossier: who they really are (an operating company, a shell, a known squatter), their notable trademark activity or disputes, and any red flags. Signed-in. Spends one credit — included credits first, then purchased ones. A failed run costs nothing, and calling again for the same holder within 30 minutes returns that dossier at no charge (`reused: true`). The dossier is AI-written from cited web sources: research to check, not register fact.
- 2026-10-18 `filer_activity` changed (annotations)
- 2026-10-18 `dismiss_conflict` changed (description, annotations)
  - before: Clear one hit as not-a-threat. Reversible — it moves to the Cleared list. Takes `jurisdiction` and `app_no` exactly as they appear on a conflict from my_conflicts. Use it when the user says a hit is fine — an unrelated business, a different sector, their own filing — so the desk stops surfacing it.
  - after: Clear one hit as not-a-threat. Reversible — it moves to the Cleared list. Takes `jurisdiction` and `app_no` exactly as they appear on a conflict in the user's conflict list. A cleared hit, such as an unrelated business or the user's own filing, stops being surfaced.
- 2026-10-18 `watch_mark` changed (description, annotations) **meaning changed**
  - before: Start watching a brand name — the thing the whole product exists to do. Until now the connector could LIST a watchlist but never add to one, so an assistant could report conflicts and not act on the obvious follow-up. Optionally takes Nice classes as a comma-separated list ('9,42'); leave blank to watch every class, which is the right default when someone has not said otherwise.
  - after: Start watching a brand name: new filings near it show up as conflicts. Optionally takes Nice classes as a comma-separated list ('9,42'); blank watches every class.
- 2026-10-18 `follow_filer` changed (annotations)
- 2026-10-18 `company_file` changed (annotations)
- 2026-10-18 `my_watches` changed (annotations)
- 2026-10-18 `my_deadlines` changed (description, annotations)
  - before: Renewals and closing opposition windows for this user. `kind` matters and should be relayed honestly: `opposition` carries a real date; `window_pending` means a filing is still in examination and nothing is running yet; `window_unknown` means a live threat whose clock we cannot date — treat that as urgent; `window_closed` means opposition is gone and the route is cancellation.
  - after: Renewals and closing opposition windows for this user. Each deadline has a `kind`: `opposition` carries a real date; `window_pending` means a filing is still in examination and nothing is running yet; `window_unknown` means a live threat whose deadline cannot be dated; `window_closed` means opposition is gone and the route is cancellation.

Full history: https://api.protogrid.dev/v1/servers/ch.antevo%2Ftrademark/changes

## Remotes

- https://trademark.antevo.ch/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (15)

- `company_file`: A holder's WHOLE book across every office. Founder and up.

    Corporate identity from PermID (organisation, HQ, PermID) comes with
    `company.attribution`, its CC BY 4.0 credit.
    
- `dismiss_conflict`: Clear one hit as not-a-threat. Reversible — it moves to the Cleared list.

    Takes `jurisdiction` and `app_no` exactly as they appear on a conflict in the
    user's conflict list. A cleared hit, such as an unrelated business or the user's
    own filing, stops being surfaced.
    
- `filer_activity`: What the filers this user follows have filed lately. Studio and up.
- `filing_landscape`: Filing activity in a Nice class — volume by month and the busiest filers. Signed-in.

    Answers "how crowded is my space" and "who keeps filing near me". Pass a Nice
    class (9, 42, 36…), optionally an office code ('EM', 'US', 'GB', 'CH'), and a
    window in months.

    EVERY COUNT IS OF OUR MIRROR, NOT OF THE OFFICE, and the two differ by a lot for
    some offices right now. Each office carries its own `coverage`, and any office
    whose mirror is behind is named in `do_not_quote`: for those offices a low count
    means filings not yet ingested, not filings that were never made.
    
- `follow_filer`: Follow an adversary — every filing they make, anywhere. Studio and up.

    Different from watching a name: this catches what they do NEXT, which is usually
    a different name in a class the user doesn't hold.
    
- `get_credit_balance`: How many credits this user can spend and what each paid tool costs, in credits.
    Free to call.

    `remaining` is what can be spent now: `monthly_left` (included with their plan,
    resets each month) plus `topup_balance` (bought, never expires). `prices` is
    credits per call, by tool.
    
- `holder_read`: Who a holder is and how they file — the read on an adversary. Free.

    Computed from their whole register book: how much of it they let lapse, whether
    their marks cluster where they trade or spray across unrelated classes, and the
    leverage that gives counsel. Returns the evidence behind each finding; it draws no
    legal conclusions about the holder. Corporate identity from PermID comes with
    `attribution`, its CC BY 4.0 credit.
    
- `my_conflicts`: Everything currently near the names this user watches.
- `my_deadlines`: Renewals and closing opposition windows for this user.

    Each deadline has a `kind`: `opposition` carries a real date; `window_pending`
    means a filing is still in examination and nothing is running yet;
    `window_unknown` means a live threat whose deadline cannot be dated;
    `window_closed` means opposition is gone and the route is cancellation.
    
- `my_watches`: The names this user is watching.
- `opposition_window`: How long you have to oppose a filing in a given trademark office, and from when.

    Twenty registers, each with the provision the window comes from. The trap this
    answers: most offices run opposition BEFORE registration, from publication of the
    application, but a minority — Switzerland, Germany, Japan, Sweden — register the
    mark first and run the window from publication of the REGISTRATION. Applying one
    office's rule to another invents a deadline that never existed.

    Accepts a country name, an office name or a two-letter code ('japan', 'JP', 'EU').
    
- `run_investigation`: Research a trademark holder on the open web and return a cited dossier: who they
    really are (an operating company, a shell, a known squatter), their notable
    trademark activity or disputes, and any red flags. Signed-in.

    Spends one credit — included credits first, then purchased ones. A failed run
    costs nothing, and calling again for the same holder within 30 minutes returns that
    dossier at no charge (`reused: true`). The dossier is AI-written from cited web
    sources: research to check, not register fact.
    
- `screen_mark`: Screen a brand name against the live trademark registers. Free, no account.

    Returns every mark near it with a similarity tier, plus which registers were
    checked. Answers 'is my name taken'.
    
- `suggest_classes`: Which Nice classes a business like this files in. Free, no account, no database.

    The question people cannot answer for themselves: not "is my name taken" but
    "taken in WHAT". Nice has 45 classes and the numbering is opaque — software you
    download is class 9, software you log into is class 42, and selling other people's
    goods is class 35 whatever the goods are. Filing in one and not the other is the
    most expensive routine mistake in the process.

    Takes a description of the business and returns the classes similar businesses
    file in, with the reasoning for each and a closing caveat: this reports how
    similar businesses file, not what this one should file.
    
- `watch_mark`: Start watching a brand name: new filings near it show up as conflicts.

    Optionally takes Nice classes as a comma-separated list ('9,42'); blank watches
    every class.
    
