Skip to content

com.sulvo.publisher-revenue-audit/audit

by publisher-revenue-audit.sulvo.com · remote · local (npm) · no sign-in to list tools · v0.2.1 · published by com.sulvo.publisher-revenue-audit

Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery

Deletes · 16Changes · 16

41 tools: 16 can delete or cancel things, 16 change things and 9 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http audit https://publisher-revenue-audit.sulvo.com/mcp

Findings

Matches of fixed checks, with the text they matched.

5 warn
  • The server marks "run_agentic_readiness_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_agentic_readiness_audit" says "run": a word for a change.

    What this check looks for
  • The server marks "connect_sulvo_backup_provider" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "return": a word for reading.

    What this check looks for
  • The server marks "run_publisher_revenue_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_publisher_revenue_audit" says "run": a word for a change.

    What this check looks for
  • The server marks "get_sulvo_signup_ads_txt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_sulvo_signup_ads_txt" says "get": a word for reading.

    What this check looks for
  • The server marks "submit_sulvo_signup_documents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "submit_sulvo_signup_documents" says "submit": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

41 tools

Deletes or cancels 16Claude Code: deny
  • apply_for_sulvo_accountSubmit an unauthenticated Sulvo account application lead through the current signup API.No findings

    Why it is in this group

    • The name "apply_for_sulvo_account" says "apply": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Submit an unauthenticated Sulvo account application lead through the current signup API. Audit tools remain available without login, API key, or OAuth; ad-unit generation should wait for Sulvo account approval.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • attach_sulvo_revenue_auditAttach a current public revenue audit artifact.No findings

    Why it is in this group

    • The name "attach_sulvo_revenue_audit" says "attach": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • create_sulvo_signup_accountRun normal Sulvo signup step 2: create the pending Sulvo user/account.No findings

    Why it is in this group

    • The name "create_sulvo_signup_account" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Run normal Sulvo signup step 2: create the pending Sulvo user/account. The current signup backend requires a password before the account can continue to ads.txt and review.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • delete_sulvo_ad_unitDelete a Sulvo ad unit by id for an approved publisher.No findings

    Why it is in this group

    • The name "delete_sulvo_ad_unit" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a Sulvo ad unit by id for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment. The key's account must own the unit; the backend enforces ownership.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • delete_sulvo_advanced_reportDelete a saved Sulvo advanced report by id.No findings

    Why it is in this group

    • The name "delete_sulvo_advanced_report" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • import_sulvo_backup_unitsImport connected provider units.No findings

    Why it is in this group

    • The name "import_sulvo_backup_units" says "import": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Import connected provider units. Input requires provider and expectedVersion.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • lock_sulvo_placement_revisionLock the exact mapped revision.No findings

    Why it is in this group

    • The name "lock_sulvo_placement_revision" says "lock": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Lock the exact mapped revision. Input requires expectedVersion and revisionId.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • map_sulvo_placement_backupMap a display placement backup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • review_sulvo_placement_recommendationsSave accept, edit, or reject decisions.No findings

    Why it is in this group

    • The description's first verb is "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Save accept, edit, or reject decisions. Input requires expectedVersion and decisions.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • rollback_sulvo_activationReturn the workspace domain to publisher-owned backup-only serving.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Return the workspace domain to publisher-owned backup-only serving.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • save_sulvo_advanced_reportCreate/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule.No findings

    Why it is in this group

    • The name "save_sulvo_advanced_report" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule. Requires SULVO_API_KEY (with the reports:write scope) in the server environment. Note: advanced reports are delivered by email, not returned inline.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • set_sulvo_onboarding_journeySet or change the journey intake answers on the workspace.No findings

    Why it is in this group

    • The name "set_sulvo_onboarding_journey" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • start_sulvo_signupRun normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.No findings

    Why it is in this group

    • The name "start_sulvo_signup" says "start": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • submit_sulvo_activation_workspaceSubmit the proven revision.No findings

    Why it is in this group

    • The name "submit_sulvo_activation_workspace" says "submit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Submit the proven revision. Input requires expectedVersion and revisionId.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • submit_sulvo_site_for_approvalRetag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags).No findings

    Why it is in this group

    • The name "submit_sulvo_site_for_approval" says "submit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • update_sulvo_signup_companyRun normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.No findings

    Why it is in this group

    • The name "update_sulvo_signup_company" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
Changes things 16Claude Code: ask
  • check_crawler_blocksCheck whether robots.txt or a live probe blocks AmazonAdBot / Google ad crawlers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check whether robots.txt or a live probe blocks AmazonAdBot / Google ad crawlers. robots.txt Disallow and Amazon Crawl-delay are high-confidence fails. A WAF 403 against our scanner is a medium-confidence warn that needs verification.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_https_certificateCheck a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring within 14 days.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring within 14 days. Does not write a finding when both HTTP and HTTPS are unreachable.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • connect_sulvo_backup_providerReturn the GAM or AdSense authorization URL.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "connect_sulvo_backup_provider" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "return": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • create_sulvo_ad_unitCreate a Sulvo ad unit for an approved publisher.No findings

    Why it is in this group

    • The name "create_sulvo_ad_unit" says "create": a word for a change.
    Description, as the server wrote it
    Create a Sulvo ad unit for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment, never passed as an argument — an account owner mints a write-scoped key in the Sulvo dashboard (Account Settings -> API key). The Sulvo account must be approved; the backend rejects unapproved accounts. Returns the created unit id and container root.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • create_sulvo_auto_sticky_unitsCreate Sulvo auto-sticky ad units for an approved publisher.No findings

    Why it is in this group

    • The name "create_sulvo_auto_sticky_units" says "create": a word for a change.
    Description, as the server wrote it
    Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • create_sulvo_interstitial_unitsCreate Sulvo interstitial ad units (tagless) for an approved publisher.No findings

    Why it is in this group

    • The name "create_sulvo_interstitial_units" says "create": a word for a change.
    Description, as the server wrote it
    Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_signup_ads_txtRun normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.1 finding

    Why it is in this group

    • The name "get_sulvo_signup_ads_txt" says "get": a word for reading.
    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_sulvo_signup_ads_txt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_sulvo_signup_ads_txt" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • run_agentic_readiness_auditFree top-of-funnel scan: could a buyer agent find and buy this publisher?1 finding

    Why it is in this group

    • The name "run_agentic_readiness_audit" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "run_agentic_readiness_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_agentic_readiness_audit" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Free top-of-funnel scan: could a buyer agent find and buy this publisher? Checks adagents.json, standardized taxonomy tagging, audience segments in a readable schema, and a product/deals catalog. Returns what a buyer agent would see and what it cannot.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • run_publisher_revenue_auditRun a public publisher revenue-readiness screen using directional public evidence.1 finding

    Why it is in this group

    • The name "run_publisher_revenue_audit" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "run_publisher_revenue_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_publisher_revenue_audit" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run a public publisher revenue-readiness screen using directional public evidence. Audits ad stacks, ads.txt hygiene, consent readiness, PageSpeed metrics, and unblocked premium ad unit opportunities (such as Sulvo) to recover lost yield.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • run_sulvo_activation_preflightRun the complete bounded activation preflight for the locked workspace revision.No findings

    Why it is in this group

    • The name "run_sulvo_activation_preflight" says "run": a word for a change.
    Description, as the server wrote it
    Run the complete bounded activation preflight for the locked workspace revision.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • save_sulvo_placement_planSave a placement revision.No findings

    Why it is in this group

    • The name "save_sulvo_placement_plan" says "save": a word for a change.
    Description, as the server wrote it
    Save a placement revision. Input requires expectedVersion and payload.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • start_sulvo_revenue_onboardingCreate or resume a verified-account activation workspace after the public audit and signup steps.No findings

    Why it is in this group

    • The name "start_sulvo_revenue_onboarding" says "start": a word for a change.
    Description, as the server wrote it
    Create or resume a verified-account activation workspace after the public audit and signup steps.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • submit_sulvo_signup_documentsExplains how to complete Sulvo signup document review.1 finding

    Why it is in this group

    • The name "submit_sulvo_signup_documents" says "submit": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "submit_sulvo_signup_documents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "submit_sulvo_signup_documents" says "submit": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Explains how to complete Sulvo signup document review. Document submission is done in Sulvo onboarding - upload monthly earnings proof or connect an AdSense account - not through this connector, which has no access to the user's local files.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • verify_sulvo_placement_installationVerify every stable placement container and the inert loader for the locked revision.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Verify every stable placement container and the inert loader for the locked revision.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • verify_sulvo_signup_ads_txtRun normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.No findings

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    Description, as the server wrote it
    Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • verify_sulvo_site_ownershipVerify the required ads.txt and inert Sulvo head-tag ownership evidence.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Verify the required ads.txt and inert Sulvo head-tag ownership evidence.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
Only reads 9Claude Code: allow
  • get_publisher_monetization_benchmarksGet comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.No findings

    Why it is in this group

    • The name "get_publisher_monetization_benchmarks" says "get": a word for reading.
    Description, as the server wrote it
    Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_publisher_revenue_audit_checklistReturn the public checklist and interpretation notes used by the publisher revenue-readiness screen.No findings

    Why it is in this group

    • The name "get_publisher_revenue_audit_checklist" says "get": a word for reading.
    Description, as the server wrote it
    Return the public checklist and interpretation notes used by the publisher revenue-readiness screen.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_activation_smoke_statusReturn active-probe, real-page, and remediation status for the latest activation attempt.No findings

    Why it is in this group

    • The name "get_sulvo_activation_smoke_status" says "get": a word for reading.
    Description, as the server wrote it
    Return active-probe, real-page, and remediation status for the latest activation attempt.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_boost_setupInstructions for setting up Sulvo Boost: first-party serving from the publisher's own CDN that recovers ad-blocked impressions.No findings

    Why it is in this group

    • The name "get_sulvo_boost_setup" says "get": a word for reading.
    Description, as the server wrote it
    Instructions for setting up Sulvo Boost: first-party serving from the publisher's own CDN that recovers ad-blocked impressions. Covers Cloudflare, AWS and Fastly, plus the WordPress plugin for publishers who would rather not use a terminal.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_installation_instructionsReturn installation values for the locked revision.No findings

    Why it is in this group

    • The name "get_sulvo_installation_instructions" says "get": a word for reading.
    Description, as the server wrote it
    Return installation values for the locked revision. Input is empty.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_reportFetch a Sulvo report (read-only).No findings

    Why it is in this group

    • The name "get_sulvo_report" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a Sulvo report (read-only). Requires SULVO_API_KEY in the server environment (a publisher generates it in the dashboard: Account Settings -> API key). Covers by-date, by-date-and-ad-unit, by-domain-and-ad-unit, bot-filtering, bot-scores, invalid-activity, direct-bidder-analysis, and ad-units-by-domain.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_revenue_onboarding_statusReturn the backend-owned journey stage, readiness dimensions, and one next best action.No findings

    Why it is in this group

    • The name "get_sulvo_revenue_onboarding_status" says "get": a word for reading.
    Description, as the server wrote it
    Return the backend-owned journey stage, readiness dimensions, and one next best action.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_sulvo_signup_statusReturn the current signup status capability.No findings

    Why it is in this group

    • The name "get_sulvo_signup_status" says "get": a word for reading.
    Description, as the server wrote it
    Return the current signup status capability. The current signup API has no public approval-status endpoint, so this tool reports that limitation instead of guessing approval state.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_sulvo_advanced_reportsList the saved Sulvo advanced reports for the account.No findings

    Why it is in this group

    • The name "list_sulvo_advanced_reports" says "list": a word for reading.
    Description, as the server wrote it
    List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http audit https://publisher-revenue-audit.sulvo.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__audit__get_sulvo_boost_setup",
      "mcp__audit__get_sulvo_revenue_onboarding_status",
      "mcp__audit__get_sulvo_installation_instructions",
      "mcp__audit__get_sulvo_activation_smoke_status",
      "mcp__audit__get_sulvo_signup_status",
      "mcp__audit__get_publisher_revenue_audit_checklist",
      "mcp__audit__get_publisher_monetization_benchmarks",
      "mcp__audit__get_sulvo_report",
      "mcp__audit__list_sulvo_advanced_reports"
    ],
    "ask": [
      "mcp__audit__check_https_certificate",
      "mcp__audit__run_agentic_readiness_audit",
      "mcp__audit__check_crawler_blocks",
      "mcp__audit__start_sulvo_revenue_onboarding",
      "mcp__audit__connect_sulvo_backup_provider",
      "mcp__audit__save_sulvo_placement_plan",
      "mcp__audit__verify_sulvo_placement_installation",
      "mcp__audit__run_sulvo_activation_preflight",
      "mcp__audit__verify_sulvo_site_ownership",
      "mcp__audit__run_publisher_revenue_audit",
      "mcp__audit__get_sulvo_signup_ads_txt",
      "mcp__audit__verify_sulvo_signup_ads_txt",
      "mcp__audit__submit_sulvo_signup_documents",
      "mcp__audit__create_sulvo_ad_unit",
      "mcp__audit__create_sulvo_interstitial_units",
      "mcp__audit__create_sulvo_auto_sticky_units"
    ],
    "deny": [
      "mcp__audit__attach_sulvo_revenue_audit",
      "mcp__audit__import_sulvo_backup_units",
      "mcp__audit__review_sulvo_placement_recommendations",
      "mcp__audit__map_sulvo_placement_backup",
      "mcp__audit__lock_sulvo_placement_revision",
      "mcp__audit__submit_sulvo_activation_workspace",
      "mcp__audit__submit_sulvo_site_for_approval",
      "mcp__audit__set_sulvo_onboarding_journey",
      "mcp__audit__rollback_sulvo_activation",
      "mcp__audit__apply_for_sulvo_account",
      "mcp__audit__start_sulvo_signup",
      "mcp__audit__create_sulvo_signup_account",
      "mcp__audit__update_sulvo_signup_company",
      "mcp__audit__delete_sulvo_ad_unit",
      "mcp__audit__save_sulvo_advanced_report",
      "mcp__audit__delete_sulvo_advanced_report"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as audit. Review it before you use it.