# What your assistant can do

> Example questions for the nebty MCP server, which tools change something, and the full list of tools.

Once you have [connected nebty](https://docs.nebty-id.com/mcp/connect/), you talk to your assistant in plain language. It picks the right nebty tools, reads the results and answers you. It works only with the brands your nebty user can see.

## Example questions

- “List my brands.”
- “Summarize the current domain findings for my brand. Which ones are high risk?”
- “Show the status and history of the takedown for `example-shop.com`.”
- “How many takedowns for my brand closed successfully?”
- “Which social media profiles are impersonating my brand?”
- “Are there Meta ads that misuse my brand?”

For complete reports, ask the assistant to read all pages of a list. Long lists come in pages, and the assistant must follow every page before it reports totals.

## Tools that change something

Most tools only read. These 15 tools change something, and your assistant should use them only when you ask for it:

| Tool | What it does | Effect |
| - | - | - |
| `add_trusted_domain` | Add a trusted domain for an accessible brand. Adding a previously unknown domain may trigger an initial scan with DNS and HTTP requests. | Starts a scan or capture |
| `create_social_media_takedown` | Create a social-media takedown request for an accessible brand. Requires active monitoring for non-staff users; may start enforcement workflows. | Acts outside nebty |
| `create_takedown` | Create a domain takedown request for an accessible brand. May start enforcement workflows; use only when the user requests a takedown. | Acts outside nebty |
| `dismiss_eval_result` | Dismiss a search evaluation result as a false positive for an accessible brand. | Changes a record |
| `dismiss_linkedin_profile` | Dismiss a LinkedIn profile from the brand's employee impersonation findings. | Changes a record |
| `email_sm_takedown_report` | Generate a social-media takedown PDF and SEND IT BY EMAIL to requesting\_user\_email. Use only when the user explicitly requests sending the report. Repeated calls can send repeated emails. | Acts outside nebty |
| `email_takedown_report` | Generate a domain takedown PDF and SEND IT BY EMAIL to requesting\_user\_email. Use only when the user explicitly requests sending the report. Repeated calls can send repeated emails. | Acts outside nebty |
| `inspect_domain` | Fetch a fresh screenshot for an accessible existing target. Use a domain UUID from list\_brand\_domains or list\_brand\_scans; get\_domain resolves its hostname. Target and URL must match. An upstream timeout means no screenshot was returned. | Starts a scan or capture |
| `set_meta_ad_scan_dismissed` | Dismiss or un-dismiss a specific Meta ad for the brand. Per-ad; hidden from default view and skipped during AI relevance scoring. Independent of page trust. Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Changes a record |
| `set_meta_ad_scan_trusted` | Mark a Meta page as trusted for the brand. All ads from that page\_id are annotated as is\_trusted and skipped during AI relevance scoring. Page-level; affects current and future ads. Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Changes a record |
| `set_social_media_scan_dismissed` | Dismiss or un-dismiss a profile for the brand associated with this scan. | Changes a record |
| `set_social_media_scan_trusted` | Set or unset a profile as trusted for the brand associated with this scan. | Changes a record |
| `submit_scan_feedback` | Submit feedback on a domain scan result. | Changes a record |
| `trigger_meta_ad_scan` | Trigger a Meta Ad Library scan for a specific brand Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Starts a scan or capture |
| `trust_linkedin_profile` | Mark a LinkedIn profile as trusted for an accessible brand, affecting future impersonation evaluation. | Changes a record |

What the effects mean:

- **Changes a record:** changes data in nebty, for example marks a finding as trusted or dismisses it.
- **Starts a scan or capture:** nebty visits an external website or starts a new scan, for example a fresh screenshot of a domain.
- **Acts outside nebty:** starts a takedown or sends an email. This cannot be undone. Approve these calls only when you mean it.

## All tools

This list has all 57 tools of the nebty MCP server (version 0.2.0). The descriptions are the exact texts your assistant receives, so they are in English and written for the assistant.

**Brands, domains and scans** (10)

| Tool | What it does | Effect |
| - | - | - |
| `add_trusted_domain` | Add a trusted domain for an accessible brand. Adding a previously unknown domain may trigger an initial scan with DNS and HTTP requests. | Starts a scan or capture |
| `get_brand` | Retrieve one accessible brand by ID, including its monitoring configuration. | Read only |
| `get_brand_risk_timeline` | Get historical risk data for a specific brand over the last N days | Read only |
| `get_brand_stats` | Retrieve brand statistics. Prefer domain\_risk\_distribution for domain counts: it includes zero-risk, unscanned and unknown-risk buckets and sums to domain\_count. Legacy risk\_distribution counts historical scan rows at scores 1+ and is not the complete domain population. | Read only |
| `get_domain` | Retrieve a monitored domain by brand ID and domain UUID, including detailed scan evidence. Use IDs from list\_brand\_domains or list\_brand\_scans; caller must have access to the brand. | Read only |
| `inspect_domain` | Fetch a fresh screenshot for an accessible existing target. Use a domain UUID from list\_brand\_domains or list\_brand\_scans; get\_domain resolves its hostname. Target and URL must match. An upstream timeout means no screenshot was returned. | Starts a scan or capture |
| `list_brand_domains` | List compact monitored domain summaries for one accessible brand. Includes IDs, hostnames and latest brand-specific risk/verdict. Use get\_domain for detailed evidence and history. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_brand_scans` | List compact scan summaries for a brand, including domain UUID and domain\_name. Use get\_domain with the brand ID and domain UUID for detailed evidence. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_brands` | List brands the authenticated user can access. Use their IDs for subsequent brand-specific lookups and get\_brand\_stats for statistics. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `submit_scan_feedback` | Submit feedback on a domain scan result. | Changes a record |

**Search results** (5)

| Tool | What it does | Effect |
| - | - | - |
| `dismiss_eval_result` | Dismiss a search evaluation result as a false positive for an accessible brand. | Changes a record |
| `get_eval_dismissal` | Retrieve an existing search evaluation dismissal by ID. | Read only |
| `get_google_eval_scan` | Retrieve a specific Google Eval scan by ID | Read only |
| `list_eval_dismissals` | List eval result dismissals (staff see all, users see only those for brands they have access to) Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_google_eval_scans` | List Google Eval scans with optional filtering Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |

**Social media** (4)

| Tool | What it does | Effect |
| - | - | - |
| `get_social_media_scan` | Retrieve a specific Social Media scan by ID | Read only |
| `list_social_media_scans` | List Social Media scans with optional filtering Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `set_social_media_scan_dismissed` | Dismiss or un-dismiss a profile for the brand associated with this scan. | Changes a record |
| `set_social_media_scan_trusted` | Set or unset a profile as trusted for the brand associated with this scan. | Changes a record |

**Ads (Meta Ad Library)** (9)

| Tool | What it does | Effect |
| - | - | - |
| `get_meta_ad_brand_aggregate` | Get aggregated Meta Ad Library scan results for a specific brand across all keywords Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Read only |
| `get_meta_ad_scan` | Retrieve one Meta Ad Library scan and its brand-abuse findings by ID. Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Read only |
| `list_latest_meta_ad_scans` | Get the latest successful Meta Ad Library scan results for a brand, falling back through history to skip failures Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_meta_ad_scans` | List Meta Ad Library scans with optional filtering Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_meta_ad_scans_by_brand` | Get Meta Ad Library scan results for a specific brand Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_meta_ads` | List a brand's Meta ads, one compact row per ad (newest first, deduplicated across keywords). Requires brand\_id. Prefer this over the scan tools: page\_size=1 returns one ad. Filters: exclude\_trusted, exclude\_dismissed, active\_only, search\_term. Reach, targeting and spend are omitted unless include=demographics (large). Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `set_meta_ad_scan_dismissed` | Dismiss or un-dismiss a specific Meta ad for the brand. Per-ad; hidden from default view and skipped during AI relevance scoring. Independent of page trust. Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Changes a record |
| `set_meta_ad_scan_trusted` | Mark a Meta page as trusted for the brand. All ads from that page\_id are annotated as is\_trusted and skipped during AI relevance scoring. Page-level; affects current and future ads. Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Changes a record |
| `trigger_meta_ad_scan` | Trigger a Meta Ad Library scan for a specific brand Countries searched describe actual historical query coverage. Meta archive coverage is limited; zero returned ads is not proof of no impersonation. Old DE scans do not cover CA/US markets. | Starts a scan or capture |

**LinkedIn** (6)

| Tool | What it does | Effect |
| - | - | - |
| `dismiss_linkedin_profile` | Dismiss a LinkedIn profile from the brand's employee impersonation findings. | Changes a record |
| `get_linkedin_radar_profile` | Retrieve an accessible LinkedIn profile. status is its human review decision; presence and consecutive\_misses describe observation freshness. NEW does not mean recently seen, and missing observations do not prove employment ended. | Read only |
| `get_linkedin_radar_scan` | Retrieve a LinkedIn employee impersonation scan by ID. | Read only |
| `list_linkedin_radar_profiles` | List LinkedIn Employee Radar profiles, newest first (staff see all, users see only those for brands they have access to) status is a review decision; use presence and consecutive\_misses for freshness. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_linkedin_radar_scans` | List LinkedIn Employee Radar scans, newest first (staff see all, users see only those for brands they have access to) Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `trust_linkedin_profile` | Mark a LinkedIn profile as trusted for an accessible brand, affecting future impersonation evaluation. | Changes a record |

**Takedowns** (19)

| Tool | What it does | Effect |
| - | - | - |
| `create_social_media_takedown` | Create a social-media takedown request for an accessible brand. Requires active monitoring for non-staff users; may start enforcement workflows. | Acts outside nebty |
| `create_takedown` | Create a domain takedown request for an accessible brand. May start enforcement workflows; use only when the user requests a takedown. | Acts outside nebty |
| `email_sm_takedown_report` | Generate a social-media takedown PDF and SEND IT BY EMAIL to requesting\_user\_email. Use only when the user explicitly requests sending the report. Repeated calls can send repeated emails. | Acts outside nebty |
| `email_takedown_report` | Generate a domain takedown PDF and SEND IT BY EMAIL to requesting\_user\_email. Use only when the user explicitly requests sending the report. Repeated calls can send repeated emails. | Acts outside nebty |
| `get_sm_takedown_abuse_contact` | Retrieve an abuse contact belonging to a social-media takedown. | Read only |
| `get_sm_takedown_event` | Retrieve one audit event belonging to a social-media takedown. | Read only |
| `get_social_media_takedown` | Retrieve a social-media takedown request and its current status by ID. | Read only |
| `get_takedown` | Retrieve a specific takedown request | Read only |
| `get_takedown_abuse_contact` | Retrieve one abuse contact belonging to a domain takedown. | Read only |
| `get_takedown_aggregate` | Count accessible takedowns by status and resolution with brand, status, resolution and creation-time filters. Use successful\_closed\_count for successful outcomes, never CLOSED alone. UNRESOLVED, FALSE\_POSITIVE and unspecified outcomes are not successes. Creation filters do not measure closures during a period. | Read only |
| `get_takedown_blacklist_submission` | Retrieve one blacklist submission belonging to a domain takedown. | Read only |
| `get_takedown_event` | Retrieve one audit event belonging to a domain takedown. | Read only |
| `list_sm_takedown_abuse_contacts` | List abuse contacts belonging to a social-media takedown. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_sm_takedown_events` | List audit events belonging to a social-media takedown. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_social_media_takedowns` | List social media takedown requests (staff see all, users see only those for brands they have access to) Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_takedown_abuse_contacts` | List abuse contacts belonging to a domain takedown. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_takedown_blacklist_submissions` | List blacklist submissions belonging to a domain takedown. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_takedown_events` | List audit events belonging to a domain takedown. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `list_takedowns` | List accessible domain takedowns, filtered by brand, status, resolution and creation time. CLOSED does not imply success; use get\_takedown\_aggregate for outcome KPIs. Defaults to 5 cases per page. Keep page\_size and filters unchanged and follow every next page until next is null for complete reports. If a page exceeds the response limit, restart at page 1 with a smaller page\_size (minimum 1); do not report partial results as complete. created\_after is inclusive; created\_before is exclusive. These filter creation time, not closure time. | Read only |

**Account and settings** (4)

| Tool | What it does | Effect |
| - | - | - |
| `get_communication_settings` | Retrieve an accessible notification configuration by ID. | Read only |
| `get_my_profile` | Get the authenticated user's profile information | Read only |
| `list_communication_settings` | List the authenticated user's accessible notification configurations. Defaults to 20 items per page. Keep page\_size and filters unchanged while paging; follow next until null. If too large, restart at page 1 with smaller page\_size. Never report partial results as complete. | Read only |
| `poll_agent_run` | Poll the status of an agent run by its key. Returns 204 while the run is pending or in progress, the result object when completed, or an error payload when failed. | Read only |
