com.sulvo.publisher-revenue-audit/audit
REMOTE · PUBLISHER-REVENUE-AUDIT.SULVO.COM · 2 COMPONENTS · SCANNED AUG 3
Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 37 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability49
- 50% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (fair).Partial
- Tool/resource definitions use about 3614 tokens (~95/item across 38 items; 37 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage87
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 60% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · publisher-revenue-audit.sulvo.com
claude mcp add --transport http com-sulvo-publisher-revenue-audit-audit https://publisher-revenue-audit.sulvo.com/mcp
[mcp_servers.com-sulvo-publisher-revenue-audit-audit] url = "https://publisher-revenue-audit.sulvo.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-sulvo-publisher-revenue-audit-audit": {
"type": "remote",
"url": "https://publisher-revenue-audit.sulvo.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-sulvo-publisher-revenue-audit-audit --url https://publisher-revenue-audit.sulvo.com/mcp --transport streamable-http
mcp_servers:
com-sulvo-publisher-revenue-audit-audit:
url: "https://publisher-revenue-audit.sulvo.com/mcp" {
"mcpServers": {
"com-sulvo-publisher-revenue-audit-audit": {
"type": "http",
"url": "https://publisher-revenue-audit.sulvo.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Jul 26 0
- Stability: unverified → 0.03 ▲ functional
- 28 Jul 26 55
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://publisher-revenue-audit.sulvo.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=publisher-revenue-audit.sulvo.com | CN=YE1,O=Let's Encrypt,C=US | 27 Jun 2026 | 25 Sept 2026 | ECDSA 256 | ECDSA-SHA384 | 5a5699d2a94f31773159bfb374c3830d3a2 |
| SANs: publisher-revenue-audit.sulvo.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of publisher-revenue-audit.sulvo.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| sulvo.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://publisher-revenue-audit.sulvo.com/mcp | Verified | 200 | |
| http (plaintext) | http://publisher-revenue-audit.sulvo.com/mcp | HTTPS enforced | 301 | https://publisher-revenue-audit.sulvo.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
apply_for_sulvo_account ~103
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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Primary publisher domain to submit for Sulvo account review. The current signup backend accepts root publisher domains. |
| string | yes | Applicant email address Sulvo should use for follow-up. | |
| outputFormat | string | — | — |
No output schema declared.
No examples provided.
attach_sulvo_revenue_audit ~93
Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
connect_sulvo_backup_provider ~93
Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
create_sulvo_ad_unit ~197
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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom | string | — | Optional custom unit name. |
| domain | string | yes | Publisher domain the ad unit belongs to. |
| focusedAd | boolean | — | Only valid for the display type. |
| outputFormat | string | — | — |
| placement | number | — | Optional placement weight (0-1). |
| size | object | — | Ad size as width/height, or a responsive token like responsive_all. Required by the backend for most non-interstitial types. |
| type | string | yes | Ad unit type. |
No output schema declared.
No examples provided.
create_sulvo_auto_sticky_units ~83
Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
| Name | Type | Req | Description |
|---|---|---|---|
| adTypes | array | yes | One or more sticky ad types to create. |
| domain | string | yes | Publisher domain the units belong to. |
| outputFormat | string | — | — |
No output schema declared.
No examples provided.
create_sulvo_interstitial_units ~86
Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
| Name | Type | Req | Description |
|---|---|---|---|
| adTypes | array | yes | One or more interstitial ad types to create. |
| domain | string | yes | Publisher domain the units belong to. |
| outputFormat | string | — | — |
No output schema declared.
No examples provided.
create_sulvo_signup_account ~171
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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Primary publisher root domain used in signup start. |
| string | yes | Applicant email address. | |
| firstName | string | yes | — |
| lastName | string | yes | — |
| mixpanelId | string | — | — |
| monthlyPageviews | number | yes | — |
| outputFormat | string | — | — |
| password | string | yes | Password for the pending Sulvo account. This is required by the current signup backend. |
| phone | string | — | — |
| utmContent | string | — | — |
| utmMedium | string | — | — |
| utmSource | string | — | — |
No output schema declared.
No examples provided.
delete_sulvo_ad_unit ~73
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adId | string | yes | The ad unit id to delete. |
No output schema declared.
No examples provided.
delete_sulvo_advanced_report ~56
Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment.
| Name | Type | Req | Description |
|---|---|---|---|
| reportId | string | yes | The advanced report id to delete. |
No output schema declared.
No examples provided.
get_publisher_monetization_benchmarks ~61
Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.
| Name | Type | Req | Description |
|---|---|---|---|
| vertical | string | — | Optional publisher vertical to retrieve benchmarks for. Defaults to other. |
No output schema declared.
No examples provided.
get_publisher_revenue_audit_checklist ~31
Return the public checklist and interpretation notes used by the publisher revenue-readiness screen.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_sulvo_activation_smoke_status ~93
Return active-probe, real-page, and remediation status for the latest activation attempt.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
get_sulvo_installation_instructions ~88
Return installation values for the locked revision. Input is empty.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
get_sulvo_report ~210
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adProvider | string | — | Optional provider filter (e.g. relabe, adsense). |
| adRoots | array | — | Filter to these ad unit roots. |
| directBidder | string | — | Required for direct-bidder-analysis: the bidder name. |
| domains | array | — | Filter to these publisher domains. |
| end | string | — | End date (YYYY-MM-DD or ISO). |
| outputFormat | string | — | — |
| reportType | string | yes | Which report to fetch. |
| start | string | — | Start date (YYYY-MM-DD or ISO). Required by most date-bounded reports. |
No output schema declared.
No examples provided.
get_sulvo_revenue_onboarding_status ~57
Return the backend-owned journey stage, readiness dimensions, and one next best action.
| Name | Type | Req | Description |
|---|---|---|---|
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
get_sulvo_signup_ads_txt ~53
Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.
| Name | Type | Req | Description |
|---|---|---|---|
| outputFormat | string | — | — |
| userId | string | yes | — |
No output schema declared.
No examples provided.
get_sulvo_signup_status ~58
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.
| Name | Type | Req | Description |
|---|---|---|---|
| outputFormat | string | — | — |
| userId | string | yes | — |
No output schema declared.
No examples provided.
import_sulvo_backup_units ~86
Import connected provider units. Input requires provider and expectedVersion.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
list_sulvo_advanced_reports ~51
List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment.
| Name | Type | Req | Description |
|---|---|---|---|
| outputFormat | string | — | — |
No output schema declared.
No examples provided.
lock_sulvo_placement_revision ~89
Lock the exact mapped revision. Input requires expectedVersion and revisionId.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
map_sulvo_placement_backup ~96
Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
review_sulvo_placement_recommendations ~93
Save accept, edit, or reject decisions. Input requires expectedVersion and decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
rollback_sulvo_activation ~84
Return the workspace domain to publisher-owned backup-only serving.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
run_publisher_revenue_audit ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Publisher domain to screen, for example example.com. Private/local targets, raw IPs, internal hosts, and non-standard ports are rejected. |
| metrics | object | — | Optional publisher-supplied metrics used for directional revenue interpretation. |
| options | object | — | Optional output and audit controls. |
| vertical | string | — | Optional publisher vertical used for interpretation. |
No output schema declared.
No examples provided.
run_sulvo_activation_preflight ~88
Run the complete bounded activation preflight for the locked workspace revision.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
save_sulvo_advanced_report ~243
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.
| Name | Type | Req | Description |
|---|---|---|---|
| adRoots | array | — | — |
| dimensions | array | — | — |
| domains | array | — | — |
| end | string | — | — |
| frequency | string | — | Required when immediateRun is false. |
| immediateRun | boolean | yes | true to run now (emailed), false to only schedule (requires frequency). |
| name | string | — | — |
| outputFormat | string | — | — |
| reportId | string | — | Provide to update an existing saved report. |
| reportType | string | yes | Advanced report type. |
| start | string | — | — |
| timeZone | string | — | IANA timezone for scheduled delivery. |
| toAddress | string | yes | Email address the report is delivered to. |
| utmHourlyBreakdown | boolean | — | — |
| utms | array | — | customData (UTM) reports only. |
No output schema declared.
No examples provided.
save_sulvo_placement_plan ~100
Save a placement revision. Input requires expectedVersion and payload.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | yes | A revision containing from 1 to 50 placements plus the consent/runtime attestations preflight requires. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
set_sulvo_onboarding_journey ~104
Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
start_sulvo_revenue_onboarding ~137
Create or resume a verified-account activation workspace after the public audit and signup steps.
| Name | Type | Req | Description |
|---|---|---|---|
| auditArtifactId | string | — | — |
| domain | string | yes | — |
| goal | string | — | The publisher's #1 goal: increase demand and CPMs, or recover ad-blocked impressions (Boost). |
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| outputFormat | string | — | — |
| retagTiming | string | — | Demand goal only: retag now (requires passback/backup mapping) or after site approval (no passback). |
No output schema declared.
No examples provided.
start_sulvo_signup ~97
Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Primary publisher root domain to submit for Sulvo signup. |
| string | yes | Applicant email address. | |
| monthlyPageviews | number | — | Optional expected monthly pageviews to carry into the response. The current lead API stores traffic during account creation. |
| outputFormat | string | — | — |
No output schema declared.
No examples provided.
submit_sulvo_activation_workspace ~87
Submit the proven revision. Input requires expectedVersion and revisionId.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
submit_sulvo_signup_documents ~58
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
submit_sulvo_site_for_approval ~104
Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
update_sulvo_signup_company ~107
Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | — | — |
| city | string | — | — |
| country | string | — | — |
| employeeCount | number | — | — |
| monthlyAdRevenue | number | — | — |
| outputFormat | string | — | — |
| state | string | — | — |
| userId | string | yes | — |
| website | string | — | — |
| zip | string | — | — |
No output schema declared.
No examples provided.
verify_sulvo_placement_installation ~90
Verify every stable placement container and the inert loader for the locked revision.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.
verify_sulvo_signup_ads_txt ~54
Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.
| Name | Type | Req | Description |
|---|---|---|---|
| outputFormat | string | — | — |
| userId | string | yes | — |
No output schema declared.
No examples provided.
verify_sulvo_site_ownership ~89
Verify the required ads.txt and inert Sulvo head-tag ownership evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Optional retry key. Reuse it when retrying the same mutation. |
| input | object | — | Fields required by this journey action. |
| outputFormat | string | — | — |
| workspaceId | string | yes | Activation workspace identifier returned by the start or status tool. |
No output schema declared.
No examples provided.