audit
Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (10)
- LOWin get_sulvo_signup_status
- LOWin get_sulvo_revenue_onboarding_status
- LOWin review_sulvo_placement_recommendations
- LOWin get_sulvo_installation_instructions
- LOWin verify_sulvo_placement_installation
- LOWin submit_sulvo_activation_workspace
- LOWin get_sulvo_activation_smoke_status
- LOWin get_publisher_revenue_audit_checklist
- LOWin get_publisher_monetization_benchmarks
- LOWin create_sulvo_interstitial_units
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"audit": {
"command": "npx",
"args": [
"publisher-revenue-audit-mcp"
]
}
}
}Ausführbare Pakete
0.2.1stdioRemote-Endpunkte
https://publisher-revenue-audit.sulvo.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (41)
🟢check_https_certificate(domain, outputFormat)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain, for example example.com."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢run_agentic_readiness_audit(domain, outputFormat)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain, for example example.com."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_crawler_blocks(domain, outputFormat)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain, for example example.com."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_boost_setup(cdn)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"cdn": {
"type": "string",
"enum": [
"cloudflare",
"aws",
"fastly"
],
"description": "The CDN fronting the site; omit to get all three options."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡start_sulvo_revenue_onboarding(domain, auditArtifactId, goal, retagTiming, idempotencyKey, ...)
Create or resume a verified-account activation workspace after the public audit and signup steps.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"auditArtifactId": {
"type": "string",
"minLength": 1,
"maxLength": 8192
},
"goal": {
"type": "string",
"enum": [
"demand",
"adblock_recovery"
],
"description": "The publisher's #1 goal: increase demand and CPMs, or recover ad-blocked impressions (Boost)."
},
"retagTiming": {
"type": "string",
"enum": [
"now",
"after_approval"
],
"description": "Demand goal only: retag now (requires passback/backup mapping) or after site approval (no passback)."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_revenue_onboarding_status(workspaceId, outputFormat)
Return the backend-owned journey stage, readiness dimensions, and one next best action.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴attach_sulvo_revenue_audit(workspaceId, input, idempotencyKey, outputFormat)
Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡connect_sulvo_backup_provider(workspaceId, input, idempotencyKey, outputFormat)
Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴import_sulvo_backup_units(workspaceId, input, idempotencyKey, outputFormat)
Import connected provider units. Input requires provider and expectedVersion.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴review_sulvo_placement_recommendations(workspaceId, input, idempotencyKey, outputFormat)
Save accept, edit, or reject decisions. Input requires expectedVersion and decisions.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡save_sulvo_placement_plan(workspaceId, input, idempotencyKey, outputFormat)
Save a placement revision. Input requires expectedVersion and payload.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"properties": {
"expectedVersion": {
"type": "integer",
"exclusiveMinimum": 0
},
"payload": {
"type": "object",
"properties": {
"placements": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"minItems": 1,
"maxItems": 50
},
"consentDeclaration": {
"type": "boolean",
"description": "Attest that consent requirements are accounted for. Preflight requires true."
},
"runtimeDeclaration": {
"type": "boolean",
"description": "Attest that runtime placement behavior has been reviewed. Preflight requires true."
}
},
"required": [
"placements"
],
"additionalProperties": true
}
},
"required": [
"expectedVersion",
"payload"
],
"additionalProperties": true,
"description": "A revision containing from 1 to 50 placements plus the consent/runtime attestations preflight requires."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId",
"input"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴map_sulvo_placement_backup(workspaceId, input, idempotencyKey, outputFormat)
Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_installation_instructions(workspaceId, input, idempotencyKey, outputFormat)
Return installation values for the locked revision. Input is empty.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_sulvo_placement_installation(workspaceId, input, idempotencyKey, outputFormat)
Verify every stable placement container and the inert loader for the locked revision.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴lock_sulvo_placement_revision(workspaceId, input, idempotencyKey, outputFormat)
Lock the exact mapped revision. Input requires expectedVersion and revisionId.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪run_sulvo_activation_preflight(workspaceId, input, idempotencyKey, outputFormat)
Run the complete bounded activation preflight for the locked workspace revision.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_sulvo_site_ownership(workspaceId, input, idempotencyKey, outputFormat)
Verify the required ads.txt and inert Sulvo head-tag ownership evidence.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴submit_sulvo_activation_workspace(workspaceId, input, idempotencyKey, outputFormat)
Submit the proven revision. Input requires expectedVersion and revisionId.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴submit_sulvo_site_for_approval(workspaceId, input, idempotencyKey, outputFormat)
Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴set_sulvo_onboarding_journey(workspaceId, input, idempotencyKey, outputFormat)
Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴rollback_sulvo_activation(workspaceId, input, idempotencyKey, outputFormat)
Return the workspace domain to publisher-owned backup-only serving.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_activation_smoke_status(workspaceId, input, idempotencyKey, outputFormat)
Return active-probe, real-page, and remediation status for the latest activation attempt.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Activation workspace identifier returned by the start or status tool."
},
"input": {
"type": "object",
"additionalProperties": {},
"default": {},
"description": "Fields required by this journey action."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "Optional retry key. Reuse it when retrying the same mutation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"workspaceId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢run_publisher_revenue_audit(domain, vertical, metrics, options)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain to screen, for example example.com. Private/local targets, raw IPs, internal hosts, and non-standard ports are rejected."
},
"vertical": {
"type": "string",
"enum": [
"news",
"sports",
"entertainment",
"technology",
"education",
"gaming",
"other"
],
"description": "Optional publisher vertical used for interpretation."
},
"metrics": {
"type": "object",
"properties": {
"impressionsPerPageview": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
},
"impressionsPerSession": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"pageviewsPerSession": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"dashboardViewabilityRate": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"fillRate": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"averageCpm": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"revenuePerSession": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"monthlyPageviews": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Actual monthly pageview volume. When provided, the yield simulator uses this scale instead of the standard 100k baseline."
},
"monthlySessions": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Actual monthly session count. Used with pageviewsPerSession to derive scale when monthlyPageviews is not supplied directly."
}
},
"additionalProperties": false,
"description": "Optional publisher-supplied metrics used for directional revenue interpretation."
},
"options": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"markdown_and_json"
],
"default": "markdown"
},
"compact": {
"type": "boolean",
"default": false,
"description": "When true with JSON output, return the compact agent-oriented report shape instead of the full report object."
},
"maxPages": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 2
},
"includeEvidence": {
"type": "boolean",
"default": true
},
"enableBrowser": {
"type": "boolean",
"default": false,
"description": "When true, run optional Playwright diagnostics for rendered slots, provider-aware network/console errors, selected provider privacy-review signals, and bfcache signals."
},
"includeScreenshots": {
"type": "boolean",
"default": false,
"description": "When true with enableBrowser, save a full-page screenshot artifact using a relative artifact path."
},
"artifactsDir": {
"type": "string",
"minLength": 1,
"default": "audit-artifacts",
"description": "Relative directory for optional artifacts. Absolute paths, current-directory output, and parent traversal are rejected."
},
"enablePageSpeed": {
"type": "boolean",
"default": false,
"description": "When true, request public PageSpeed/Core Web Vitals diagnostics."
},
"pageSpeedStrategy": {
"type": "string",
"enum": [
"mobile",
"desktop"
],
"default": "mobile"
},
"concurrency": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 2,
"description": "Maximum number of audit collection tasks to run at once."
},
"whiteLabel": {
"type": "boolean",
"default": false,
"description": "When true, format the audit report as a white-labeled pitch presentation for ad-ops consultants/agencies to present directly to their publisher clients."
},
"partnerId": {
"type": "string",
"description": "Optional referral or partner tracking identifier embedded in call-to-action URLs."
}
},
"additionalProperties": false,
"description": "Optional output and audit controls."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴apply_for_sulvo_account(domain, email, outputFormat)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Primary publisher domain to submit for Sulvo account review. The current signup backend accepts root publisher domains."
},
"email": {
"type": "string",
"format": "email",
"description": "Applicant email address Sulvo should use for follow-up."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴start_sulvo_signup(domain, email, monthlyPageviews, outputFormat)
Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Primary publisher root domain to submit for Sulvo signup."
},
"email": {
"type": "string",
"format": "email",
"description": "Applicant email address."
},
"monthlyPageviews": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional expected monthly pageviews to carry into the response. The current lead API stores traffic during account creation."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴create_sulvo_signup_account(domain, email, firstName, lastName, password, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Primary publisher root domain used in signup start."
},
"email": {
"type": "string",
"format": "email",
"description": "Applicant email address."
},
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"password": {
"type": "string",
"minLength": 6,
"description": "Password for the pending Sulvo account. This is required by the current signup backend."
},
"monthlyPageviews": {
"type": "number",
"exclusiveMinimum": 0
},
"phone": {
"type": "string"
},
"mixpanelId": {
"type": "string"
},
"utmSource": {
"type": "string"
},
"utmMedium": {
"type": "string"
},
"utmContent": {
"type": "string"
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"email",
"firstName",
"lastName",
"password",
"monthlyPageviews"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_sulvo_signup_company(userId, website, address, city, zip, ...)
Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.
Eingabe-Schema
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1
},
"website": {
"type": "string"
},
"address": {
"type": "string"
},
"city": {
"type": "string"
},
"zip": {
"type": "string"
},
"state": {
"type": "string"
},
"country": {
"type": "string"
},
"employeeCount": {
"type": "number",
"exclusiveMinimum": 0
},
"monthlyAdRevenue": {
"type": "number",
"exclusiveMinimum": 0
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"userId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_signup_ads_txt(userId, outputFormat)
Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.
Eingabe-Schema
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"userId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_sulvo_signup_ads_txt(userId, outputFormat)
Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.
Eingabe-Schema
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"userId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_signup_status(userId, outputFormat)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"userId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_publisher_revenue_audit_checklist
Return the public checklist and interpretation notes used by the publisher revenue-readiness screen.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_publisher_monetization_benchmarks(vertical)
Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.
Eingabe-Schema
{
"type": "object",
"properties": {
"vertical": {
"type": "string",
"enum": [
"news",
"sports",
"entertainment",
"technology",
"education",
"gaming",
"other"
],
"description": "Optional publisher vertical to retrieve benchmarks for. Defaults to other."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_sulvo_ad_unit(domain, type, size, placement, custom, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain the ad unit belongs to."
},
"type": {
"type": "string",
"enum": [
"display",
"native_multi",
"sticky_display",
"sticky_mobile",
"sticky_display_custom",
"sticky_mobile_custom",
"sticky_video",
"interstitial_desktop",
"interstitial_mobile",
"offerwall"
],
"description": "Ad unit type."
},
"size": {
"type": "object",
"properties": {
"width": {
"type": "number",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"exclusiveMinimum": 0
},
"responsive": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false,
"description": "Ad size as width/height, or a responsive token like responsive_all. Required by the backend for most non-interstitial types."
},
"placement": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Optional placement weight (0-1)."
},
"custom": {
"type": "string",
"minLength": 1,
"description": "Optional custom unit name."
},
"focusedAd": {
"type": "boolean",
"description": "Only valid for the display type."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_sulvo_interstitial_units(domain, adTypes, outputFormat)
Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain the units belong to."
},
"adTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"interstitial_desktop",
"interstitial_mobile"
]
},
"minItems": 1,
"description": "One or more interstitial ad types to create."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"adTypes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_sulvo_auto_sticky_units(domain, adTypes, outputFormat)
Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain the units belong to."
},
"adTypes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"sticky_display",
"sticky_mobile"
]
},
"minItems": 1,
"description": "One or more sticky ad types to create."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown"
}
},
"required": [
"domain",
"adTypes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_sulvo_ad_unit(adId)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"adId": {
"type": "string",
"minLength": 1,
"description": "The ad unit id to delete."
}
},
"required": [
"adId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sulvo_report(reportType, start, end, domains, adRoots, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"reportType": {
"type": "string",
"enum": [
"by-date",
"by-date-and-ad-unit",
"by-domain-and-ad-unit",
"bot-filtering",
"bot-scores",
"invalid-activity",
"direct-bidder-analysis",
"ad-units-by-domain"
],
"description": "Which report to fetch."
},
"start": {
"type": "string",
"description": "Start date (YYYY-MM-DD or ISO). Required by most date-bounded reports."
},
"end": {
"type": "string",
"description": "End date (YYYY-MM-DD or ISO)."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter to these publisher domains."
},
"adRoots": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter to these ad unit roots."
},
"adProvider": {
"type": "string",
"description": "Optional provider filter (e.g. relabe, adsense)."
},
"directBidder": {
"type": "string",
"description": "Required for direct-bidder-analysis: the bidder name."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"required": [
"reportType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_sulvo_advanced_reports(outputFormat)
List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment.
Eingabe-Schema
{
"type": "object",
"properties": {
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴save_sulvo_advanced_report(reportType, toAddress, immediateRun, start, end, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"reportType": {
"type": "string",
"enum": [
"adUnit",
"dimensions",
"customData"
],
"description": "Advanced report type."
},
"toAddress": {
"type": "string",
"format": "email",
"description": "Email address the report is delivered to."
},
"immediateRun": {
"type": "boolean",
"description": "true to run now (emailed), false to only schedule (requires frequency)."
},
"start": {
"type": "string"
},
"end": {
"type": "string"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"adRoots": {
"type": "array",
"items": {
"type": "string"
}
},
"dimensions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"country",
"device",
"os"
]
}
},
"utms": {
"type": "array",
"items": {
"type": "string"
},
"description": "customData (UTM) reports only."
},
"utmHourlyBreakdown": {
"type": "boolean"
},
"frequency": {
"type": "string",
"enum": [
"daily",
"weekly",
"biweekly",
"monthly"
],
"description": "Required when immediateRun is false."
},
"timeZone": {
"type": "string",
"description": "IANA timezone for scheduled delivery."
},
"name": {
"type": "string"
},
"reportId": {
"type": "string",
"description": "Provide to update an existing saved report."
},
"outputFormat": {
"type": "string",
"enum": [
"markdown",
"json",
"csv"
],
"default": "markdown"
}
},
"required": [
"reportType",
"toAddress",
"immediateRun"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_sulvo_advanced_report(reportId)
Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment.
Eingabe-Schema
{
"type": "object",
"properties": {
"reportId": {
"type": "string",
"minLength": 1,
"description": "The advanced report id to delete."
}
},
"required": [
"reportId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis