Coming Soon
obviouy.com We're under construction. Please check back for an update soon.
https://obviouy.com/Connect straight to this server’s public endpoint.
https://mcp.obviouy.com/We add this server to your workspace, walk through sign-in once, then open Studio with tools ready to run.
Last probed Sep 14, 2026 · mcp.obviouy.com
27tools discovered
Showing 25 of 27 from the live probe.
Search brands
Search the neutral INAPI brand corpus by free text (full-text + fuzzy) with optional estado/clase/date filters and stable keyset pagination. Read-only. Returns a page of brand summaries identical to the REST /v1/brands contract.
Get brand detail
Fetch one brand by its application number, composed with its classes, persons (with role) and Estado-Diario annotations. Read-only. An unknown application number returns a structured not_found tool error (mirroring REST's 404). Identical to REST GET /v1/brands/:nroSolicitud.
Batch get brands by application number
Resolve up to 100 application numbers to their enriched summaries (estado, dates, classes, holders, enrichmentPending) in ONE call — the batch twin of GET /v1/brands/:nroSolicitud for portfolios/watchlists, avoiding N single lookups. Returns the found summaries in request order plus the `notFound` numbers. Read-only. Over the cap returns a structured invalid_input tool error (mirroring REST's 422). Identical to REST POST /v1/brands/batch.
Get brand registration report
Fetch the full REGISTRATION REPORT for one brand by application number — a superset of get_brand_detail: the 4 key dates, sign attributes and renewal chain, holders and representatives partitioned by role, the flat chronological history (each event tagged with its seccionTipo), a `completeness` honesty block, and the freshness envelope. Absent fields are OMITTED (never null); estado is shown raw and vigencia is never derived. Read-only. An unknown application number returns a structured not_foun
Get brand opposition timeline
Fetch the OPPOSITION timeline for one brand by application number: the flat chronological list of opposition-family events (each tagged with its seccionTipo), the RAW estado, the opposition window (publication + 30 business days) as the ONLY derived deadline, and a freshnessNote declaring the Estado-Diario freshness gap honestly. Read-only. An unknown application number returns a structured not_found (mirroring REST's 404). Identical to REST GET /v1/brands/:nroSolicitud/opposition.
Find marks with an open opposition window
List marks with an OPEN opposition window (still published within the 30-business-day term) in a REQUIRED Niza class, ordered by similarity to a portfolio expressed as EITHER `q` (free text) OR `nroSolicitud` (an existing mark) — exactly one. Reuses the same 3-channel similarity engine as find_similar_brands. Read-only. Returns a page of brand summaries identical to the REST GET /v1/oppositions/open contract.
Find similar brands
Find the marks most likely to be CONFUSED with a given mark — the opposition/watch differentiator (SEARCH-07/08). Accepts EITHER `nroSolicitud` (an existing mark; the queried mark is excluded) OR `q` (free text), with optional estado/clase/date filters. Fuses semantic + Spanish-phonetic + lexical channels (phonetic weighted above). Read-only. Returns similarity SIGNALS (score + matchedBy) — never a legal confusability verdict. Identical to REST GET /v1/brands/:nroSolicitud/similar and /v1/brands
Filings over time
Aggregate filings bucketed by month or year over the neutral INAPI corpus, with the shared estado/clase/tipoSigno/date filters. Read-only. Identical to REST GET /v1/insights/filings-over-time.
Filings by estado
Filing distribution grouped by estado (most-frequent first), with the shared filters. Read-only. Identical to REST GET /v1/insights/by-estado.
Filings by Niza class
Distinct marks per Niza class (a mark in K classes counts once in each, so Σ exceeds the distinct-mark total — documented, not a bug), with the shared non-class filters. Read-only. Identical to REST GET /v1/insights/by-class.
Activity by holder
Distinct marks per holder (titular/ambas roles only; pure representantes excluded), top-N capped at MAX_LIMIT, with the shared filters. Neutral person columns only. Read-only. Identical to REST GET /v1/insights/by-holder.
Activity by representante
Distinct marks per representante (representante/ambas roles only; pure titulares excluded), top-N capped at MAX_LIMIT, with the shared filters. A mark with K representantes counts once in each, so Σ exceeds the distinct-mark total (documented, not a bug). Neutral person columns only. Read-only. Identical to REST GET /v1/insights/by-representante.
Corpus freshness report
Per-source corpus freshness / staleness report, wrapped in the { data, dataAsOf? } envelope. Read-only. Identical to REST GET /v1/freshness?envelope=true.
Recent sync-run history
Recent sync-run history (per source-run status + counts), newest first, wrapped in the { data, dataAsOf? } envelope. Read-only. Identical to REST GET /v1/sync-runs?envelope=true.
Search people (holders and representatives)
Find a party by fuzzy name or exact RUT and see how much of the register is theirs: the person's details plus their mark counts by role, heaviest first. Read-only. Identical to REST GET /v1/personas?envelope=true. It returns COUNTS, not the marks: to list them, call search_brands with `rut` or `titular` using the values returned here. `identificador` is null whenever INAPI publishes no RUT — always for foreign holders (a Chilean identifier does not exist for them) and often for filings before 2
Chilean statutory holiday calendar
The holidays the corpus itself uses to count business days (opposition windows, appeal deadlines), so a caller can compute the same deadlines and audit ours. Read-only. Identical to REST GET /v1/feriados?envelope=true. Each row declares whether it is 'regular' (derivable from a permanent rule) or 'excepcional' (an ad-hoc law or election decree, which no loader can reproduce), plus where the row came from. COVERAGE IS FINITE: `coverage` reports the range actually seeded. A date outside it is NO
Rango que el calendario de feriados afirma cubrir
El rango de años que el calendario declara cubrir POR COMPLETO. Idéntico a REST GET /v1/feriados/cobertura. NO es el min/max de las filas: eso describe lo que hay, no lo que se afirma, y un año sembrado a medias daría un máximo perfectamente creíble. Sólo avanza cuando un año está entero. Para qué sirve: fuera de este rango una fecha NO es 'día hábil por omisión' — es desconocida. Contarla como hábil alarga el plazo, que es la dirección peligrosa del error.
Create a watchlist
Create a watchlist under the caller's org, with an optional narrowing filter set and an optional https callback. Enforces the per-tenant caps (rejects watchlist_too_large) and validates the callback against SSRF. Returns the watchlist + its signing secret ONCE (never surfaced by any read). Identical to REST POST /v1/watch. An optional idempotencyKey makes a retry safe: same key + same body replays the original result; same key + different body → idempotency_conflict.
List watchlists
List the caller's own watchlists (never another tenant's, never the signing secret). Identical to REST GET /v1/watch.
Get one watchlist
Fetch ONE of the caller's watchlists by id. An id that is unknown OR belongs to another tenant returns a structured not_found (mirroring REST's uniform 404 — never a 403 that would confirm the id exists). Never the signing secret. Identical to REST GET /v1/watch/:id.
Update a watchlist
Sparse update of one of the caller's watchlists (label/callback/filters/status) with optional signing-secret rotation. A new callback is re-validated against SSRF. A rotated secret is returned ONCE. Cross-tenant/unknown id → not_found. Identical to REST PATCH /v1/watch/:id.
Retire a watchlist
Soft-retire one of the caller's watchlists (status='retired'): stops sweeps/push but PRESERVES its detected hits (still pullable). Cross-tenant/unknown id → not_found. Identical to REST DELETE /v1/watch/:id.
Pull a watchlist's hits
Keyset pull of a watchlist's detected hits: pass the previous page's `nextCursor` as `since` to page forward (stable as new hits accrue). Tenant-guarded — an id that is unknown OR another tenant's returns not_found. Identical to REST GET /v1/watch/:id/hits.
Pull a watchlist's webhook delivery attempts
Keyset pull of a watchlist's webhook delivery ATTEMPTS (Feature#5) — confirm whether pushes land and diagnose a broken endpoint (each row carries status / httpStatus / error). Pass the previous page's `nextCursor` as `since` to page forward. Tenant-guarded — an id that is unknown OR another tenant's returns not_found. Identical to REST GET /v1/watch/:id/deliveries.
Add a watched item
Add ONE watched mark (a denominación or an application number) to one of the caller's watchlists. Enforces the per-tenant item cap (rejects watchlist_too_large); a re-add of an existing mark is idempotent. Cross-tenant/unknown id → not_found. Identical to REST POST /v1/watch/:id/items.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsobviouy.com We're under construction. Please check back for an update soon.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
Operate Iris Read? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles probed 27 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
Iris Read may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
MCPBundles is an independent platform built on the open Model Context Protocol standard. Not affiliated with Anthropic PBC or Claude.