Now onboarding our first advertisers and publishers

Sponsored results inside AI tools — reviewed, labelled, and paid for.

VADS is an ad network for MCP servers. Publishers add one SDK call and let their tools show a single, clearly labelled sponsored result — and earn a revenue share for it. Advertisers run prepaid CPM/CPE campaigns that reach agents at the moment they're actually doing something, not just browsing.

How it works

Two sides, one network: advertisers fund campaigns, publishers place them.

For advertisers

  1. Fund your wallet

    Prepay by card. Nothing runs until you fund a campaign, and any unspent balance is refundable.

  2. Create a campaign

    Write a short text ad and a destination link. Bill by CPM (impressions) or CPE (engagement), with a budget, daily caps, pacing and category targeting.

  3. Go live after review

    Every ad and destination is reviewed by staff, and we verify you actually own the destination domain, before it can serve.

For publishers

  1. Add the SDK

    Drop the TypeScript or Python publisher SDK into your MCP server: one call to decorate a tool result, one hook to acknowledge it after it's sent.

  2. Get reviewed

    Your site's declared tools are reviewed before your slots start serving — and you choose which advertisers, categories and domains to exclude.

  3. Get paid

    Earn a revenue share on billed traffic, paid out through Stripe Connect after a short hold to cover refunds and disputes.

Trust & safety

Ad networks are easy to get wrong. Here's what's actually built in.

Human review, every time

Every ad and destination is reviewed by staff, and destination domain ownership is verified, before anything can serve.

Always labelled

Sponsored results carry an explicit "sponsored" disclosure in the same envelope as the ad — they're never merged into the tool's own answer.

No tracking on end users

No tracking pixels or cookies are set on the people using your tools. The only context the SDK sends is an allowlisted, non-identifying set of fields — never tool inputs or outputs.

Exact-decimal ledger

Every dollar is tracked in a double-entry ledger with exact decimal arithmetic — no floating-point rounding on money, ever.

Dual control on sensitive actions

Changing where a payout goes, and other high-risk account actions, require a second, distinct organization member to approve — plus a cooling-off period.

Fraud detection built in

Engagement traffic is screened for abuse automatically, and unspent advertiser balance is refundable at any time.

Publisher integration

Two integration points: decorate the tool result, and acknowledge it after it's actually sent. This is the real quickstart from the TypeScript SDK.

npm install @vads/publisher-sdk @modelcontextprotocol/sdk zod

import { Vads } from "@vads/publisher-sdk";

const vads = new Vads({
  apiKey: process.env.VADS_API_KEY!,   // site API key: server-side only
  slotId: process.env.VADS_SLOT_ID!,   // from the publisher portal
  budgetMs: 150,                       // max extra time after the tool finishes
});

server.registerTool(
  "get_weather",
  { description: "Current weather", inputSchema: { city: z.string() } },
  vads.wrap("get_weather", async ({ city }) => ({
    content: [{ type: "text", text: `Sunny in ${city}` }],
  })),
);

// Post-send hook — required, or the site is CPM-ineligible.
await server.connect(vads.instrumentTransport(new StdioServerTransport()));

The SDK fails open: on any timeout, error or budget overrun it returns your tool's original result unchanged. A Python SDK (pip install "vads-publisher-sdk[mcp]") follows the same two-integration-point contract.

Frequently asked questions

How does pricing work?

Advertisers fund a wallet by card and run campaigns billed either CPM (per impression) or CPE (per engagement), with a budget, daily caps and pacing they control. Publishers earn a revenue share on billed traffic — the exact split shows up on every entry in your publisher dashboard.

When and how do publishers get paid?

Through Stripe Connect, after a hold on newly earned balance (14 days) to cover refunds and disputes. You connect your own Stripe account from the publisher portal.

How long does review take?

Every ad, its destination, and every publisher site's declared tools are reviewed by staff before they can serve — including verifying you own the destination domain. We don't publish a fixed turnaround time yet.

What's allowed?

Ads need to be honest, link to a domain you've verified you control, and pass staff review. We haven't published a full content policy yet — email support@vads.au if you're unsure whether your campaign or site is a fit.

What fees does VADS take?

Every billed event splits into a publisher amount and a platform fee — both are shown, as exact figures, on every ledger entry in your dashboard. We don't quote a flat rate here because it isn't one fixed number in the code.

Do you track the people using MCP tools?

No. There are no tracking pixels or cookies for end users. The only context the SDK ever sends with a request is a small allowlisted set of fields (environment, category, keywords) — never the tool's actual inputs or outputs.

Can advertisers get a refund?

Yes — any unspent wallet balance is refundable. Campaigns can be paused any time, and edits go through review again as a new version before they go live.

Ready to try VADS?

We're onboarding our first advertisers and publishers now — come build the network with us.