{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_u5mfcdbzx6zy","handle":"com-sulvo-publisher-revenue-audit-audit","url":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit","links":{"self":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit/record.json","html":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit","markdown":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit/record.md","api":"https://wellknown.network/api/v1/agents/com-sulvo-publisher-revenue-audit-audit","status":"https://wellknown.network/api/v1/agents/com-sulvo-publisher-revenue-audit-audit/status","claim":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/com-sulvo-publisher-revenue-audit-audit/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:publisher-revenue-audit.sulvo.com:server:com-sulvo-publisher-revenue-audit-audit","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"audit","summary":"Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery","description":"Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery","publisher":{"name":"com.sulvo.publisher-revenue-audit","url":null},"homepage":"https://sulvo.com","repository":null,"version":"0.2.1","license":"MIT","protocols":["mcp"],"tags":["mcp","model-context-protocol","publisher","adtech","ads-txt","viewability","revenue-audit"],"pricing":null,"endpoints":[{"url":"https://publisher-revenue-audit.sulvo.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:publisher-revenue-audit-mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-28T15:15:09.391087Z","npmKeywords":["mcp","model-context-protocol","publisher","adtech","ads-txt","viewability","revenue-audit"],"publishedAt":"2026-07-28T15:15:09.391087Z","registryName":"com.sulvo.publisher-revenue-audit/audit"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.marketing","name":"Marketing","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.992,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.54,"provenance":"derived"}],"categories":["ai","analytics","automation","commerce","content","data","security"]},"observed":{"status":"live","statusReason":"Responded 4m ago.","lastOkAt":"2026-09-06T08:29:00.584Z","lastProbedAt":"2026-09-06T08:29:00.584Z","statusComputedAt":"2026-09-06T08:29:32.091Z","reliability30d":{"probes":2,"successRate":1,"p50Ms":153},"latestObservations":[{"at":"2026-09-06T08:29:00.584Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":154,"error":null,"detail":{"tools":[{"name":"check_https_certificate","description":"Check a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring"},{"name":"run_agentic_readiness_audit","description":"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 s"},{"name":"check_crawler_blocks","description":"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 40"},{"name":"start_sulvo_revenue_onboarding","description":"Create or resume a verified-account activation workspace after the public audit and signup steps."},{"name":"get_sulvo_revenue_onboarding_status","description":"Return the backend-owned journey stage, readiness dimensions, and one next best action."},{"name":"attach_sulvo_revenue_audit","description":"Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId."},{"name":"connect_sulvo_backup_provider","description":"Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense."},{"name":"import_sulvo_backup_units","description":"Import connected provider units. Input requires provider and expectedVersion."},{"name":"review_sulvo_placement_recommendations","description":"Save accept, edit, or reject decisions. Input requires expectedVersion and decisions."},{"name":"save_sulvo_placement_plan","description":"Save a placement revision. Input requires expectedVersion and payload."},{"name":"map_sulvo_placement_backup","description":"Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId."},{"name":"get_sulvo_installation_instructions","description":"Return installation values for the locked revision. Input is empty."},{"name":"verify_sulvo_placement_installation","description":"Verify every stable placement container and the inert loader for the locked revision."},{"name":"lock_sulvo_placement_revision","description":"Lock the exact mapped revision. Input requires expectedVersion and revisionId."},{"name":"run_sulvo_activation_preflight","description":"Run the complete bounded activation preflight for the locked workspace revision."},{"name":"verify_sulvo_site_ownership","description":"Verify the required ads.txt and inert Sulvo head-tag ownership evidence."},{"name":"submit_sulvo_activation_workspace","description":"Submit the proven revision. Input requires expectedVersion and revisionId."},{"name":"submit_sulvo_site_for_approval","description":"Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion."},{"name":"set_sulvo_onboarding_journey","description":"Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming."},{"name":"rollback_sulvo_activation","description":"Return the workspace domain to publisher-owned backup-only serving."},{"name":"get_sulvo_activation_smoke_status","description":"Return active-probe, real-page, and remediation status for the latest activation attempt."},{"name":"run_publisher_revenue_audit","description":"Run a public publisher revenue-readiness screen using directional public evidence. Audits ad stacks, ads.txt hygiene, consent readiness, PageSpeed metrics, and "},{"name":"apply_for_sulvo_account","description":"Submit an unauthenticated Sulvo account application lead through the current signup API. Audit tools remain available without login, API key, or OAuth; ad-unit "},{"name":"start_sulvo_signup","description":"Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead."},{"name":"create_sulvo_signup_account","description":"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"},{"name":"update_sulvo_signup_company","description":"Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup."},{"name":"get_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification."},{"name":"verify_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines."},{"name":"get_sulvo_signup_status","description":"Return the current signup status capability. The current signup API has no public approval-status endpoint, so this tool reports that limitation instead of gues"},{"name":"submit_sulvo_signup_documents","description":"Explains how to complete Sulvo signup document review. Document submission is done in Sulvo onboarding - upload monthly earnings proof or connect an AdSense acc"},{"name":"get_publisher_revenue_audit_checklist","description":"Return the public checklist and interpretation notes used by the publisher revenue-readiness screen."},{"name":"get_publisher_monetization_benchmarks","description":"Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units"},{"name":"create_sulvo_ad_unit","description":"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"},{"name":"create_sulvo_interstitial_units","description":"Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"create_sulvo_auto_sticky_units","description":"Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"delete_sulvo_ad_unit","description":"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 mus"},{"name":"get_sulvo_report","description":"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). Cov"},{"name":"list_sulvo_advanced_reports","description":"List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment."},{"name":"save_sulvo_advanced_report","description":"Create/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule. Requires SULVO_API_KEY (with th"},{"name":"delete_sulvo_advanced_report","description":"Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment."}],"toolCount":40,"serverName":"publisher-revenue-screen","capabilities":["tools","resources","prompts"],"serverVersion":"0.3.1","protocolVersion":"2025-06-18"}},{"at":"2026-09-05T23:28:57.579Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":151,"error":null,"detail":{"tools":[{"name":"check_https_certificate","description":"Check a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring"},{"name":"run_agentic_readiness_audit","description":"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 s"},{"name":"check_crawler_blocks","description":"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 40"},{"name":"start_sulvo_revenue_onboarding","description":"Create or resume a verified-account activation workspace after the public audit and signup steps."},{"name":"get_sulvo_revenue_onboarding_status","description":"Return the backend-owned journey stage, readiness dimensions, and one next best action."},{"name":"attach_sulvo_revenue_audit","description":"Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId."},{"name":"connect_sulvo_backup_provider","description":"Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense."},{"name":"import_sulvo_backup_units","description":"Import connected provider units. Input requires provider and expectedVersion."},{"name":"review_sulvo_placement_recommendations","description":"Save accept, edit, or reject decisions. Input requires expectedVersion and decisions."},{"name":"save_sulvo_placement_plan","description":"Save a placement revision. Input requires expectedVersion and payload."},{"name":"map_sulvo_placement_backup","description":"Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId."},{"name":"get_sulvo_installation_instructions","description":"Return installation values for the locked revision. Input is empty."},{"name":"verify_sulvo_placement_installation","description":"Verify every stable placement container and the inert loader for the locked revision."},{"name":"lock_sulvo_placement_revision","description":"Lock the exact mapped revision. Input requires expectedVersion and revisionId."},{"name":"run_sulvo_activation_preflight","description":"Run the complete bounded activation preflight for the locked workspace revision."},{"name":"verify_sulvo_site_ownership","description":"Verify the required ads.txt and inert Sulvo head-tag ownership evidence."},{"name":"submit_sulvo_activation_workspace","description":"Submit the proven revision. Input requires expectedVersion and revisionId."},{"name":"submit_sulvo_site_for_approval","description":"Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion."},{"name":"set_sulvo_onboarding_journey","description":"Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming."},{"name":"rollback_sulvo_activation","description":"Return the workspace domain to publisher-owned backup-only serving."},{"name":"get_sulvo_activation_smoke_status","description":"Return active-probe, real-page, and remediation status for the latest activation attempt."},{"name":"run_publisher_revenue_audit","description":"Run a public publisher revenue-readiness screen using directional public evidence. Audits ad stacks, ads.txt hygiene, consent readiness, PageSpeed metrics, and "},{"name":"apply_for_sulvo_account","description":"Submit an unauthenticated Sulvo account application lead through the current signup API. Audit tools remain available without login, API key, or OAuth; ad-unit "},{"name":"start_sulvo_signup","description":"Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead."},{"name":"create_sulvo_signup_account","description":"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"},{"name":"update_sulvo_signup_company","description":"Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup."},{"name":"get_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification."},{"name":"verify_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines."},{"name":"get_sulvo_signup_status","description":"Return the current signup status capability. The current signup API has no public approval-status endpoint, so this tool reports that limitation instead of gues"},{"name":"submit_sulvo_signup_documents","description":"Explains how to complete Sulvo signup document review. Document submission is done in Sulvo onboarding - upload monthly earnings proof or connect an AdSense acc"},{"name":"get_publisher_revenue_audit_checklist","description":"Return the public checklist and interpretation notes used by the publisher revenue-readiness screen."},{"name":"get_publisher_monetization_benchmarks","description":"Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units"},{"name":"create_sulvo_ad_unit","description":"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"},{"name":"create_sulvo_interstitial_units","description":"Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"create_sulvo_auto_sticky_units","description":"Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"delete_sulvo_ad_unit","description":"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 mus"},{"name":"get_sulvo_report","description":"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). Cov"},{"name":"list_sulvo_advanced_reports","description":"List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment."},{"name":"save_sulvo_advanced_report","description":"Create/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule. Requires SULVO_API_KEY (with th"},{"name":"delete_sulvo_advanced_report","description":"Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment."}],"toolCount":40,"serverName":"publisher-revenue-screen","capabilities":["tools","resources","prompts"],"serverVersion":"0.3.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"check_https_certificate","description":"Check a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring"},{"name":"run_agentic_readiness_audit","description":"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 s"},{"name":"check_crawler_blocks","description":"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 40"},{"name":"start_sulvo_revenue_onboarding","description":"Create or resume a verified-account activation workspace after the public audit and signup steps."},{"name":"get_sulvo_revenue_onboarding_status","description":"Return the backend-owned journey stage, readiness dimensions, and one next best action."},{"name":"attach_sulvo_revenue_audit","description":"Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId."},{"name":"connect_sulvo_backup_provider","description":"Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense."},{"name":"import_sulvo_backup_units","description":"Import connected provider units. Input requires provider and expectedVersion."},{"name":"review_sulvo_placement_recommendations","description":"Save accept, edit, or reject decisions. Input requires expectedVersion and decisions."},{"name":"save_sulvo_placement_plan","description":"Save a placement revision. Input requires expectedVersion and payload."},{"name":"map_sulvo_placement_backup","description":"Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId."},{"name":"get_sulvo_installation_instructions","description":"Return installation values for the locked revision. Input is empty."},{"name":"verify_sulvo_placement_installation","description":"Verify every stable placement container and the inert loader for the locked revision."},{"name":"lock_sulvo_placement_revision","description":"Lock the exact mapped revision. Input requires expectedVersion and revisionId."},{"name":"run_sulvo_activation_preflight","description":"Run the complete bounded activation preflight for the locked workspace revision."},{"name":"verify_sulvo_site_ownership","description":"Verify the required ads.txt and inert Sulvo head-tag ownership evidence."},{"name":"submit_sulvo_activation_workspace","description":"Submit the proven revision. Input requires expectedVersion and revisionId."},{"name":"submit_sulvo_site_for_approval","description":"Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion."},{"name":"set_sulvo_onboarding_journey","description":"Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming."},{"name":"rollback_sulvo_activation","description":"Return the workspace domain to publisher-owned backup-only serving."},{"name":"get_sulvo_activation_smoke_status","description":"Return active-probe, real-page, and remediation status for the latest activation attempt."},{"name":"run_publisher_revenue_audit","description":"Run a public publisher revenue-readiness screen using directional public evidence. Audits ad stacks, ads.txt hygiene, consent readiness, PageSpeed metrics, and "},{"name":"apply_for_sulvo_account","description":"Submit an unauthenticated Sulvo account application lead through the current signup API. Audit tools remain available without login, API key, or OAuth; ad-unit "},{"name":"start_sulvo_signup","description":"Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead."},{"name":"create_sulvo_signup_account","description":"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"},{"name":"update_sulvo_signup_company","description":"Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup."},{"name":"get_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification."},{"name":"verify_sulvo_signup_ads_txt","description":"Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines."},{"name":"get_sulvo_signup_status","description":"Return the current signup status capability. The current signup API has no public approval-status endpoint, so this tool reports that limitation instead of gues"},{"name":"submit_sulvo_signup_documents","description":"Explains how to complete Sulvo signup document review. Document submission is done in Sulvo onboarding - upload monthly earnings proof or connect an AdSense acc"},{"name":"get_publisher_revenue_audit_checklist","description":"Return the public checklist and interpretation notes used by the publisher revenue-readiness screen."},{"name":"get_publisher_monetization_benchmarks","description":"Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units"},{"name":"create_sulvo_ad_unit","description":"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"},{"name":"create_sulvo_interstitial_units","description":"Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"create_sulvo_auto_sticky_units","description":"Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment."},{"name":"delete_sulvo_ad_unit","description":"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 mus"},{"name":"get_sulvo_report","description":"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). Cov"},{"name":"list_sulvo_advanced_reports","description":"List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment."},{"name":"save_sulvo_advanced_report","description":"Create/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule. Requires SULVO_API_KEY (with th"},{"name":"delete_sulvo_advanced_report","description":"Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment."}],"package":{"name":"publisher-revenue-audit-mcp","registry":"npm","observedAt":"2026-09-06T08:29:41.619Z","publishedAt":"2026-08-18T18:05:08.832Z","latestVersion":"0.3.1","weeklyDownloads":73}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.sulvo.publisher-revenue-audit/audit","url":"https://registry.modelcontextprotocol.io/v0/servers/com.sulvo.publisher-revenue-audit%2Faudit","firstSeenAt":"2026-09-05T21:20:37.270Z","fetchedAt":"2026-09-05T21:20:37.270Z","normalizedAt":"2026-09-05T21:20:37.270Z"},{"source":"npm","key":"publisher-revenue-audit-mcp","url":"https://www.npmjs.com/package/publisher-revenue-audit-mcp","firstSeenAt":"2026-09-06T00:19:52.084Z","fetchedAt":"2026-09-06T00:19:52.084Z","normalizedAt":"2026-09-06T00:19:52.084Z"}]},"firstSeenAt":"2026-09-05T21:20:37.270Z","updatedAt":"2026-09-06T08:29:41.619Z"}