@pipeworx/euipo

Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/euipo’s. Install: one-click buttons

Connect to just the @pipeworx/euipo pack

https://gateway.pipeworx.io/euipo/mcp — only @pipeworx/euipo’s own tools, nothing else in the catalog.

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 7

EU trademark search, registered Community design search, the harmonised Nice goods-and-services classification, the Locarno product-indications classification, and the applicant/representative register, all from the European Union Intellectual Property Office (EUIPO).

Tools

  • euipo_search_trademarks(...) — search EU trademarks (EUTM) by verbal element, applicant, Nice class, or status.
  • euipo_trademark(...) — retrieve a single EU trademark by application/registration number.
  • euipo_search_designs(...) — search registered Community designs (RCD) by indication, owner, or Locarno class.
  • euipo_search_goods_services(...) — explore/search the harmonised Nice goods-and-services classification (useful for trademark clearance and filing prep).
  • euipo_validate_goods_services(...) — validate a list of goods-and-services terms against the harmonised database; flags invalid characters, duplicates, forbidden terms.
  • euipo_search_product_indications(...) — search the harmonised Locarno product-indications classification used in design filings.
  • euipo_search_persons(...) — search applicants or representatives on record for EUIPO trademark/design procedures. No street/city/postal address for individuals — only country-level location is kept; every row carries a source and a role label.

Auth

Platform-keyed. Pipeworx fronts a registered EUIPO application subscribed to all five API products, so no key is required to call this pack. To bring your own instead, register a free application at dev.euipo.europa.eu, subscribe it to the “Trademark search”, “Design Search”, “Goods and Services”, “Product Indications” and “Persons” API products, and pass _apiKey = "client_id:client_secret" — a caller-supplied key always takes precedence over the platform one.

Data sources

  • EUIPO, EU trademark register (EUTM)
  • EUIPO, Registered Community design register (RCD)
  • EUIPO, harmonised Nice goods-and-services classification (used for trademark filings)
  • EUIPO, harmonised Locarno product-indications classification (used for design filings)
  • EUIPO, applicant and representative register

Notes

  • Built 2026-07-14 and committed dormant — never added to the gateway’s pack manifest, workspace dependencies, or catalog, so it logged zero external calls regardless of credential state. Wired in as part of fleet #3309 (2026-10-18), which also corrected the OAuth token endpoint (a dead auth.euipo.europa.eu/oidc/accessToken host fixed to euipo.europa.eu/cas-server-webapp/oidc/accessToken) and added the four tools above.
  • Made platform-keyed in fleet #3318 (2026-11-01): Bruce registered a platform EUIPO developer app, subscribed it to all five API products, and the credential validated live — the pack no longer requires every caller to bring their own.
  • Fixed in fleet #3318 (2026-11-10): the platform credential kept 401ing on every data call even though the OAuth token exchange succeeded (the error was always “EUIPO rejected the request”, the data-call failure string, never “EUIPO auth rejected”, the token-exchange one). EUIPO’s own dev-portal security docs confirm the API gateway (IBM API Connect) checks the subscription via an X-IBM-Client-Id header on the DATA call itself, separate from the Authorization: Bearer token — our requests sent only the Bearer header. Both GET and POST helpers now also send X-IBM-Client-Id: <client_id>.
  • The Trademark Search / Design Search tools use RSQL filter expressions (verbalElement=="*nike*";niceClasses=in=(9,25)); the newer three tools (Goods and Services, Product Indications, Persons) are plain query-param REST with no RSQL.
  • Privacy: euipo_search_persons withholds street/city/postal-code address details for natural persons (individual applicants, employee/legal/EUIPO-professional representatives) and keeps only the country. Organisation-type rows (business applicants, legal-association representatives) keep their registered address, since that is public-register entity data rather than a personal address.

Tools

  • euipo_search_trademarks — Search EU trademarks (EUTM) at the EUIPO — “find EU trademarks containing NIKE in Nice classes 9 and 25”. Use for EU brand clearance and competitor trademark portfolios. Returns matching marks (applic
  • euipo_trademark — Retrieve a single EU trademark by its application or registration number from the EUIPO — “look up EUTM 018123456”. Returns the full record (mark text, status, owner/representative, Nice classes, good
  • euipo_search_designs — Search registered Community designs (RCD) at the EUIPO — “find registered EU designs owned by Adidas in Locarno class 02”. Use for design-filing landscape and competitor design portfolios. Returns mat
  • euipo_search_goods_services — 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 chec
  • euipo_validate_goods_services — Validate a list of goods-and-services terms against the EUIPO’s harmonised database (TMClass) — checks whether each term is a recognised (“harmonized”) term, and flags invalid characters, duplicates,
  • euipo_search_product_indications — Search the EUIPO’s harmonised Locarno product-indications classification (DSClass) used for registered Community design filings — “find accepted design indications for ‘chair’”. Returns matching indic
  • euipo_search_persons — Search applicants or representatives on record with the EUIPO for trademark/design procedures — “find the EUIPO representative record for a named law firm”. Each row carries its role (e.g. APPLICANT_B

Tools

  • euipo_search_designs — Search registered Community designs (RCD) at the EUIPO — find registered EU designs owned by Adidas in Locarno class 02 . Use for design-filing landscape and competitor design portfolios. Returns matc
  • euipo_search_goods_services — 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 check
  • euipo_search_persons — Search applicants or representatives on record with the EUIPO for trademark/design procedures — find the EUIPO representative record for a named law firm . Each row carries its role (e.g. APPLICANT_BU
  • euipo_search_product_indications — Search the EUIPO's harmonised Locarno product-indications classification (DSClass) used for registered Community design filings — find accepted design indications for 'chair' . Returns matching indica
  • euipo_search_trademarks — Search EU trademarks (EUTM) at the EUIPO — find EU trademarks containing NIKE in Nice classes 9 and 25 . Use for EU brand clearance and competitor trademark portfolios. Returns matching marks (applica
  • euipo_trademark — Retrieve a single EU trademark by its application or registration number from the EUIPO — look up EUTM 018123456 . Returns the full record (mark text, status, owner/representative, Nice classes, goods
  • euipo_validate_goods_services — Validate a list of goods-and-services terms against the EUIPO's harmonised database (TMClass) — checks whether each term is a recognised ( harmonized ) term, and flags invalid characters, duplicates,

Regenerated from source · build November 15, 2026