Connect Audit and your agent gets 41 tools, among them apply_for_sulvo_account, attach_sulvo_revenue_audit, check_crawler_blocks. It answers at https://publisher-revenue-audit.sulvo.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 10 September 2026; the last check, on 19 October 2026, succeeded.
Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
apply_for_sulvo_account | 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. Inputs: domain, email, outputFormat |
attach_sulvo_revenue_audit | Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId. Inputs: workspaceId, input, idempotencyKey, outputFormat |
check_crawler_blocks | 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. Inputs: domain, outputFormat |
check_https_certificate | 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 unreachab Inputs: domain, outputFormat |
connect_sulvo_backup_provider | Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense. Inputs: workspaceId, input, idempotencyKey, outputFormat |
create_sulvo_ad_unit | 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 Set Inputs: domain, type, size, placement, custom, focusedAd |
create_sulvo_auto_sticky_units | Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment. Inputs: domain, adTypes, outputFormat |
create_sulvo_interstitial_units | Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment. Inputs: domain, adTypes, outputFormat |
create_sulvo_signup_account | 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. Inputs: domain, email, firstName, lastName, password, monthlyPageviews |
delete_sulvo_ad_unit | 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. Inputs: adId |
delete_sulvo_advanced_report | Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment. Inputs: reportId |
get_publisher_monetization_benchmarks | Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units. Inputs: vertical |
get_publisher_revenue_audit_checklist | Return the public checklist and interpretation notes used by the publisher revenue-readiness screen. |
get_sulvo_activation_smoke_status | Return active-probe, real-page, and remediation status for the latest activation attempt. Inputs: workspaceId, input, idempotencyKey, outputFormat |
get_sulvo_boost_setup | 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. Inputs: cdn |
get_sulvo_installation_instructions | Return installation values for the locked revision. Input is empty. Inputs: workspaceId, input, idempotencyKey, outputFormat |
get_sulvo_report | 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-scor Inputs: reportType, start, end, domains, adRoots, adProvider |
get_sulvo_revenue_onboarding_status | Return the backend-owned journey stage, readiness dimensions, and one next best action. Inputs: workspaceId, outputFormat |
get_sulvo_signup_ads_txt | Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification. Inputs: userId, outputFormat |
get_sulvo_signup_status | 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. Inputs: userId, outputFormat |
import_sulvo_backup_units | Import connected provider units. Input requires provider and expectedVersion. Inputs: workspaceId, input, idempotencyKey, outputFormat |
list_sulvo_advanced_reports | List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment. Inputs: outputFormat |
lock_sulvo_placement_revision | Lock the exact mapped revision. Input requires expectedVersion and revisionId. Inputs: workspaceId, input, idempotencyKey, outputFormat |
map_sulvo_placement_backup | Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId. Inputs: workspaceId, input, idempotencyKey, outputFormat |
review_sulvo_placement_recommendations | Save accept, edit, or reject decisions. Input requires expectedVersion and decisions. Inputs: workspaceId, input, idempotencyKey, outputFormat |
rollback_sulvo_activation | Return the workspace domain to publisher-owned backup-only serving. Inputs: workspaceId, input, idempotencyKey, outputFormat |
run_agentic_readiness_audit | 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 wha Inputs: domain, outputFormat |
run_publisher_revenue_audit | 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. Inputs: domain, vertical, metrics, options |
run_sulvo_activation_preflight | Run the complete bounded activation preflight for the locked workspace revision. Inputs: workspaceId, input, idempotencyKey, outputFormat |
save_sulvo_advanced_report | 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 del Inputs: reportType, toAddress, immediateRun, start, end, domains |
save_sulvo_placement_plan | Save a placement revision. Input requires expectedVersion and payload. Inputs: workspaceId, input, idempotencyKey, outputFormat |
set_sulvo_onboarding_journey | Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming. Inputs: workspaceId, input, idempotencyKey, outputFormat |
start_sulvo_revenue_onboarding | Create or resume a verified-account activation workspace after the public audit and signup steps. Inputs: domain, auditArtifactId, goal, retagTiming, idempotencyKey, outputFormat |
start_sulvo_signup | Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead. Inputs: domain, email, monthlyPageviews, outputFormat |
submit_sulvo_activation_workspace | Submit the proven revision. Input requires expectedVersion and revisionId. Inputs: workspaceId, input, idempotencyKey, outputFormat |
submit_sulvo_signup_documents | 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 |
submit_sulvo_site_for_approval | Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion. Inputs: workspaceId, input, idempotencyKey, outputFormat |
update_sulvo_signup_company | Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup. Inputs: userId, website, address, city, zip, state |
verify_sulvo_placement_installation | Verify every stable placement container and the inert loader for the locked revision. Inputs: workspaceId, input, idempotencyKey, outputFormat |
verify_sulvo_signup_ads_txt | Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines. Inputs: userId, outputFormat |
verify_sulvo_site_ownership
Every block below points at https://publisher-revenue-audit.sulvo.com/mcp. Pick your client and copy.
claude mcp add --transport http audit https://publisher-revenue-audit.sulvo.com/mcp
{
"mcpServers": {
"audit": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://publisher-revenue-audit.sulvo.com/mcp"]
}
}
}{
"mcpServers": {
"audit": {
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"servers": {
"audit": {
"type": "http",
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"context_servers": {
"audit": {
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"mcpServers": {
"audit": {
"serverUrl": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"mcpServers": {
"audit": {
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}name: Audit
version: 0.0.1
schema: v1
mcpServers:
- name: Audit
type: streamable-http
url: https://publisher-revenue-audit.sulvo.com/mcp{
"mcpServers": {
"audit": {
"httpUrl": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"mcpServers": {
"audit": {
"type": "http",
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}{
"mcpServers": {
"audit": {
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fpublisher-revenue-audit.sulvo.com%2Fmcp&type=streamable_http&id=audit&name=Audit
It answered our last check on 19 October 2026 in 459 ms. Over 6 checks since 10 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by sulvo.com and served from publisher-revenue-audit.sulvo.com, the vendor's own domain: https://publisher-revenue-audit.sulvo.com/mcp.
41, as returned by the server's own tools/list on 11 September 2026: apply_for_sulvo_account, attach_sulvo_revenue_audit, check_crawler_blocks, check_https_certificate, connect_sulvo_backup_provider, create_sulvo_ad_unit, create_sulvo_auto_sticky_units, create_sulvo_interstitial_units, and 33 more.
It answered our last check on 19 October 2026 in 459 ms. Over 6 checks since 10 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://publisher-revenue-audit.sulvo.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.sulvo.publisher-revenue-audit. Endpoint host: publisher-revenue-audit.sulvo.com. ARD identifier: urn:air:com.sulvo.publisher-revenue-audit:mcp:audit.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.