Free trademark search across the US, EU and Israeli registers. A register search, not legal advice.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check whether a name is taken as a trademark in the US, EU and Israeli registers. Returns one of three verdicts (exact_live_mark, similar_live_marks, no_live_match), or not_checked when no register in the check has been read yet, with the marks behind it, how each matched, and when each register was read.
The business or product name to check.
What will be sold, in a few words; mapped to Nice classes.
Nice classes to check against, when known.
A subset of the registers; all three by default.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http trademarks https://mcp.opentrademarks.org/mcp
Check whether a name is taken as a trademark in the US, EU and Israeli registers. Returns one of three verdicts (exact_live_mark, similar_live_marks, no_live_match), or not_checked when no register in the check has been read yet, with the marks behind it, how each matched, and when each register was read.
| Argument | Type | Description |
|---|---|---|
| name* | string | The business or product name to check. |
| goods | string | What will be sold, in a few words; mapped to Nice classes. |
| classes | array | Nice classes to check against, when known. |
| registers | array | A subset of the registers; all three by default. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "The business or product name to check."
},
"goods": {
"type": "string",
"maxLength": 200,
"description": "What will be sold, in a few words; mapped to Nice classes."
},
"classes": {
"type": "array",
"items": {
"type": "integer",
"maximum": 45,
"minimum": 1
},
"description": "Nice classes to check against, when known."
},
"registers": {
"type": "array",
"items": {
"enum": [
"us",
"eu",
"il"
],
"type": "string"
},
"description": "A subset of the registers; all three by default."
}
}
}Ranked live marks that share a query's spelling or sound, across the US, EU and Israeli registers.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | |
| registers | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 2
},
"registers": {
"type": "array",
"items": {
"enum": [
"us",
"eu",
"il"
],
"type": "string"
}
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.