Discovery

dev.nexbidPublished by nexbid.devOfficial publisherv1.0.1Updated Oct 28, 2026

Search and discover advertiser products through an open marketplace for AI agents.

Overview

AI-generated overview

Remote Nexbid marketplace server that lets an assistant search products, recipes and services, and run ad campaigns on publisher inventory.

What you can do
  • Search a curated commerce catalog of products, recipes and services with citable source URLs, and browse categories by country
  • Look up product details by ID, including price, availability and purchase link
  • Start a purchase and get a checkout link, then check the status of that purchase intent
  • Browse publisher ad inventory slots and create, submit creatives for, activate, pause or cancel media buys
  • Review media buys and campaign performance reports, and check nDSG/GDPR/EU AI Act compliance status
  • Settle pending payments and record billed snippet deliveries against a campaign budget
When to use it
Useful when an assistant should help with product, recipe or service discovery and shopping, or when an advertiser or publisher wants to plan, run and report on programmatic ad campaigns through the Nexbid marketplace.
Requirements
A remote streamable-HTTP endpoint at mcp.nexbid.dev; no local package or runtime is needed. The README's SDK example passes an API key, though the manifest declares no authentication, environment variables or headers. Network access to the Nexbid service is required.
Before you install
Tools can start purchases, create and activate ad campaigns, cancel campaigns permanently, settle payments and bill snippet deliveries, which spends money and changes live state. The README example uses an API key, so treat it as a secret. Campaign and purchase data is sent to a third-party Swiss-hosted service; several payment options are described as stubs.

Installation

In SourceWeft

  1. Open Discovery in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.nexbid%2Fdiscovery/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "discovery": {
      "type": "http",
      "url": "https://mcp.nexbid.dev/mcp"
    }
  }
}

README

Protocol Commerce

The open infrastructure for agent-native commerce.

Protocol Commerce is an open initiative to create standardized, auditable, and interoperable protocols for AI agent-driven commerce. This repository contains the specification, SDKs, and technical manifesto.

Contents

DirectoryDescription
manifesto/Why open protocols matter for commerce — principles, landscape analysis, and rationale
adcp-spec/AdCP v0.1.0 — Agentic Discovery Commerce Protocol specification, JSON schemas, and examples
adcp-sdk-typescript/TypeScript SDK: types, validators, client, and scoring reference implementation
webmcp-reference/WebMCP browser integration: expose commerce tools to in-browser AI agents via navigator.modelContext
amdp-spec/AMDP v0.1.0 — Agent Mandate Discovery Protocol: cross-vertical authorization spec, JSON schemas, and example mandates
agentic-kit/Agentic Kit — the trust layer: building blocks for verifiable + auditable AI agents
lean-verification/Lean 4 formal verification — 47 theorems proving auction/budget/wallet/policy correctness, lake build-checkable

Quick Start

bash
npm install @protocol-commerce/adcp-sdk
typescript
import { AdcpClient } from '@protocol-commerce/adcp-sdk';
const client = new AdcpClient({  serverUrl: 'https://mcp.nexbid.dev',  apiKey: 'your-api-key',});
const results = await client.search({  query: 'organic olive oil',  intent: 'purchase',  geo: 'CH',});

The Problem

AI agents are becoming the primary interface for product discovery and purchase. The protocols powering this shift — OpenAI's ACP, Google's UCP — are proprietary and platform-controlled. Publishers have no representation. There is no open standard.

Protocol Commerce fills this gap.

Read the full Technical Manifesto →

Key Principles

  1. Open by Default — MIT-licensed, auditable, forkable
  2. Publisher Parity — Publishers are first-class protocol participants
  3. Privacy Native — Context signals, not user profiles
  4. Transparent Scoring — Public formula: score = 0.4×bid + 0.4×relevance + 0.2×quality

All 7 principles →

Reference Implementation: Nexbid

Nexbid is the production-grade reference implementation of Protocol Commerce, built by digital opua GmbH (CHE-435.289.702, Switzerland).

MetricStatus
MCP IntegrationNative — full commerce lifecycle
Formal VerificationLean 4 — core security properties proven
PrivacyCookie-free, Swiss-hosted, nDSG + GDPR compliant
AI ScoringMulti-provider, model-agnostic
PhaseProduction-grade closed beta

Connect Any LLM

json
{  "mcpServers": {    "nexbid": {      "url": "https://mcp.nexbid.dev/mcp",      "transport": "streamable-http"    }  }}

Any MCP-compatible LLM (Claude, GPT-4, Gemini) can directly search, browse, and purchase products through the Nexbid marketplace.

Why Formal Verification?

Nexbid is the only commerce platform whose core security properties are mathematically proven in Lean 4 — not just tested, but proven correct for all possible inputs.

→ Technology details · How Nexbid compares

Sponsors

SponsorRole
NexbidInitiator, reference implementation, initial maintainer

License

MIT — Use it, fork it, build on it. No strings attached.

Links

Source: README.md at commit fdc2929

Tools

19

nexbid_product

Product Details

<tool_description> Get detailed product information by ID from the Nexbid marketplace. Returns full product details including price, availability, description, and purchase link. </tool_description> <when_to_use> When you have a specific product UUID from a previous nexbid_search result. Do NOT use for browsing — use nexbid_search instead. </when_to_use> <combination_hints> Typically called after nexbid_search to get full details on a specific product. If user wants to buy → follow with nexbid_purchase. </combination_hints> <output_format> Full product details: name, description, price, currency, availability, brand, category, purchase link. </output_format>

Parametersagent_idproduct_idrequiredsession_id

nexbid_categories

Category Browser

<tool_description> List all available product categories in the Nexbid marketplace with product counts. Optionally filter by country. </tool_description> <when_to_use> When user wants to explore what is available before searching. Use BEFORE nexbid_search to help narrow down the query. </when_to_use> <combination_hints> nexbid_categories → nexbid_search with category filter for targeted results. Good starting point for browse intent. </combination_hints> <output_format> List of categories with product counts. Optionally filtered by country. </output_format>

Parametersgeo

nexbid_purchase

Purchase Product

<tool_description> Initiate a purchase for a product found via nexbid_search. Returns a checkout link that the user can click to complete the purchase at the retailer. The agent should present this link to the user for confirmation. </tool_description> <when_to_use> ONLY after user has expressed clear purchase intent for a specific product. Requires a product UUID from nexbid_search or nexbid_product. ALWAYS confirm with user before calling this tool. </when_to_use> <combination_hints> nexbid_search (purchase intent) → nexbid_purchase → present checkout link to user. After purchase → nexbid_order_status to check if completed. Use checkout_mode=wallet_pay when the user has a connected wallet with active mandate. </combination_hints> <output_format> For prefill_link (default): Checkout URL that the user clicks to complete purchase at the retailer. For wallet_pay: Intent ID and status for mandate-based authorization. Include product name and price for user confirmation. </output_format>

Parameterscart_idquantityline_itemsproduct_idcheckout_modecart_ttl_secondscart_total_max_centspublisher_content_id

nexbid_order_status

Order Status

<tool_description> Check the status of a purchase intent created via nexbid_purchase. </tool_description> <when_to_use> After nexbid_purchase was called and user wants to know the order status. Requires the intent_id UUID returned by nexbid_purchase. </when_to_use> <combination_hints> Always follows nexbid_purchase. No other tool needed after this. </combination_hints> <output_format> Current status (pending/completed/expired), checkout link if still active. </output_format>

Parametersintent_idrequired

list_products

List Products

<tool_description> Search for products in the Nexbid marketplace. Alias for nexbid_search with content_type='product'. </tool_description> <when_to_use> When an agent needs to discover products (not recipes or services). Convenience alias — delegates to nexbid_search internally. </when_to_use> <combination_hints> list_products → get_product for details → create_media_buy for advertising. For recipes/services use nexbid_search with content_type filter. </combination_hints> <output_format> Product list with name, price, availability, score, and link. </output_format>

Parametersgeobrandqueryrequiredcategorymax_resultsbudget_max_cents

get_product

Get Product Details

<tool_description> Get detailed product information by ID. Alias for nexbid_product. </tool_description> <when_to_use> When you have a product UUID from list_products or nexbid_search. </when_to_use> <combination_hints> list_products → get_product → create_media_buy or nexbid_purchase. </combination_hints> <output_format> Full product details: name, description, price, currency, availability, brand, category, link. </output_format>

Parametersproduct_idrequired

list_inventory

List Inventory Slots

<tool_description> List available publisher inventory slots for programmatic media buying. Returns ad slots with pricing, rules, and capacity info. </tool_description> <when_to_use> Before create_media_buy — discover which slots are available. Use to browse publisher ad inventory for campaign planning. </when_to_use> <combination_hints> list_inventory → get_inventory_item for slot details → create_media_buy to bid. Filter by publisher_id, slot_type, pricing_model, or geo for targeted results. </combination_hints> <output_format> Inventory slots with: name, type, floor price, pricing models, capacity, geo targets, status. </output_format>

Parametersgeoslot_typemax_resultspublisher_idpricing_model

get_inventory_item

Get Inventory Details

<tool_description> Get detailed information about a specific publisher inventory slot, including rules and active buy count. </tool_description> <when_to_use> After list_inventory to get full slot details before bidding. Check capacity (active buys vs max_concurrent) before create_media_buy. </when_to_use> <combination_hints> list_inventory → get_inventory_item → create_media_buy. Shows brand/category allowlists, blocklists, and current utilization. </combination_hints> <output_format> Full slot details with rules, pricing, capacity, and active buy count. </output_format>

Parametersinventory_idrequired

create_media_buy

Create Media Buy

<tool_description> Create a media buy (bid on publisher inventory). Validates rules, runs auction scoring, and returns approval/rejection status. AdCP-compatible first-price sealed-bid auction. </tool_description> <when_to_use> When an advertiser wants to place a bid on a publisher inventory slot. Requires inventory_id from list_inventory/get_inventory_item. ALWAYS confirm with user before calling — creates a binding commitment. </when_to_use> <combination_hints> list_inventory → get_inventory_item → create_media_buy → submit_creatives → activate. If rejected: check rejection_reason and adjust bid/brand/category. Score formula: 0.3*bid + 0.3*similarity + 0.2*quality + 0.2*context. </combination_hints> <output_format> Media buy ID, status (approved/rejected), auction score, rejection reason if applicable. </output_format>

Parametersbrandagent_idcategoryend_datebid_centsrequiredstart_datecampaign_idbudget_centsrequiredcreative_refinventory_idrequiredadvertiser_idrequiredagent_mandate+6 more

submit_creatives

Submit Creatives

<tool_description> Submit or update creative assets for an existing media buy. Required before activation. </tool_description> <when_to_use> After create_media_buy returns approved status. Upload creative before activating. </when_to_use> <combination_hints> create_media_buy (approved) → submit_creatives → activate. Creative types: banner, native, snippet, video, text. </combination_hints> <output_format> Updated media buy with creative info attached. </output_format>

Parameterscreative_refmedia_buy_idrequiredcreative_datacreative_typerequired

activate

Activate Campaign

<tool_description> Activate an approved media buy to start serving. Requires creative to be submitted first. </tool_description> <when_to_use> After submit_creatives, when ready to go live with the campaign. </when_to_use> <combination_hints> submit_creatives → activate → track_enriched_snippet (for enriched snippet buys). Can be paused later with pause, or cancelled with cancel. </combination_hints> <output_format> Activated media buy with won_at timestamp. </output_format>

Parametersmedia_buy_idrequired

pause

Pause Campaign

<tool_description> Pause an active media buy campaign. Can be reactivated later. </tool_description> <when_to_use> When an advertiser wants to temporarily stop a running campaign. Only works on active campaigns. </when_to_use> <combination_hints> activate → pause (temporary) or cancel (permanent). Paused campaigns can be reactivated with activate. </combination_hints> <output_format> Updated media buy with paused status. </output_format>

Parametersreasonmedia_buy_idrequired

cancel

Cancel Campaign

<tool_description> Cancel a media buy campaign. This is a terminal state — cannot be reactivated. </tool_description> <when_to_use> When an advertiser wants to permanently stop a campaign. Cannot be undone. Use pause for temporary stops. </when_to_use> <combination_hints> cancel is terminal. For temporary suspension use pause instead. Remaining budget is released. </combination_hints> <output_format> Updated media buy with cancelled status. </output_format>

Parametersreasonmedia_buy_idrequired

list_media_buys

List Media Buys

<tool_description> List media buys with optional filters. View campaign history for advertisers or publishers. </tool_description> <when_to_use> To view existing media buys (campaigns). Filter by advertiser, publisher, status, or date. </when_to_use> <combination_hints> list_media_buys → get_campaign_report for performance data. list_media_buys → get_compliance_status for compliance check. </combination_hints> <output_format> List of media buys with ID, status, bid, budget, spent, and dates. </output_format>

Parametersstatusdate_todate_frommax_resultspublisher_idadvertiser_id

get_campaign_report

Campaign Report

<tool_description> Get aggregated performance report for a media buy. Shows spend, impressions, clicks, conversions with time-series breakdown. </tool_description> <when_to_use> To check campaign performance metrics after activation. Supports period filtering and granularity control. </when_to_use> <combination_hints> list_media_buys → get_campaign_report for performance analysis. Pair with get_compliance_status for full campaign overview. </combination_hints> <output_format> Totals (spend, impressions, clicks, conversions) + time-series breakdown. </output_format>

Parametersperiodgranularitymedia_buy_idrequired

get_compliance_status

Compliance Status

<tool_description> Check nDSG/GDPR/EU AI Act compliance status for a media buy. Verifies privacy-native architecture compliance. </tool_description> <when_to_use> Before activating a campaign or for compliance audits. Checks: no cookies, no fingerprinting, contextual targeting, data residency, revenue transparency, consent basis, agent transparency. </when_to_use> <combination_hints> create_media_buy → get_compliance_status → activate (if compliant). Use for regulatory reporting and audit trails. </combination_hints> <output_format> Overall compliance status + individual check results with details. </output_format>

Parametersmedia_buy_idrequired

settle

Settle Payments

<tool_description> Settle pending payments for media buys. Supports manual CSV export, Stripe invoice (Phase 2 stub), and x402 micropayments (Phase 2 stub). </tool_description> <when_to_use> When a publisher wants to collect earned revenue or an advertiser needs to settle outstanding charges. Use method='manual' for CSV export. Stripe and x402 are stubs (Phase 2). </when_to_use> <combination_hints> get_campaign_report → settle (after verifying amounts). Filter by media_buy_id, publisher_id, or period. </combination_hints> <output_format> Settlement totals (gross, platform fee, net), entry count, and method-specific data (CSV for manual). </output_format>

Parametersmethodrequiredperiod_endmedia_buy_idperiod_startpublisher_id

track_enriched_snippet

Track Enriched Snippet

<tool_description> Track delivery of an enriched snippet and bill the advertiser. Creates a ledger entry and decrements the media buy budget. </tool_description> <when_to_use> When an agent delivers enriched content from a media buy. Each delivery is billed by snippet tier: - basic: 10¢, standard: 50¢, rich: 150¢, premium: 300¢ (CHF centimes). </when_to_use> <combination_hints> activate (enriched_snippet buy) → track_enriched_snippet per delivery. get_campaign_report shows cumulative tracking. </combination_hints> <output_format> Event ID, charged amount, platform fee, net payout, remaining budget. </output_format>

Parametersagent_iddata_fieldsrequiredmedia_buy_idrequiredsignals_usedsnippet_typerequiredbrand_content_id

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Nexbid integrations