Skip to main content
This page lists every model-visible tool on https://api.semicola.com/mcp/v3 (8 shared, 17 buyer, 20 seller). It is generated from the same contracts the server uses to validate calls, so field names and constraints here match what the server accepts.
tools/list is still the contract for your session. The tools you see depend on the active account (buyer, seller or organization), your role and feature availability. Tools marked P1 or P2 may not be listed yet.

How to read this page

  • Effect is read or write. Reads never change state and are always safe to retry.
  • Risk says what a write can touch. Durable writes change saved records; spend writes can commit budget; external writes contact a seller or buyer. In the app and in MCP hosts, risky writes pause for an explicit confirmation from the person you act for.
  • Opens widget names the MCP App the tool renders in hosts that support MCP Apps (_meta.ui.resourceUri). Hosts without MCP Apps receive the same data as structured content plus a text summary.
  • Input is flattened from the tool’s JSON Schema. Nested fields use dots (budget.total); items of an array of objects use [] (products[].productId). A nested field marked required is required only when its parent is sent. Some tools accept one of several forms; each form has its own table.
For failure shapes see Errors; for size and time bounds see Limits.

Shared tools

Available on every account, buyer or seller. Start every session here.

get

Read one object by kind and id, with optional includes. Use it to check on long operations you started. Input

get_delivery

Delivery report. Buyers use report “campaign_delivery”; sellers “seller_delivery”. Ranges ≤ 90 days or lifetime. Missing metrics are unavailable, never 0. Input The input is one of 2 forms. Send exactly one; fields from different forms do not mix. Form 1: report: "campaign_delivery" Form 2: report: "seller_delivery"

get_status

Where this account stands: active account and role, readiness, blockers, next actions and the other accounts you can switch to. Call first when unsure what to do. Input No arguments.

open_hello

Open the hello widget (reference widget used to check the widget host). Input

open_page

Open a page widget by name (activity, marketplace, …). Prefer the specific open_* tool when one exists. Input

save_ask

File a request with the team: support, product, supply, integration or commercial. One ask per call. Input Find objects, docs or spec pages by text and/or kind (advertiser, campaign, proposal, rfp, …). Needs query or kind. Input

switch_account

Switch the active account (a customerId from get_status, or “home”). Returns the new status. Input

Buyer tools

Listed when the active account is a buyer (advertiser or agency).

open_add_advertiser

Open the advertiser setup task (brand lookup, currency, countries, sandbox). Input

open_advertisers_page

Open the advertisers list. Use it for any request to see or pick advertisers. Input No arguments.

open_campaign_receipt

Open Review & go live for a draft campaign: plan, staged buys, budget, creative coverage and blockers. Input

open_campaigns_page

Open campaigns for the advertiser in scope, or one campaign workspace when campaignId is given. Input

open_connections_page

Open the sellers page. Use it for “where can I advertise” and any request to see or manage sellers. Input

open_creative_composer

Open the creative composer for a format (vertical_story, display_300x250, audio_30, video_reels), or resume a draft. Input

open_creative_library

Open the creative library for the advertiser in scope. Input

open_reporting

Open the reporting view for the advertiser or campaign in scope. Input

refine_proposal

Ask one seller to revise a proposal (keep or drop products, shift budget, new instructions). Returns the seller’s new version; the seller may decline parts. Input

request_proposals

Send the campaign brief to every eligible seller and collect proposals. Returns right away with an execution id; results stream into the proposals widget. One running execution per buyer. Input

save_advertiser

Create, update, archive an advertiser, or preview a brand with {resolveBrand: domain}. Confirm the primary currency before creating; it locks after the first campaign. Sandbox is fixed at creation. Missing fields come back as needs_input. Input The input is one of 4 forms. Send exactly one; fields from different forms do not mix. Form 1: with name, idempotencyKey Form 2: with advertiserId Form 3: with advertiserIds, isArchived Form 4: with resolveBrand

save_campaign

Create a DRAFT campaign or change one. Confirm currency and budget before creating. A brief or budget is not authority to spend: going live is two calls (desiredPhase “active”, then confirmLaunch with expectedRevision after the person approves). Input The input is one of 2 forms. Send exactly one; fields from different forms do not mix. Form 1: with advertiserId, name, idempotencyKey Form 2: with campaignId, expectedRevision

save_connection

Change how a seller is used: account-wide selection (DEFAULT, ALWAYS_INCLUDE, ALWAYS_EXCLUDE) or one advertiser activation. One intent per call. Input

save_creative

Create or update a creative from library assets and copy, attach it to campaigns, or archive it. Attaching reports format fit per campaign. Input

save_creative_session

Composer drafts: save_draft stores slot values (optimistic on expectedRevision); finalize_approved_output turns the draft into a library creative. Input The input is one of 4 forms. Send exactly one; fields from different forms do not mix. Form 1: operation: "save_draft" Form 2: operation: "finalize_approved_output" Form 3: operation: "select_output" Form 4: operation: "approve_output"

save_media_buy

Stage a draft media buy on the campaign from a proposal or a product selection, or archive a draft. Staging contacts no seller; nothing is booked until the campaign goes live. Input The input is one of 3 forms. Send exactly one; fields from different forms do not mix. Form 1: with fromProposalId, idempotencyKey Form 2: with campaignId, sellerId, products, idempotencyKey Form 3: isArchived: true

upload_creative_asset

Open the upload task so the person can add images, video or audio to the library. Input

Seller tools

Listed when the active account is a seller (a storefront).

decide_approval

Approve or reject a queued media buy or creative. Always asks the person to confirm. A short note on rejection helps the buyer fix and resubmit. Input

get_rfp_performance

RFP performance over a range: win rate, booked budget, average grade, response and acceptance rates, latency. Metrics with no inputs are unavailable, never 0. Input

open_approvals

Open approvals & operations: media buy approvals, creative reviews and failed forwards. Input

open_business_rules

Open AI Business Rules. Use it whenever the person wants to see or change what the storefront accepts or when a human reviews. Input No arguments.

open_demand_inbox

Open the demand inbox: metrics, starter briefs and the brief ledger. Input

open_library

Open the library: uploaded materials and extracted selling points. Input No arguments.

open_listing

Open the listing (branding & distribution) and the “How buyers see you” preview. Input No arguments.

open_media_buy_timeline

Open the timeline for one media buy: stages, timestamps and where it is stuck. Input

open_media_buys_page

Open every media buy on the storefront, most urgent first. Input

open_playbook

Open the playbook. Input No arguments.

open_proposal_pass

Open one RFP turn: request, decision, products, allocations and history. Input

open_seller_dashboard

Open the seller dashboard: RFP performance and delivery on your inventory. Input

open_seller_setup

Open “Get ready to sell”: readiness checks, inventory sources and demand coverage. Input

save_business_rules

Save and activate AI Business Rules: the acceptance policy (brief acceptance + creative policy), approval gates and listing disclosures. Saving activates a new version immediately. When both gates are automatic, acknowledgeNoHumanReview is required. Start conservative: no category is pre-cleared. Input

save_inventory_source

Connect or update an inventory source (external sales agent URL + auth, or the ad server). Credentials are write-only and never returned. Optionally runs a discovery test. Input

save_material

Teach the storefront agent from a media kit, rate card, deck, past RFP, note or URL. Extracted selling points come back with their evidence status. Input

save_playbook

Save the playbook: how the storefront agent pitches, packages and prices, plus pricing facts (hard floors, defaults, guidance). Saving activates a new version. Input

save_rfp

Work a brief: create a practice or manual RFP, append a revision turn (coach and re-run), record feedback, endorse, attach a response, or request a representation (html or json). Input The input is one of 8 forms. Send exactly one; fields from different forms do not mix. Form 1: action: "create" Form 2: action: "append_turn" Form 3: action: "record_feedback" Form 4: action: "endorse" Form 5: action: "unendorse" Form 6: action: "attach_response" Form 7: action: "request_representation" Form 8: action: "cancel_representation"

save_seller

Update the storefront identity, setup intent, capabilities and listing (description, channels, countries, links, marketplace participation). Input

save_wholesale_product

Create or update a wholesale product: channels, delivery type, format kinds and pricing options with floors. Input