mark_mesh_skill

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 1 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Use this in Claude and other agents to work with markmesh.com

README.md

MarkMesh MCP — trademark data your agent can cite

Connect Claude (Desktop or Code), or any Model Context
Protocol
client, to MarkMesh: a
normalised trademark corpus across 30+ national and regional registers.

Three things this gives an agent that a wrapper around office APIs cannot:

  • Provenance on every record. Which register it came from, when we fetched
    it, and a link to that office's own entry where the office publishes one.
    Your agent cites us, we cite the register.
  • Monitoring, not just search. Register a watch and poll what changed.
    Monitoring needs something persistent to compare against, and a pass-through
    proxy holds nothing between calls.
  • Predictable lookups. Most registers are served from our own store, so a
    lookup doesn't wait on an office API. Where we do query an office live, the
    response says so. See the live coverage table.

For trademark lawyers and IP teams who want their portfolio one question
away, and for builders putting trademark data underneath their own product.

Quickstart

  1. Get an API key — in MarkMesh, go to Developers → API keys
    (mm_test_… to experiment, mm_live_… for a real portfolio).
  2. Add the connector — point your client at
    https://markmesh.com/api/v1/mcp with header
    Authorization: Bearer <your-key>. Full steps in SETUP.md.
  3. Ask — restart your client and try one of the questions below.

Thirty seconds in

Once connected, this is the shape of a real exchange:

You:  Is "Kestrel" already taken in software, in the EU and UK?

Claude: I checked EUIPO and UKIPO for classes 9 and 42.

        Three candidates, closest first:

        KESTREL      EUIPO  018745231  registered
          text similarity 1.00 · shares classes 9, 42 · same territory
          https://euipo.europa.eu/eSearch/#details/trademarks/018745231
          (from our corpus, fetched 30 Jul 2026)

        KESTRAL      UKIPO  UK00003891234  registered
          text similarity 0.94 · shares class 9 · same territory
          https://trademarks.ipo.gov.uk/...

        KESTREL LABS EUIPO  018991002  pending
          text similarity 0.72 · shares class 42 · same territory

        Both offices answered, so nothing is missing from this run.

        I can't tell you whether the name is clear to use. That turns on
        how the goods and services are worded and whether these marks are
        actually in use, which needs a qualified professional. Want me to
        watch the pending one for status changes?

Note what it does not say. There's no risk score and no verdict, because
the API deliberately returns neither.

What you can ask

You say It uses
"List my trademarks for client Acme." list_trademarks, list_clients
"What's expiring in the next 90 days?" list_filings (deadline fields)
"Search USPTO and EUIPO for 'orbital'." search_office
"Does 'Kestrel' conflict with anything in class 9?" search_conflicts
"Import EU trademark 018xxxxxx for Acme." import_filing_from_office
"Tell me if that filing's status changes." create_watch
"What changed since Monday?" watch_changes_since

Build on it

  • examples/watch_bot.py — a complete monitoring
    bot in one file, standard library only. Fork it.
  • SKILL.md — the agent skill: drop it in a Claude Code skills
    dir, or use it as guidance for any MCP client.
  • reference/tools.md — full tool + argument
    reference, including what every response guarantees.
  • SETUP.md — get a key and wire up Claude Desktop / Claude Code.
  • llms.txt — machine-readable summary of
    the whole surface.

Capabilities & limits

  • Read trademarks, filings (with renewal/expiry deadlines), clients and
    organisations.
  • Search registers for marks, and run conflict research against a
    shortlist of names, scoped by Nice class.
  • Import a filing into the portfolio, and refresh an existing one.
  • Watch a filing and poll what changed.
  • Scoped & safe: every request is limited to the key's organisation and
    gated by the same permissions as the app. There are no delete tools over
    MCP; destructive edits stay in the web app.
  • Not legal advice. MarkMesh returns trademark data with its provenance.
    Whether a mark is available to use is a legal judgement for a qualified
    professional, and the conflict tool returns no verdict by design.
  • Sandbox: a mm_test_* key gets its own isolated portfolio
    trademarks, filings, clients and watches are separate from any live
    organisation. Office search is not sandboxed: search_office and
    search_conflicts read the same public register corpus a live key does,
    so a sandbox search returns real marks, not fixtures. That is deliberate
    (registers are public data, not tenant data) and it means you can
    evaluate real cross-office coverage before you pay. Only calls that go
    out to a live office adapter are routed to test endpoints.

Support

Questions or a key that won't connect → your MarkMesh administrator, or the
Developers section of the app. Found a bug in this skill or these docs →
open an issue on this repo.


MIT licensed. © MarkMesh LTD.

Reviews (0)

No results found