audit

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

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

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

    How to connect

    How to connect audit to Claude

    The server address to paste into Claude settings:

    https://publisher-revenue-audit.sulvo.com/mcp

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect audit to ChatGPT

    The server address to paste into ChatGPT settings:

    https://publisher-revenue-audit.sulvo.com/mcp

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect audit to Cursor

    The server address to paste into Cursor settings:

    https://publisher-revenue-audit.sulvo.com/mcp

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (41)

    Raw names from tools/list. Only developers need these.

    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. Does not write a finding when both HTTP and HTTPS are unreachable.
    run_agentic_readiness_auditFree 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.
    check_crawler_blocksCheck 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.
    get_sulvo_boost_setupInstructions 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.
    start_sulvo_revenue_onboardingCreate or resume a verified-account activation workspace after the public audit and signup steps.
    get_sulvo_revenue_onboarding_statusReturn the backend-owned journey stage, readiness dimensions, and one next best action.
    attach_sulvo_revenue_auditAttach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId.
    connect_sulvo_backup_providerReturn the GAM or AdSense authorization URL. Input requires provider set to gam or adsense.
    import_sulvo_backup_unitsImport connected provider units. Input requires provider and expectedVersion.
    review_sulvo_placement_recommendationsSave accept, edit, or reject decisions. Input requires expectedVersion and decisions.
    save_sulvo_placement_planSave a placement revision. Input requires expectedVersion and payload.
    map_sulvo_placement_backupMap a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId.
    get_sulvo_installation_instructionsReturn installation values for the locked revision. Input is empty.
    verify_sulvo_placement_installationVerify every stable placement container and the inert loader for the locked revision.
    lock_sulvo_placement_revisionLock the exact mapped revision. Input requires expectedVersion and revisionId.
    run_sulvo_activation_preflightRun the complete bounded activation preflight for the locked workspace revision.
    verify_sulvo_site_ownershipVerify the required ads.txt and inert Sulvo head-tag ownership evidence.
    submit_sulvo_activation_workspaceSubmit the proven revision. Input requires expectedVersion and revisionId.
    submit_sulvo_site_for_approvalRetag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion.
    set_sulvo_onboarding_journeySet or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming.
    rollback_sulvo_activationReturn the workspace domain to publisher-owned backup-only serving.
    get_sulvo_activation_smoke_statusReturn active-probe, real-page, and remediation status for the latest activation attempt.
    run_publisher_revenue_auditRun 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.
    apply_for_sulvo_accountSubmit 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.
    start_sulvo_signupRun normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.
    create_sulvo_signup_accountRun 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.
    update_sulvo_signup_companyRun normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.
    get_sulvo_signup_ads_txtRun normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.
    verify_sulvo_signup_ads_txtRun normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.
    get_sulvo_signup_statusReturn 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.
    submit_sulvo_signup_documentsExplains 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.
    get_publisher_revenue_audit_checklistReturn the public checklist and interpretation notes used by the publisher revenue-readiness screen.
    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.
    create_sulvo_ad_unitCreate 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.
    create_sulvo_interstitial_unitsCreate Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
    create_sulvo_auto_sticky_unitsCreate Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
    delete_sulvo_ad_unitDelete 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.
    get_sulvo_reportFetch 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.
    list_sulvo_advanced_reportsList the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment.
    save_sulvo_advanced_reportCreate/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.
    delete_sulvo_advanced_reportDelete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment.