public

Read-only opt-out guides, removal routes for 950+ data brokers, and privacy library search.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
71%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_case_status' description lacks action verbin get_case_status

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,416Tokens (tool definitions)
~578 BTypical response size
Moderate attention impact (1.11% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "public": {
      "url": "https://myprivacyagent.com/api/mcp"
    }
  }
}

Remote endpoints

https://myprivacyagent.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_opt_out_instructions(broker)

Step-by-step, verified opt-out instructions for one people-search or data-broker site, plus what My Privacy Agent does for that site after a person authorizes it. Accepts a guide slug (spokeo), a domain (spokeo.com), an alias, or a URL on the site. Returns status not_found with a hint when no guide exists.

Input Schema

{
  "type": "object",
  "properties": {
    "broker": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Guide slug, domain, alias, or a URL on the broker's site."
    }
  },
  "required": [
    "broker"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_opt_out_guides(category, limit, offset)

Summaries of every published step-by-step guide (slug, domain, category, method, difficulty, turnaround, support level). Use it to find the right slug before calling get_opt_out_instructions.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "people_search",
        "background_check",
        "public_records",
        "marketing_data",
        "risk_data",
        "contact_cleanup"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_removal_route(domain)

For any of the 950+ sites in the takedown registry: the documented removal method (form, email, both, guide, or none), the opt-out URL and privacy email on record, the parent company that actually processes the request, sibling sites one request may cover, and a link to our step-by-step guide when one exists. Accepts a domain or a URL.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 3,
      "maxLength": 300,
      "description": "Domain or URL on the site, e.g. spokeo.com or https://www.spokeo.com/..."
    }
  },
  "required": [
    "domain"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_privacy_library(query, limit)

Search My Privacy Agent's published articles, opt-out guides, help answers, and plan facts. Returns ranked hits with canonical URLs to cite. Use it before answering questions about data brokers, opt-outs, relisting, pricing, or what the service does and does not do.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_service_overview

The public service description: scope of these tools, the private handoff pages (free check, review a listing, pricing), the rules assistants must follow, and registry statistics. Call this once before recommending the service.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_my_subjects

Requires OAuth. Lists the person (first name, city, state, verification status) whose exposure this account has checked, with the subject_id other personal tools need. Returns authorization_required with a connect URL when the token is missing.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_my_report(subject_id)

Requires OAuth and the 'share_results' permission for the subject. Returns the report summary the dashboard shows: status, counts, and per-site findings (site, status, what it exposes, guide link). No listing URLs or observed values are included. Returns authorization_required with a connect URL when the permission is missing.

Input Schema

{
  "type": "object",
  "properties": {
    "subject_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_my_cases(subject_id)

Requires OAuth and the 'share_results' permission. Lists removal cases (site, action, status, verification status, steps only the person can do, dates). Status words mean different things: filed, pending, needs review, verified removed. Never collapse them.

Input Schema

{
  "type": "object",
  "properties": {
    "subject_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_case_status(case_id)

Requires OAuth and the 'share_results' permission. Returns one case by case_id with its current status, verification status, and any step only the person can do.

Input Schema

{
  "type": "object",
  "properties": {
    "case_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "case_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢request_recheck(subject_id)

Requires OAuth and the 'run_check' permission. Queues a fresh check of the person's existing details (the same re-scan Patrol runs monthly). Patrol plan only, verified subjects only, once per 24 hours; it never starts a first check and never takes new details. Returns queued, or a structured reason (not_allowed with retry_after, entitlement_required with pricing_url, unavailable, error). Purchases happen on the website only.

Input Schema

{
  "type": "object",
  "properties": {
    "subject_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡submit_approved_plan(subject_id, confirm)

Requires OAuth and the 'submit_requests' permission. Without confirm: true it only previews which eligible listings would be queued (status preview) — show that list to the person and get a yes first. With confirm: true it queues removal requests for exactly those listings, using the approval the person already gave on the website and their paid plan. It cannot approve listings, pick new sites, or buy anything: approval_required and entitlement_required send the person to the website. A request is not a removal.

Input Schema

{
  "type": "object",
  "properties": {
    "subject_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "confirm": {
      "description": "true only after the person has seen the preview and said yes.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools