Skip to main content
Glama
mcp-markenrecherche

mcp-markenrecherche

by HeinzTempl

mcp-markenrecherche

Vorrecherche für Marken mit Wortbestandteil — in der EU und in nationalen Registern, direkt aus dem Chat.

Ein MCP-Server für die Kanzlei: Du sagst deinem Sprachmodell (Claude Desktop, Cherry Studio, Msty …), welches Zeichen du für welche Waren oder Dienstleistungen prüfen willst, und bekommst eine belegte Trefferliste, einen Klassifizierungsvorschlag und am Ende einen Aktenvermerk. Die rechtliche Beurteilung bleibt bei dir. Kein Treffer wird erfunden, jede Lücke wird benannt.

Pre-filing clearance search for word and word/figurative marks (EUIPO API, TMview, Nice classification) as an MCP server. German documentation — the target audience is Austrian and German-speaking practitioners.


Was du bekommst

Eine Recherche in einem Satz. „Prüf mir KIRVO für Software und IT-Beratung in Österreich und der EU." Das Modell klassifiziert, lässt den Server die Register abfragen, zieht für die kritischen Treffer den Vollauszug und schreibt den Aktenvermerk — mit Ampel je Treffer, Suchprotokoll und den offenen Punkten.

Belegte Treffer statt Modellwissen. Jeder Treffer trägt Registernummer, Amt, Inhaber, Klassen, Status, Anmeldetag und den Abrufzeitpunkt aus dem Register. Was der Server nicht abfragen konnte, steht als Recherchelücke im Ergebnis — nie stillschweigend weggelassen.

Varianten, die du händisch nie alle suchen würdest. Der Server bildet aus dem Zeichen Wortstämme, Schreibweisen (C/K, PH/F, Doppelkonsonanten …), Wildcards und lautgleiche Wortanfänge und fragt jede Variante ab. Ein Kunstwort wie KIRVO liefert so auch CIRVO, GIRVO oder KIRBO, ein zusammengesetztes Zeichen auch die Serienmarken mit demselben Stamm. Die Treffer werden nach Schriftbild und Klang sortiert, die ähnlichsten zuerst.

Klassifizierung gegen die amtliche Datenbank. „Welche Klassen und Begriffe für ein Unternehmen, das Physiotherapie und Trainingsgeräte anbietet?" — das Modell schlägt vor, der Server prüft jeden Begriff gegen die harmonisierte Datenbank der EUIPO und sagt, ob er so akzeptiert wird oder ein Beanstandungsrisiko trägt.

Ein Aktenvermerk, der im Akt bestehen kann. Auftrag, Rechercheumfang, Klassifizierung, Trefferübersicht, Bewertung der gelben und roten Treffer nach § 10 MSchG / Art 8 UMV, absolute Eintragungshindernisse, Empfehlung, Recherchelücken, Suchprotokoll. Der Systemprompt dafür liegt bei (prompts/systemprompt_beispiel.md).

Related MCP server: ip-free-mcp

Was du nicht bekommst

Das ist eine Vorrecherche. Sie sagt dir, ob eine amtliche Ähnlichkeitsrecherche oder eine kommerzielle Vollrecherche nötig ist — sie ersetzt keine von beiden.

Gefunden wird nur, was einen Wortbestandteil hat. Reine Bildmarken und die grafische Seite von Wort-Bild-Marken bleiben außen vor. Nicht registrierte Kennzeichenrechte (Firmenwortlaut, Domains, Etablissementbezeichnungen) sind nicht abgedeckt. Und die nationalen Register laufen über TMview, das nur für gelegentliche Abfragen ausgelegt ist (Details unten).

Typische Fragen an den Agenten

„Welche Nizza-Klassen kommen für ein Unternehmen in Frage, das Mähroboter verkauft und wartet?"

„Prüf das Zeichen SARUMO für Kosmetik und Nahrungsergänzung, Gebiet Österreich und EU."

„Gibt es in Klasse 30 ältere Marken, die wie VANDELIX klingen?"

„Zieh mir den Vollauszug zu 018512783 und sag mir, ob das Verzeichnis mit Software-Wartung kollidiert."

„Ist ‚Software-Wartung für Zahnärzte' ein harmonisierter Begriff in Klasse 42?"

Das Modell entscheidet selbst, welche Werkzeuge es dafür braucht. Für eine vollständige Recherche ist recherche_lauf der Kern; alles andere sind Einzelabfragen und Vollauszüge.

Einrichtung

Du brauchst Python ab 3.12, uv und einen EUIPO-Zugang.

  1. EUIPO-Zugang. Auf https://dev.euipo.europa.eu mit deinem EUIPO-Konto einloggen, eine App anlegen und die Produkte Trademark search und Goods And Services abonnieren. „Key" ist die Client-ID. Die EUIPO schaltet die Subscriptions nach Prüfung frei (Pass und Adressnachweis werden verlangt); bis dahin antwortet die API mit 403. Zum Testen gibt es ein eigenes Sandbox-Portal (https://dev-sandbox.euipo.europa.eu) mit eigenen Keys und eingefrorenem Datenbestand — Sandbox-Treffer gehören in keinen Aktenvermerk.

  2. Konfiguration. .env.example nach .env kopieren und Keys eintragen:

    EUIPO_CLIENT_ID=…
    EUIPO_CLIENT_SECRET=…
    EUIPO_ENV=production        # oder sandbox (dann EUIPO_SANDBOX_CLIENT_ID/_SECRET)
  3. Im Chat-Programm eintragen. Claude Desktop und Cherry Studio nehmen denselben Eintrag (Cherry: „Add Server → Import from JSON"; bei Cherry den absoluten Pfad zu uv verwenden, which uv zeigt ihn):

    {
      "mcpServers": {
        "marken": {
          "command": "uv",
          "args": ["--directory", "/pfad/zu/mcp-markenrecherche", "run", "python", "src/server.py"]
        }
      }
    }

    Beim ersten Start richtet uv die Umgebung selbst ein.

  4. Systemprompt. prompts/systemprompt_beispiel.md in den Assistenten kopieren, die Platzhalter (Kanzlei, Anwalt, Ich- oder Wir-Form) ausfüllen. Ohne Prompt funktionieren die Werkzeuge auch, aber der Aktenvermerk kommt erst mit ihm in Form.

Erste Probe: „Prüf bitte den Zugang" — das Modell ruft marken_status auf und meldet, ob EUIPO und TMview erreichbar sind.

Werkzeuge

Werkzeug

Was es tut

recherche_lauf

Der vollständige Lauf: Varianten bilden, Register abfragen, deduplizieren, nach Ähnlichkeit sortieren; liefert Trefferliste, Suchprotokoll und Recherchelücken. register Standard ["EU","AT"], dazu "WO", "DE", "CH" …

eutm_get, tmview_get

Vollauszug einer EU-Marke bzw. einer nationalen Marke mit Waren-/Dienstleistungsverzeichnis, Inhaber, Status, Fristen

nizza_suggest, nizza_validate, nizza_klassenueberschriften

Klassifizierung: Begriffe vorschlagen, gegen die harmonisierte Datenbank prüfen, Klassenüberschriften nachschlagen

eutm_search, tmview_search, varianten

Einzelabfragen und Einblick, welche Varianten der Lauf bildet

marken_status

Zugang und Erreichbarkeit prüfen

Quellen und ihre Grenzen

EUIPO (Unionsmarken und internationale Registrierungen mit EU-Benennung) über die offiziellen APIs Trademark Search und Goods and Services. Stabil, vollständig, mit Verzeichnis.

TMview (nationale Register wie AT, DE, CH sowie WIPO) über die Schnittstelle, die die TMview-Weboberfläche selbst benutzt. Es gibt dafür keine dokumentierte API; sie kann sich ohne Ankündigung ändern, und die Nutzungsbedingungen von tmdn.org sind auf manuelle Nutzung ausgelegt. Der Server hält deshalb 1,5 Sekunden Pause zwischen den Anfragen, stellt je Lauf nur wenige, und hört beim ersten Anzeichen einer Sperre sofort auf — dann steht das im Ergebnis als Lücke, und du prüfst das nationale Register von Hand nach. Zwei, drei Recherchen am Tag sind unauffällig; Serienläufe sind es nicht. Nutzung auf eigene Verantwortung.

Wie der Ähnlichkeitsscore zu lesen ist

Jeder Treffer bekommt einen Wert zwischen 0 und 1 aus Schriftbild (Editierdistanz), Klang (Kölner Phonetik) und der Frage, ob das eine Zeichen im anderen enthalten ist; bei Mehrwortzeichen zählt der Durchschnitt der prägenden Bestandteile. Ab 0,85 gilt ein Treffer als „hoch", ab 0,65 als „mittel". Der Wert ist eine Sortierhilfe: Er sagt, wo du zuerst hinschaust, nicht, ob Verwechslungsgefahr besteht. Das entscheidet die Bewertung nach Zeichen- und Warenähnlichkeit, Kennzeichnungskraft und Publikum — und die machst du.

Für Entwickler

Python 3.12, FastMCP, httpx. Tests: uv run --extra dev pytest. Die Variantenlogik liegt in src/varianten.py, die Anbindungen in src/euipo_client.py und src/tmview_client.py, die Werkzeuge in src/server.py. Statusfilter, Nachfrist bei abgelaufenen Marken (Art 53 Abs 3 UMV), Deduplizierung von IR mit EU-Benennung und die Erkennung des TMview-Bot-Schutzes sind im Code kommentiert. Die Antworten der Werkzeuge sind deutsch beschriftet; die erste Zeile jeder Werkzeugbeschreibung trägt ein englisches Stichwort, damit auch englisch angesprochene Modelle das richtige Werkzeug finden.

Lizenz

MIT — siehe LICENSE. Keine Gewähr für Vollständigkeit oder Richtigkeit der Rechercheergebnisse.

Available Tools

10 tools
eutm_getEutm GetA

[EU trade mark record] Vollständiger Registerauszug einer Unionsmarke / IR mit EU-Benennung nach Anmeldenummer (z. B. 018945321 oder W01234567). Enthält das Waren-/Dienstleistungsverzeichnis je Klasse.

Inputs: nummer (required). Returns: object

marken_statusMarken StatusA

[status] Prüft Konfiguration und Erreichbarkeit der EUIPO-API (Umgebung, Credentials, Token). Immer zuerst aufrufen, wenn ein Recherchelauf fehlschlägt.

Inputs: no named parameters. Returns: object

nizza_klassenueberschriftenNizza KlassenueberschriftenB

[Nice class headings] Amtliche Klassenüberschriften der Nizza-Klassifikation (alle 45 oder Auswahl) — zur Orientierung über den Ähnlichkeitsbereich, nicht als Verzeichnis (Klassenüberschriften decken seit IP Translator nicht die ganze Klasse ab).

Inputs: klassen, sprache. Returns: object

nizza_suggestNizza SuggestA

[Nice classification suggestions] Klassifizierungsvorschlag: liefert zu einem Freitext (Ware/Dienstleistung im Klartext, z. B. 'Wartung von Software' oder 'Physiotherapie') die passenden harmonisierten Begriffe (TMclass/HDB) mit Nizza-Klasse. Zwei Wege in einem Aufruf: Vorschlagsliste der EUIPO und Volltextsuche in den Begriffen. Optional auf eine Klasse einschränken.

Inputs: freitext (required), klasse, sprache, max_treffer. Returns: object

nizza_validateNizza ValidateA

[Nice classification validation] Prüft ein Waren-/Dienstleistungsverzeichnis gegen die harmonisierte Datenbank der EUIPO. begriffe im Format 'Klasse: Begriff' (z. B. '42: Wartung von Computersoftware'); mehrere Begriffe derselben Klasse einzeln angeben. Rückgabe je Begriff: harmonisiert ja/nein und formale Fehler. Nicht harmonisierte Begriffe sind im Bericht als Beanstandungsrisiko zu kennzeichnen (Klasse muss angegeben sein — ohne Klasse kein Eintrag).

Inputs: begriffe (required), sprache. Returns: object

recherche_laufRecherche LaufA

[trade mark clearance search — main tool] Vollständiger Recherchelauf in einem Aufruf über mehrere Register: bildet die Suchvarianten, fragt jede gegen die Register ab, dedupliziert, bewertet die Zeichenähnlichkeit (Schriftbild, Klang, Enthaltensein) und liefert EINE sortierte Trefferliste plus Suchprotokoll und Recherchelücken. register: Standard ["EU","AT"] — EU = Unionsmarken + IR mit EU-Benennung über die EUIPO-API; AT/DE/CH/WO/… = nationale Register bzw. WIPO über TMview. klassen: angemeldete UND angrenzende Klassen; ohne Klassen klassenübergreifend. zusatz_varianten: eigene Suchstrings (mit * als Wildcard), z. B. Übersetzungen. Treffer unter min_aehnlichkeit werden nur gezählt; gelistet werden höchstens max_gelistet (die ähnlichsten zuerst).

Inputs: zeichen (required), umfang, klassen, register, +6 more. Returns: object

tmview_getTmview GetA

[TMview record] Vollauszug einer Marke aus TMview nach ST13-Kennung (z. B. AT501972000001736), inkl. Waren-/Dienstleistungsverzeichnis, Inhaber, Vertreter, Widersprüche und Link zur Amtsseite (See-IP bei AT-Marken).

Inputs: st13 (required). Returns: object

variantenVariantenA

[search variants] Bildet deterministisch die Suchvarianten für ein Wortzeichen (Stamm, Wildcards, Schreibweisen, Konsonantenskelett, bei umfang='breit' auch Vokaltausch). Zeigt, was recherche_lauf abfragen wird — für das Suchprotokoll und um Varianten zu ergänzen. umfang: knapp | normal | breit.

Inputs: zeichen (required), umfang. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 10 tools

    Disambiguation4/5

    Each tool has a clear primary purpose, but eutm_search/tmview_search and eutm_get/tmview_get differ only by data source, which could cause misselection if an agent doesn't read the descriptions carefully. The nizza_* tools are distinct and the main recherche_lauf is clearly a composite workflow.

    Naming Consistency3/5

    Names use a consistent lowercase-with-underscore style, but the pattern is mixed: some are source_action (eutm_get, tmview_search), others are bare nouns (varianten, recherche_lauf, marken_status), and classification tools share the nizza_ prefix. This is readable but not as uniform as a strict verb_noun convention.

    Tool Count5/5

    With 10 tools, the server is well-scoped for trademark search and classification. Each tool addresses a distinct part of the workflow (status, record retrieval, search, variant generation, composite search, and Nizza support) without unnecessary bloat.

    Completeness5/5

    The tool set covers the full word-mark clearance workflow: generating variants, searching multiple registers, retrieving full records, and validating/suggesting Nice classifications. No critical gaps are apparent for the stated domain; the main search tool returns a consolidated and scored result.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A trademark research and monitoring MCP server that provides access to a normalized trademark corpus across 30+ registers, with provenance on every record, watch/monitoring capabilities, conflict research via Nice class, and portfolio management tools—without returning legal verdicts, leaving availability judgments to qualified professionals.
      6
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables cross-border e-commerce sellers to run pre-listing clearance checks on brand names, listing copy, and logos against tens of millions of registered marks across dozens of jurisdictions, and to see whether an owner is a frequent TRO or Schedule A enforcer. It works as a hosted remote server inside any MCP-compatible AI assistant, with coverage and data-freshness lookups included.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to search and screen US intellectual property — granted patents with full claims, published applications, trademarks in every status, owners, inventors, USPTO documents, prosecution file wrappers, PTAB trials, and e-commerce product pages. Supports freedom-to-operate screenings, knockout trademark searches, and patent status/expiry/ownership checks through a single authenticated remote connection.
      1
      MIT