Skip to main content
Glama

Euipo Search Goods Services

euipo_search_goods_services
Read-onlyIdempotent

Explore the EUIPO's harmonised Nice goods-and-services classification (TMClass) — "find accepted goods-and-services terms for 'software' in Nice class 9". Use when preparing a trademark filing or checking whether a term is already a recognised, pre-classified term. Returns matching terms with their Nice class and concept id, plus raw. Example: euipo_search_goods_services({ term: "software", nice_class: 9, language: "en" })

Input Schema

NameRequiredDescriptionDefault
pageNoZero-based page index for pagination (default 0).
sizeNoMax results per page (default 20).
termNoText to search for within goods-and-services terms, e.g. "software".
_apiKeyNoOptional: your own EUIPO client_id:client_secret; Pipeworx supplies one if omitted.
languageNoEU official language code for the search and results, e.g. "en", "es", "de", "fr". Required by the upstream API; defaults to "en".
nice_classNoNice classification class number(s) to restrict the search to, e.g. [9] or [9, 42]. Also accepts a single integer.
parent_concept_idNoRestrict to children of this taxonomy concept id (for browsing the classification tree).
include_term_variantsNoInclude term variants in the results (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "_apiKey": "your-euipo-client-id:your-euipo-client-secret",
      -    "language": "en",
      -    "nice_class": [
      -      9
      -    ],
      -    "term": "software"
      -  }
      -]New value: +[
      +  {
      +    "language": "en",
      +    "nice_class": [
      +      9
      +    ],
      +    "term": "software"
      +  }
      +]
    • changedInput schema / properties / _apiKey / description
      Previous value: -"EUIPO OAuth credentials as \"client_id:client_secret\" from dev.euipo.europa.eu."New value: +"Optional: your own EUIPO client_id:client_secret; Pipeworx supplies one if omitted."
    • changedInput schema / required
      Previous value: -[
      -  "_apiKey"
      -]New value: +[]
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (read-only, idempotent, non-destructive, open-world). The description adds value beyond them by disclosing the return shape — matching terms with Nice class and concept id plus raw — which matters because there is no output schema. It omits any note on rate limits or the optional API key, so it is not fully complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the example is placed last, which reads well. The em-dash construction and embedded quoted example are slightly cluttered but no sentence is wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a fully optional-parameter, read-only search tool with no output schema, the description supplies purpose, usage context, return shape, and a worked example. The remaining gaps — pagination behaviour and how parent_concept_id enables tree browsing — are covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the eight parameters is already documented upstream. The description's example call reinforces term, nice_class, and language usage, but it adds no syntax or constraint detail (e.g. pagination, parent_concept_id browsing) beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: exploring EUIPO's harmonised Nice goods-and-services classification (TMClass) to find accepted terms. It is clearly distinct in intent from euipo_validate_goods_services, though it never explicitly contrasts itself with that sibling, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a concrete usage context — preparing a trademark filing or checking whether a term is already a recognised, pre-classified term. That is clear when-to-use guidance, but there are no exclusions or pointers to alternatives such as the validation tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.