Skip to main content
Glama

Server Details

Monitor domains, trademarks and app stores for brand conflicts. Triage matches and track takedowns.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

21 tools
add_assetAdd assetInspect

Add an asset to a monitor: an official domain to watch for conflicting registrations, a mark text for trademark office filings, or a brand keyword for app store listings. This is confirmed work: show the user the exact type, value, config and reference choice first and pass confirm true, because the first scan is scheduled as soon as the asset exists and archiving (dashboard-only) only stops future scans, it does not undo a scan that already completed. Required config per type: domain needs config.brand, trademark needs config.offices (subset of US, EM, WO; classes optional, Nice 1-45), app needs config.stores (subset of google_play, app_store). Domain assets also need an explicit reference choice (capture, upload or skip); trademark and app accept an optional upload staged with prepare_asset_upload. A capture always goes through preview_domain: pass its capture_token so the stored baseline is exactly the render the user approved, and the response includes that screenshot as image content; when the preview rendered nothing (captured false) pass skip instead, leaving reference_stored false. site_result carries the probe outcome recorded at preview time. For domain assets, the response's match_scope reports the matching scope: 'distinctive' names are matched across TLDs while 'generic' common terms are only watched on the asset's own suffix. next_scan_at reports when the first scan is due, or null while the monitor is paused. Errors name the cause: invalid input, plan limit reached, or a duplicate already watched by the monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesAsset type: domain, trademark or app.
valueYesWhat to watch: the official domain for type domain (e.g. "acme.com"), the mark or brand text for trademark, the brand keyword for app.
configNoType-specific options: brand (required for domain), offices (required for trademark: subset of US, EM, WO), classes (optional Nice classes 1-45, trademark only), stores (required for app: subset of google_play, app_store).
confirmYesRequired. Set true only after the user has explicitly confirmed the exact asset: its type, value, config and reference choice, knowing the first scan is scheduled right away.
referenceNoVisual baseline. Required for domain: capture stores the render approved in preview_domain via its capture_token, upload attaches an image staged with prepare_asset_upload, skip stores no baseline (use it when the preview rendered nothing, captured false). Optional for trademark and app; only upload applies there (mark image or app icon).
monitor_idYesMonitor id from list_monitors or create_monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
site_resultYes
next_scan_atYes
add_takedown_eventAdd takedown eventInspect

Append an entry to a takedown's timeline. comment records progress or correspondence ('registrar replied, ticket #123'); action logs a step the user performed from the match's possible next steps and requires that step's catalog code, the same codes get_match lists under actions. Steps only log on an open takedown; comments also work on closed ones. Entries are append-only: a mistaken one is retracted with retract_takedown_event, never edited.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesWhat happened, in plain text. For an action, describe what was done.
codeNoRequired on action: the catalog code of the step performed, e.g. report_registrar. Never set on comment.
typeYescomment is a freeform note; action logs a performed step and needs code.
takedown_idYesTakedown id from list_takedowns.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventYes
create_monitorCreate monitorInspect

Create a monitor: the container that watches one brand's conflicting domain registrations, trademark filings and app listings. Name it after the brand. The monitor starts empty and dormant; add assets one at a time with add_asset and the first scan starts on its own. Plan limits apply and the error names the limit that was hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe brand or company name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monitorYes
get_accountGet account
Read-only
Inspect

Get the account context for this connection: the signed-in user, the organization this token operates on, its subscription plan and limits, digest notification settings, and whether this connection holds the write scope (write_access). A good first call to confirm which account and organization the agent is connected to. A null plan means the organization has no paid subscription; send the user to billing_url to subscribe or upgrade. On a read-only connection, new_monitor_url and settings_url are the handoff links for setup and preferences.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
planYes
userYes
limitsYes
billing_urlYes
organizationYes
settings_urlYes
write_accessYesWhether this connection holds the mcp:write scope. When false, write tools fail; reconnect with the write permission approved.
notificationsYesThe signed-in user's digest settings: daily or off, plus the send hour in the user's timezone. Null when the connection has no user.
new_monitor_urlYes
get_matchGet match
Read-only
Inspect

Get the full curated detail for one match: triage status, risk assessment, the source record (DNS, site, registration and network data for domains; register record for trademarks; store listing for apps), possible next steps in actions (enforcement guides with steps and contacts; options for the user to decide on, never advice, and nothing is sent or filed by notolens), and whether a screenshot capture exists (fetch it with get_match_screenshot). reappeared marks a domain that came back after an absence.

ParametersJSON Schema
NameRequiredDescriptionDefault
match_idYesMatch id from list_matches.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
matchNo
messageNo
processingNo
get_match_evidenceGet match evidence
Read-only
Inspect

Get a download link for the evidence PDF of one match: the same document the dashboard exports for enforcement work such as takedown requests and disputes, compiling the match details, the observed source record and captured images. It carries observed facts only: no risk score, assessment summary or possible next steps. download_url needs no sign-in and expires at expires_at (a few minutes); hand it to the user or fetch it before then, and call again for a fresh link.

ParametersJSON Schema
NameRequiredDescriptionDefault
match_idYesMatch id from list_matches.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filenameYes
expires_atYes
download_urlYes
get_match_screenshotGet match screenshot
Read-only
Inspect

Get the screenshot captured for a domain match, as image content: the top of the rendered page, the same view the risk assessment reads. Only domain matches with a reachable site have one. The full-page capture is on the match's dashboard_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
match_idYesMatch id from list_matches.
get_takedownGet takedown
Read-only
Inspect

Get the full detail for one takedown: status, which attempt it is out of the match's total, whether it can be reopened, the append-only timeline (lifecycle entries plus comments and logged steps; retracted entries stay listed, muted) and the match it tracks with its record and possible next steps. The mine flag on an event marks entries the signed-in user authored, which are the ones retract_takedown_event can mute.

ParametersJSON Schema
NameRequiredDescriptionDefault
takedown_idYesTakedown id from list_takedowns or a match's takedown field.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
matchNo
eventsNo
takedownNo
match_processingNo
list_matchesList matches
Read-only
Inspect

List matches: conflicting domain registrations, trademark filings or app listings found by the monitors. Results are filtered to exactly one status (default inbox) and ordered by assessed risk, worst first. Combine status with min_risk/max_risk or verdict to answer questions like "watched matches with risk above 5". To triage the results, call update_matches with their ids or the same filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoMatch kind: domain, trademark or app.
pageNoPage number, 1-based. Page size is 50.
sinceNoISO 8601 date or datetime; only matches detected or with activity on/after this time. E.g. "2026-04-20" or a full timestamp for "this week".
statusNoTriage bucket: inbox (needs review), watching (no action needed now, record refreshes on schedule), in_takedown (an open takedown is in progress; record refreshes on schedule), resolved, dismissed. Defaults to inbox.
subjectNoSubstring match on the subject (the conflicting domain, mark or app name). At least 3 characters.
verdictNoVerdict bucket derived from the assessed risk: violation, warning, clear or inconclusive (assessed but unscorable).
max_riskNoOnly matches whose assessed risk is at most this value, on the 0-10 scale.
min_riskNoOnly matches whose assessed risk is at least this value, on the 0-10 scale. Unscored matches are excluded.
monitor_idNoRestrict to one monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
totalYes
matchesYes
page_sizeYes
list_monitorsList monitors
Read-only
Inspect

List the organization's brand monitors. Each monitor watches domains, trademark offices and app stores for conflicts with one brand. Only active assets are listed; archived ones are hidden, same as the dashboard.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
monitorsYes
list_scansList scans
Read-only
Inspect

List monitoring scans: each scan is one kind-scoped check of a monitor's sources (domains, trademarks or apps). Shows when monitoring last checked, what it found, and any asset failures.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Page size is 50.
sinceNoISO 8601 date or datetime; only scans started on/after this time.
monitor_idNoRestrict to one monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
scansYes
totalYes
page_sizeYes
list_takedownsList takedowns
Read-only
Inspect

List takedowns: self-guided enforcement attempts the user works against matches (notolens never submits anything itself). Filter to the open queue (the default) or the closed history; each item links back to its match, and get_takedown shows the full timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Page size is 50.
stateNoWhich bucket to list: open attempts in progress (default) or closed ones.
monitor_idNoRestrict to one monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
openYes
pageYes
totalYes
closedYes
page_sizeYes
takedownsYes
prepare_asset_uploadPrepare asset uploadInspect

Stage an image upload for an asset reference: a mark image, an app icon or a domain screenshot the user supplies. Returns a signed URL; POST the raw image bytes to it (PNG, JPEG, WebP, GIF or AVIF, up to 8 MB), then pass upload_token back verbatim as reference.upload_token on add_asset. The link is bound to this organization and expires within a few minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
acceptYes
max_bytesYes
expires_atYes
upload_urlYes
upload_tokenYes
preview_domainPreview domainInspect

Render a domain before adding it as an asset on a monitor with a capture reference. A preview exists only for a planned add_asset: it needs the monitor, passes the same checks add_asset would (valid domain, plan slot free, not already watched) and takes confirm once the user has asked for the add. Returns the screenshot as image content so it can be shown to the user, plus a capture_token bound to that domain with its expiry in expires_at (a few minutes). Show the image to the user and pass that token as reference.capture_token on add_asset only once they approve it; to retry, call preview_domain again. captured marks a usable capture: a favicon-only render has a token but no image, while a failed or blocked render returns the outcome with neither. Requires the mcp:write scope, since it only makes sense when setting up monitoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesA valid domain, e.g. "acme.com".
confirmYesRequired. Set true only after the user has asked to add this domain to this monitor; a preview is the first step of add_asset, never a standalone lookup.
monitor_idYesMonitor id from list_monitors or create_monitor. The render is for a domain asset planned on this monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
capturedYes
expires_atYes
capture_tokenYes
retract_takedown_eventRetract takedown event
DestructiveIdempotent
Inspect

Retract a comment or logged step on a takedown. The entry stays in the append-only timeline, muted. Only the author can retract it: the mine flag on the event says whether the signed-in user authored it. Lifecycle entries (started, succeeded, unsuccessful, dropped, reopened) are never retractable.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent id from the get_takedown timeline.
takedown_idYesTakedown id from list_takedowns.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventYes
send_feedbackSend feedbackInspect

Send a message to the notolens team: a question, product feedback, or a bug report about notolens itself (the service, the dashboard or these tools), not about a match. The message goes out as an email from the signed-in user, and replies arrive at the account email (reply_to). Send only what the user asked to send: show them the exact topic and text first and pass confirm true once they approve it. Include what the user did and what they expected, plus any dashboard_url the message is about; never include passwords, tokens or other secrets. Each user can send a few messages a day; past that the call fails with a limit error, so do not retry it. Works on read-only connections because it changes nothing in the account.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesquestion for how-to or account questions, feedback for suggestions and opinions, bug for something in notolens that behaves wrongly.
confirmYesRequired. Set true only after the user has seen and approved the exact topic and message.
messageYesThe message exactly as the user approved it, 10 to 5000 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sentYes
reply_toYesThe account email that replies from the notolens team go to.
start_takedownStart takedown
Idempotent
Inspect

Start a self-guided takedown on a match: opens an enforcement attempt the user works through manually, using the match's possible next steps as the guide; notolens never submits or sends anything itself. Requires an open match (inbox or watching); a closed match errors. Starting moves the match to in_takedown and arms recurring record refreshes so a subject that stays up keeps being probed; it stays in_takedown until the attempt closes or the match is resolved or dismissed. Safe to repeat: an already-open takedown is returned with created=false. Record work performed with add_takedown_event, close the attempt with update_takedown, and use get_match_evidence for the PDF to attach when filing.

ParametersJSON Schema
NameRequiredDescriptionDefault
match_idYesMatch id from list_matches.

Output Schema

ParametersJSON Schema
NameRequiredDescription
createdYes
takedownYes
summarize_matchesSummarize matches
Read-only
Inspect

Get match counts by triage status and kind, plus how many are new (undecided inbox matches first found by the latest completed scan of their kind) and how many scans are active (active_scans). A good first call to understand the current state.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoRestrict to one match kind.
monitor_idNoRestrict to one monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
newYes
totalYes
by_kindYes
by_statusYes
active_scansYes
update_matchesUpdate matches
DestructiveIdempotent
Inspect

Change the triage status of matches. This is the triage action behind requests like "dismiss everything in the inbox below risk 5" or "move all dismissed back to inbox". Select matches in exactly one of two ways: match_ids for explicit picks (ids come from list_matches), or filter with the same fields as list_matches plus a required status naming the bucket to move out of (in_takedown selects matches with an open takedown). Filter moves apply immediately to every match currently matching, capped at 500 per call; repeat for larger sets. Call list_matches with the same filters first to review the set. Dismissing or resolving cancels any open assessment and closes any open takedown. Matches in in_takedown are skipped by moves to inbox or watching: close the takedown with update_takedown instead. in_takedown is never a target; start_takedown moves a match there. watching and in_takedown arm recurring record checks, daily for domain and app matches and weekly for trademark, and every check writes a record and queues a reassessment: use watching only for subjects whose changing state would change the decision, not for undecided matches, which sit in inbox unchecked. dismissed is permanent for trademark and app matches, which never resurface; domain matches reappear automatically if the subject resurfaces, so confirm with the user before dismissing trademark or app matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoMove every match currently matching these filters, same semantics as list_matches. Mutually exclusive with match_ids.
statusYesTarget triage status: inbox (undecided, no recurring checks), watching (recurring checks armed), resolved or dismissed.
match_idsNoExplicit match ids to move, up to 200. Mutually exclusive with filter.

Output Schema

ParametersJSON Schema
NameRequiredDescription
movedYes
matchedYes
truncatedNo
update_monitorUpdate monitor
Idempotent
Inspect

Pause or resume a monitor. Pausing stops scans and record refreshes but keeps the monitor and its matches; resuming restarts scanning within plan limits. Deleting a monitor is dashboard-only because it removes its matches too.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesNew status: paused stops monitoring, active resumes it.
monitor_idYesMonitor id from list_monitors or create_monitor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monitorYes
update_takedownUpdate takedown
Idempotent
Inspect

Change a takedown's status. Close an open attempt with succeeded (the subject is down; resolves the match), unsuccessful (tried and failed) or dropped (abandoned); both non-success closes return the match to inbox for fresh triage and stop its recurring checks. Pass open to reopen the latest closed attempt, moving the match back to in_takedown and re-arming its check; reopening fails when a newer attempt exists or the subject reappeared after it closed; start a fresh attempt with start_takedown then.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesNew status: open reopens a closed attempt; succeeded, unsuccessful or dropped close an open one.
takedown_idYesTakedown id from list_takedowns.

Output Schema

ParametersJSON Schema
NameRequiredDescription
takedownYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updates
    • First observedadd_asset
    • First observedadd_takedown_event
    • First observedcreate_monitor
    • First observedget_account
    • First observedget_match
    • First observedget_match_evidence
    • First observedget_match_screenshot
    • First observedget_takedown
    • First observedlist_matches
    • First observedlist_monitors
    • First observedlist_scans
    • First observedlist_takedowns
    • First observedprepare_asset_upload
    • First observedpreview_domain
    • First observedretract_takedown_event
    • First observedsend_feedback
    • First observedstart_takedown
    • First observedsummarize_matches
    • First observedupdate_matches
    • First observedupdate_monitor
    • First observedupdate_takedown

Publisher details

Operator
Sebastian Graef LLC
Operator website
https://notolens.com/
Vendor relationship
First-party
Trust center
Not applicable
Restrictions
Paid plan

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Domain intelligence for DNS, WHOIS/RDAP, SSL/TLS, subdomain discovery, availability, valuation, email security, and typosquatting and brand protection.
    1
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Track how your brand appears in AI-generated answers across ChatGPT, Perplexity, and other AI models. Analyze visibility, sentiment, citations, and domain rankings with 31 tools โ€” including analytics reports, chat inspection, query analysis, and full CRUD for brands, prompts, tags, and topics.
    17
    69 npm
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Monitors brand mentions, citations, sentiment, competitor share of voice, and GEO performance across AI search engines.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources