com. sulvo. publisher-revenue-audit/ audit
by publisher-revenue-audit.sulvo.com · remote · local (npm) · no sign-in to list tools · v0.2.1 · published by com.sulvo.publisher-revenue-audit
Publisher revenue audit: ads.txt and ad-stack checks, Sulvo onboarding, and Boost ad-block recovery
41 tools: 16 can delete or cancel things, 16 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels16Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things16Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http audit https://publisher-revenue-audit.sulvo.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "run_agentic_readiness_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_agentic_readiness_audit" says "run": a word for a change.
The server marks "connect_sulvo_backup_provider" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "return": a word for reading.
The server marks "run_publisher_revenue_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_publisher_revenue_audit" says "run": a word for a change.
The server marks "get_sulvo_signup_ads_txt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_sulvo_signup_ads_txt" says "get": a word for reading.
The server marks "submit_sulvo_signup_documents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "submit_sulvo_signup_documents" says "submit": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
41 tools
Deletes or cancels 16Claude Code: deny
apply_for_sulvo_accountSubmit an unauthenticated Sulvo account application lead through the current signup API.No findings
Why it is in this group
- The name "apply_for_sulvo_account" says "apply": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
attach_sulvo_revenue_auditAttach a current public revenue audit artifact.No findings
Why it is in this group
- The name "attach_sulvo_revenue_audit" says "attach": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Attach a current public revenue audit artifact. Input requires expectedVersion and auditArtifactId.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
create_sulvo_signup_accountRun normal Sulvo signup step 2: create the pending Sulvo user/account.No findings
Why it is in this group
- The name "create_sulvo_signup_account" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
delete_sulvo_ad_unitDelete a Sulvo ad unit by id for an approved publisher.No findings
Why it is in this group
- The name "delete_sulvo_ad_unit" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
delete_sulvo_advanced_reportDelete a saved Sulvo advanced report by id.No findings
Why it is in this group
- The name "delete_sulvo_advanced_report" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a saved Sulvo advanced report by id. Requires SULVO_API_KEY (with the reports:write scope) in the server environment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
import_sulvo_backup_unitsImport connected provider units.No findings
Why it is in this group
- The name "import_sulvo_backup_units" says "import": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Import connected provider units. Input requires provider and expectedVersion.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
lock_sulvo_placement_revisionLock the exact mapped revision.No findings
Why it is in this group
- The name "lock_sulvo_placement_revision" says "lock": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Lock the exact mapped revision. Input requires expectedVersion and revisionId.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
map_sulvo_placement_backupMap a display placement backup.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Map a display placement backup. Input requires expectedVersion, stablePlacementId, provider, and providerId.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
review_sulvo_placement_recommendationsSave accept, edit, or reject decisions.No findings
Why it is in this group
- The description's first verb is "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Save accept, edit, or reject decisions. Input requires expectedVersion and decisions.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
rollback_sulvo_activationReturn the workspace domain to publisher-owned backup-only serving.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Return the workspace domain to publisher-owned backup-only serving.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
save_sulvo_advanced_reportCreate/update a Sulvo advanced report (adUnit, dimensions, or customData), run immediately (emailed) or on a recurring schedule.No findings
Why it is in this group
- The name "save_sulvo_advanced_report" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
set_sulvo_onboarding_journeySet or change the journey intake answers on the workspace.No findings
Why it is in this group
- The name "set_sulvo_onboarding_journey" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set or change the journey intake answers on the workspace. Input requires expectedVersion plus at least one of mode, goal, retagTiming.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
start_sulvo_signupRun normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.No findings
Why it is in this group
- The name "start_sulvo_signup" says "start": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Run normal Sulvo signup step 1: verify the publisher domain and create the unauthenticated signup lead.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
submit_sulvo_activation_workspaceSubmit the proven revision.No findings
Why it is in this group
- The name "submit_sulvo_activation_workspace" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Submit the proven revision. Input requires expectedVersion and revisionId.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
submit_sulvo_site_for_approvalRetag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags).No findings
Why it is in this group
- The name "submit_sulvo_site_for_approval" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Retag-after-approval journeys: submit the bare site for Google approval (ads.txt ownership only, no tags). Input requires expectedVersion.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
update_sulvo_signup_companyRun normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.No findings
Why it is in this group
- The name "update_sulvo_signup_company" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Run normal Sulvo signup step 3: save optional company information for a pending Sulvo signup.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
Changes things 16Claude Code: ask
check_crawler_blocksCheck whether robots.txt or a live probe blocks AmazonAdBot / Google ad crawlers.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
check_https_certificateCheck a publisher domain for HTTPS and certificate issues: expired/untrusted/hostname-mismatch certs, HTTPS down, HTTP that does not upgrade, and certs expiring within 14 days.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
connect_sulvo_backup_providerReturn the GAM or AdSense authorization URL.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "connect_sulvo_backup_provider" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "return": a word for reading.
Description, as the server wrote it Return the GAM or AdSense authorization URL. Input requires provider set to gam or adsense.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
create_sulvo_ad_unitCreate a Sulvo ad unit for an approved publisher.No findings
Why it is in this group
- The name "create_sulvo_ad_unit" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
create_sulvo_auto_sticky_unitsCreate Sulvo auto-sticky ad units for an approved publisher.No findings
Why it is in this group
- The name "create_sulvo_auto_sticky_units" says "create": a word for a change.
Description, as the server wrote it Create Sulvo auto-sticky ad units for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
create_sulvo_interstitial_unitsCreate Sulvo interstitial ad units (tagless) for an approved publisher.No findings
Why it is in this group
- The name "create_sulvo_interstitial_units" says "create": a word for a change.
Description, as the server wrote it Create Sulvo interstitial ad units (tagless) for an approved publisher. Requires SULVO_API_KEY (with the inventory:write scope) in the server environment.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
get_sulvo_signup_ads_txtRun normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.1 finding
Why it is in this group
- The name "get_sulvo_signup_ads_txt" says "get": a word for reading.
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_sulvo_signup_ads_txt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_sulvo_signup_ads_txt" says "get": a word for reading.
Description, as the server wrote it Run normal Sulvo signup step 4a: fetch the ads.txt lines the publisher must add for site ownership verification.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
run_agentic_readiness_auditFree top-of-funnel scan: could a buyer agent find and buy this publisher?1 finding
Why it is in this group
- The name "run_agentic_readiness_audit" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "run_agentic_readiness_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_agentic_readiness_audit" says "run": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
run_publisher_revenue_auditRun a public publisher revenue-readiness screen using directional public evidence.1 finding
Why it is in this group
- The name "run_publisher_revenue_audit" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "run_publisher_revenue_audit" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "run_publisher_revenue_audit" says "run": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
run_sulvo_activation_preflightRun the complete bounded activation preflight for the locked workspace revision.No findings
Why it is in this group
- The name "run_sulvo_activation_preflight" says "run": a word for a change.
Description, as the server wrote it Run the complete bounded activation preflight for the locked workspace revision.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
save_sulvo_placement_planSave a placement revision.No findings
Why it is in this group
- The name "save_sulvo_placement_plan" says "save": a word for a change.
Description, as the server wrote it Save a placement revision. Input requires expectedVersion and payload.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
start_sulvo_revenue_onboardingCreate or resume a verified-account activation workspace after the public audit and signup steps.No findings
Why it is in this group
- The name "start_sulvo_revenue_onboarding" says "start": a word for a change.
Description, as the server wrote it Create or resume a verified-account activation workspace after the public audit and signup steps.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
submit_sulvo_signup_documentsExplains how to complete Sulvo signup document review.1 finding
Why it is in this group
- The name "submit_sulvo_signup_documents" says "submit": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "submit_sulvo_signup_documents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "submit_sulvo_signup_documents" says "submit": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
verify_sulvo_placement_installationVerify every stable placement container and the inert loader for the locked revision.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Verify every stable placement container and the inert loader for the locked revision.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
verify_sulvo_signup_ads_txtRun normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.No findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run normal Sulvo signup step 4b: verify whether the submitted publisher domain has the required Sulvo ads.txt lines.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
verify_sulvo_site_ownershipVerify the required ads.txt and inert Sulvo head-tag ownership evidence.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Verify the required ads.txt and inert Sulvo head-tag ownership evidence.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Only reads 9Claude Code: allow
get_publisher_monetization_benchmarksGet comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.No findings
Why it is in this group
- The name "get_publisher_monetization_benchmarks" says "get": a word for reading.
Description, as the server wrote it Get comparative yield and CPM industry benchmarks by publisher vertical to compare standard stacks (AdSense and managed wrappers) against Sulvo Premium Ad Units.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_publisher_revenue_audit_checklistReturn the public checklist and interpretation notes used by the publisher revenue-readiness screen.No findings
Why it is in this group
- The name "get_publisher_revenue_audit_checklist" says "get": a word for reading.
Description, as the server wrote it Return the public checklist and interpretation notes used by the publisher revenue-readiness screen.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_activation_smoke_statusReturn active-probe, real-page, and remediation status for the latest activation attempt.No findings
Why it is in this group
- The name "get_sulvo_activation_smoke_status" says "get": a word for reading.
Description, as the server wrote it Return active-probe, real-page, and remediation status for the latest activation attempt.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_boost_setupInstructions for setting up Sulvo Boost: first-party serving from the publisher's own CDN that recovers ad-blocked impressions.No findings
Why it is in this group
- The name "get_sulvo_boost_setup" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_installation_instructionsReturn installation values for the locked revision.No findings
Why it is in this group
- The name "get_sulvo_installation_instructions" says "get": a word for reading.
Description, as the server wrote it Return installation values for the locked revision. Input is empty.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_reportFetch a Sulvo report (read-only).No findings
Why it is in this group
- The name "get_sulvo_report" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_revenue_onboarding_statusReturn the backend-owned journey stage, readiness dimensions, and one next best action.No findings
Why it is in this group
- The name "get_sulvo_revenue_onboarding_status" says "get": a word for reading.
Description, as the server wrote it Return the backend-owned journey stage, readiness dimensions, and one next best action.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_sulvo_signup_statusReturn the current signup status capability.No findings
Why it is in this group
- The name "get_sulvo_signup_status" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_sulvo_advanced_reportsList the saved Sulvo advanced reports for the account.No findings
Why it is in this group
- The name "list_sulvo_advanced_reports" says "list": a word for reading.
Description, as the server wrote it List the saved Sulvo advanced reports for the account. Requires SULVO_API_KEY (with the reports:read scope) in the server environment.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http audit https://publisher-revenue-audit.sulvo.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__audit__get_sulvo_boost_setup",
"mcp__audit__get_sulvo_revenue_onboarding_status",
"mcp__audit__get_sulvo_installation_instructions",
"mcp__audit__get_sulvo_activation_smoke_status",
"mcp__audit__get_sulvo_signup_status",
"mcp__audit__get_publisher_revenue_audit_checklist",
"mcp__audit__get_publisher_monetization_benchmarks",
"mcp__audit__get_sulvo_report",
"mcp__audit__list_sulvo_advanced_reports"
],
"ask": [
"mcp__audit__check_https_certificate",
"mcp__audit__run_agentic_readiness_audit",
"mcp__audit__check_crawler_blocks",
"mcp__audit__start_sulvo_revenue_onboarding",
"mcp__audit__connect_sulvo_backup_provider",
"mcp__audit__save_sulvo_placement_plan",
"mcp__audit__verify_sulvo_placement_installation",
"mcp__audit__run_sulvo_activation_preflight",
"mcp__audit__verify_sulvo_site_ownership",
"mcp__audit__run_publisher_revenue_audit",
"mcp__audit__get_sulvo_signup_ads_txt",
"mcp__audit__verify_sulvo_signup_ads_txt",
"mcp__audit__submit_sulvo_signup_documents",
"mcp__audit__create_sulvo_ad_unit",
"mcp__audit__create_sulvo_interstitial_units",
"mcp__audit__create_sulvo_auto_sticky_units"
],
"deny": [
"mcp__audit__attach_sulvo_revenue_audit",
"mcp__audit__import_sulvo_backup_units",
"mcp__audit__review_sulvo_placement_recommendations",
"mcp__audit__map_sulvo_placement_backup",
"mcp__audit__lock_sulvo_placement_revision",
"mcp__audit__submit_sulvo_activation_workspace",
"mcp__audit__submit_sulvo_site_for_approval",
"mcp__audit__set_sulvo_onboarding_journey",
"mcp__audit__rollback_sulvo_activation",
"mcp__audit__apply_for_sulvo_account",
"mcp__audit__start_sulvo_signup",
"mcp__audit__create_sulvo_signup_account",
"mcp__audit__update_sulvo_signup_company",
"mcp__audit__delete_sulvo_ad_unit",
"mcp__audit__save_sulvo_advanced_report",
"mcp__audit__delete_sulvo_advanced_report"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as audit. Review it before you use it.