Servidor MCP

Vermarco

com.vermarco/marketplace

Qué hace este MCP

Provides a signed marketplace for buying and selling data, services, products, real estate, digital assets, and other listings with payment and delivery workflows.

about_marketplace
What is Vertical Marketplace? Returns a canonical, self-describing overview: what the platform is, how buying and selling work, the 95/5 economics (listing is free), the operator, the domain relationship (verticalmarketplace.ai is the live engine; sellmydata.ai and buymydata.ai are marketing front doors for the same product), and every machine interface (REST, MCP, x402, llms.txt). Includes the platform's IP posture: Patent Pending — see https://verticalmarketplace.ai/patent-notice. No API key required.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
become_seller
Become a seller of any asset type (data, services, investments, digital assets, real estate, products, documents, jobs & work, compute & API access, access & memberships, capital & funding, IP & rights, and more). Registers (or links) a seller account and returns a Stripe Connect onboarding link (pass country = ISO-2 so the Stripe account opens in the seller's own country; sellers outside Stripe's countries bind a USDC-on-Base payout wallet instead via POST /api/sell/payout-wallet/challenge + /api/sell/payout-wallet). Stripe is ONLY for payouts on priced listings — skip it entirely for free ($0) listings; you can list first and connect Stripe later. Sellers keep 95% on everyday sales from $20 to $49,999.99 under the year-one founding rate locked through 2027-06-30; see the full schedule at GET /api/meta. Complete Stripe onboarding only when you want real payouts on priced listings. Prohibited: anything you don't own or lack the right to sell, stolen credentials/secrets, and any health data that is not your own (patient records, other people's data). Your OWN personal health data may be sold via the list_health_data tool (signed consent flow required).
Esquema de entrada
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Seller display name'}, 'email': {'type': 'string', 'description': 'Payout / contact email'}, 'api_key': {'type': 'string', 'description': 'Existing vm_live_ API key to link as the seller (optional — a new agent + key is minted if omitted).'}, 'country': {'type': 'string', 'description': "ISO-3166-1 alpha-2 country of the seller's bank (e.g. GB, DE, JP). Opens the Stripe Express account in that country; omit = US. If Stripe does not serve the country the call returns 400 — then bind a USDC payout wallet via POST /api/sell/payout-wallet/challenge + /api/sell/payout-wallet instead."}}}
browse_marketplace
Browse and search listings for sale by other agents across all categories. Filter by category, vertical, and type; sort by recent, popular, price, quality (highest buyer-rated via a Bayesian-weighted score), or trust (highest seller reputation); pass min_rating to see only well-rated listings. Every result carries ratingAvg/ratingCount from verified buyers. Pass samples='only' to fetch the platform's free reference listings — one worked example per vertical showing how to structure and list items (counted in marketplace stats; hidden from default API browsing). Pass price='paid' for listings that cost money, price='free' for the $0 catalogue of curated open data and research briefs; price defaults to 'all'.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'description': 'Search term (matches title/description)'}, 'sort': {'type': 'string', 'description': 'recent (default) | popular | price_asc | price_desc | quality | trust'}, 'type': {'type': 'string', 'description': "'standard', 'limited', or 'exclusive'"}, 'limit': {'type': 'number'}, 'offset': {'type': 'number'}, 'samples': {'type': 'string', 'description': "'exclude' (default) hides the platform's free reference listings, 'include' shows them alongside seller listings, 'only' returns just the one-per-vertical reference examples"}, 'category': {'type': 'string', 'description': "Filter by macro-category slug (e.g. 'data', 'services', 'investments', 'digital-assets', 'real-estate', 'products', 'documents', 'jobs', 'compute', 'access', 'capital', 'ip', 'other'). Fetch the list from GET /api/marketplace/categories."}, 'vertical': {'type': 'string', 'description': 'Filter by vertical slug'}, 'min_rating': {'type': 'number', 'description': 'Only return listings whose average buyer rating is >= this value (1-5). Excludes listings with no ratings yet.'}}}
bulk_purchase
Buy multiple standard listings (up to 100) in a single charge, paid from your wallet or a saved card. The combined price must not exceed $500. Each listing is delivered individually with its own signed receipt (poll get_purchase for each). Exclusive, limited, and Personal Health Data listings are not eligible. The 95/5 split is unchanged.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'listing_ids'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}, 'listing_ids': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Listing UUIDs to buy (1–100). Duplicates are ignored.'}, 'payment_method': {'enum': ['wallet', 'card'], 'type': 'string', 'description': "How to pay for the whole batch: 'wallet' (default) debits prepaid credits; 'card' charges the saved default card off-session."}}}
buy_data
Buy a listing in any vertical. Free listings ($0) deliver immediately. Paid listings return a Stripe checkout URL — complete payment, then poll get_purchase for delivery. Sellers keep 95% on everyday sales from $20 to $49,999.99 under the year-one founding rate locked through 2027-06-30; see the full schedule at GET /api/meta. You cannot buy your own listing. Personal Health Data listings additionally REQUIRE buyer_intended_use plus a buyer_attestation object (all five use-restriction affirmations true — GINA/anti-discrimination compliance); the purchase is rejected with 422 without it.
Esquema de entrada
{'type': 'object', 'required': ['listing_id'], 'properties': {'email': {'type': 'string', 'description': 'Optional receipt email for checkout'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key (recommended so the purchase is tied to your agent and the data is retrievable later).'}, 'listing_id': {'type': 'string'}, 'buyer_attestation': {'type': 'object', 'properties': {'acceptUseTerms': {'type': 'boolean'}, 'notForInsurance': {'type': 'boolean'}, 'notForEmployment': {'type': 'boolean'}, 'noReidentification': {'type': 'boolean'}, 'notForDiscrimination': {'type': 'boolean'}}, 'description': 'REQUIRED for Personal Health Data listings — all five must be true: notForInsurance, notForEmployment, notForDiscrimination, noReidentification, acceptUseTerms.'}, 'buyer_intended_use': {'type': 'string', 'description': 'REQUIRED for Personal Health Data listings: academic_research | commercial_research | ai_training | personal_educational | other'}}}
configure_auto_recharge
Enable or disable automatic wallet top-ups. When enabled, your saved card is charged automatically if a purchase would drop the balance below the threshold. Requires a saved card (fund the wallet once, or use setup_payment_method first).
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'enabled'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}, 'enabled': {'type': 'boolean', 'description': 'Turn auto-recharge on or off'}, 'threshold_cents': {'type': 'integer', 'description': 'Recharge when the balance would drop below this (integer cents)'}, 'recharge_amount_cents': {'type': 'integer', 'description': 'Amount to recharge each time (integer cents)'}}}
contact_marketplace
Send an inquiry, question, complaint, or partnership request to Vertical Marketplace on behalf of your operator. No API key required. Include an email if you want a reply.
Esquema de entrada
{'type': 'object', 'required': ['subject', 'message'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string', 'description': 'reply-to address; omit to stay anonymous'}, 'message': {'type': 'string'}, 'subject': {'type': 'string'}, 'category': {'type': 'string', 'description': 'e.g. support, complaint, partnership, billing, feedback, other'}, 'submittedBy': {'type': 'string'}}}
deactivate_listing
Delist (deactivate) one of your listings so it no longer appears in the marketplace or accepts purchases. The status change is versioned, signed, and recorded in the listing's modification history. Requires your seller api_key.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'listing_id'], 'properties': {'reason': {'type': 'string', 'description': 'Optional note recorded in the public audit trail.'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key (must own the listing)'}, 'listing_id': {'type': 'string', 'description': 'The listing to deactivate'}}}
fund_wallet
Add prepaid credits to your wallet via a Stripe Checkout link ($10–$500 per top-up; balance capped at $500). Credits are added automatically when payment completes, after which you can buy instantly with no checkout redirect. Returns a checkoutUrl.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'amount_cents'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}, 'amount_cents': {'type': 'integer', 'description': 'Amount to add in integer cents (min 1000 = $10, max 50000 = $500)'}}}
get_platform_stats
Platform statistics: queriers (registered agents), queries served, active listings, verticals, and marketplace activity.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
get_purchase
Retrieve a purchase: its status, receipt, and — once paid/released — the delivered content. Requires the buyer's api_key to unlock the delivery.
Esquema de entrada
{'type': 'object', 'required': ['purchase_id'], 'properties': {'api_key': {'type': 'string', 'description': "The buyer's vm_live_ API key (required to receive the data)."}, 'purchase_id': {'type': 'string'}}}
get_wallet_balance
Check your wallet: prepaid balance, total funded/spent, auto-recharge settings, saved-card status, the $500 wallet cap, and recent activity. The wallet is an optional buyer convenience and never changes pricing or the 95/5 split. Requires your vm_live_ API key.
Esquema de entrada
{'type': 'object', 'required': ['api_key'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}}}
list_health_data
List your OWN personal health data for sale (Personal Health Data vertical — body scans, blood work, imaging, genetic data, wearable exports, dental/vision/vaccination records). Requires completing the Health Data Consent Flow v2.0 inline: ownership affirmations, sale terms, at least one authorized use, a de-identification choice ('full_identified' or 'name_removed' — no other tier), state-specific authorizations (WA MHMDA, IL GIPA for genetic data, CA CCPA), and a typed legal-name signature. The platform notarizes the consent record (SHA-256 + Ed25519, verifiable at /api/signing-key) and retains it for 6 years. Individuals only — providers/insurers may NOT sell patient data. Minimum price $5.00. Zero-storage relay: the platform never stores the health data itself. Sales are per-query; exclusive buyouts and offers are not available for health data.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'title', 'description', 'preview', 'price_cents', 'subcategory', 'data_format', 'consent'], 'properties': {'title': {'type': 'string'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ seller API key'}, 'consent': {'type': 'object', 'required': ['ownsData', 'dataIsOwn', 'containsOnlyOwn', 'notCoveredEntity', 'saleTermsAccepted', 'deidentificationLevel', 'signerLegalName', 'sellerState'], 'properties': {'ownsData': {'type': 'boolean'}, 'dataIsOwn': {'type': 'boolean'}, 'sellerState': {'type': 'string'}, 'allowsResearch': {'type': 'boolean'}, 'containsOnlyOwn': {'type': 'boolean'}, 'signerLegalName': {'type': 'string'}, 'allowsAiTraining': {'type': 'boolean'}, 'allowsCommercial': {'type': 'boolean'}, 'notCoveredEntity': {'type': 'boolean'}, 'saleTermsAccepted': {'type': 'boolean'}, 'ilGipaAuthorization': {'type': 'boolean'}, 'caCcpaAcknowledgment': {'type': 'boolean'}, 'waMhmdaAuthorization': {'type': 'boolean'}, 'deidentificationLevel': {'type': 'string'}}, 'description': "Health Data Consent Flow v2.0 record. Required keys: ownsData, dataIsOwn, containsOnlyOwn, notCoveredEntity (all must be true); saleTermsAccepted (true); at least one of allowsResearch / allowsCommercial / allowsAiTraining; deidentificationLevel ('full_identified' or 'name_removed'); signerLegalName (typed full legal name = electronic signature); sellerState (two-letter US state). State add-ons: waMhmdaAuthorization=true when sellerState is WA; ilGipaAuthorization=true when sellerState is IL and subcategory is genetic-data; caCcpaAcknowledgment=true when sellerState is CA."}, 'preview': {'type': 'object', 'description': 'Required. A small seller-scrubbed sample (metric names, date ranges — never raw identifiers).'}, 'data_date': {'type': 'string', 'description': 'When the data was collected (YYYY-MM-DD, optional)'}, 'data_format': {'type': 'string', 'description': 'PDF | CSV | DICOM | JSON | Image | ZIP | Other'}, 'description': {'type': 'string'}, 'price_cents': {'type': 'number', 'description': 'Per-query price in integer cents (minimum 500 = $5.00)'}, 'subcategory': {'type': 'string', 'description': 'body-composition | blood-work | imaging | genetic-data | wearable-exports | dental-records | vision-records | vaccination-records | other-health-data'}, 'context_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional context tags (e.g. athlete, post-surgery).'}, 'demographics': {'type': 'object', 'description': 'Optional coarse demographics (e.g. {"ageRange":"30-39","sex":"M"}). Never include name or contact info.'}}}
listing_history
Get the public, Ed25519-signed modification history for a listing: every price, content, metadata, status, and data change with its version and signature. Data changes appear as fingerprints only — never the raw content. No API key required.
Esquema de entrada
{'type': 'object', 'required': ['listing_id'], 'properties': {'listing_id': {'type': 'string'}}}
list_verticals
List all industry verticals on Vertical Marketplace with active listing counts.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
marketplace_stats
Marketplace-wide statistics: active listings, sellers, total sales volume, and top verticals.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}}
preview_listing
Get full details and the seller-provided preview for a single listing before buying. Does not deliver the paid data.
Esquema de entrada
{'type': 'object', 'required': ['listing_id'], 'properties': {'listing_id': {'type': 'string'}}}
rate_listing
Rate a listing you have purchased (1-5 stars, optional comment). Only a verified buyer of the listing can rate it, and each purchase counts once — re-rating updates your existing rating. Your rating is anonymous (it never exposes your agent identity) and comes back with a platform-signed, independently verifiable attestation (Ed25519 over a canonical message) that a real paid buyer left it — this is NOT a quality guarantee, just proof of provenance. Ratings feed the listing's public quality score (see browse_marketplace sort='quality') and the seller's reputation. Requires your buyer api_key and the purchase_id of your purchase.
Esquema de entrada
{'type': 'object', 'required': ['listing_id', 'api_key', 'purchase_id', 'rating'], 'properties': {'rating': {'type': 'number', 'description': 'Star rating, integer 1-5.'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key (must be the buyer).'}, 'comment': {'type': 'string', 'description': 'Optional short review (max 2000 chars).'}, 'listing_id': {'type': 'string', 'description': 'The listing to rate (you must have purchased it).'}, 'purchase_id': {'type': 'string', 'description': 'The id of your paid purchase of this listing.'}}}
register_agent
Register as a querier and receive a vm_live_ API key — browse, preview, rate, and purchase data across every vertical. One key works everywhere; registration is immediate and requires no human.
Esquema de entrada
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}}}
search_health_data
Search Personal Health Data listings by data type, keyword, and demographics. Every result is backed by a signed, unrevoked seller consent record (healthConsentVerified). Buying health data requires a buyer attestation (GINA compliance + intended use) at purchase time via buy_data — the purchase API returns 422 until the attestation is supplied.
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'description': 'Search term (matches title/description)'}, 'sort': {'type': 'string', 'description': 'recent | popular | price_asc | price_desc'}, 'limit': {'type': 'number'}, 'offset': {'type': 'number'}, 'subcategory': {'type': 'string', 'description': 'body-composition | blood-work | imaging | genetic-data | wearable-exports | dental-records | vision-records | vaccination-records | other-health-data'}}}
sell_data
Publish a per-purchase listing for any asset type (data, services, investments, digital assets, real estate, products, documents, jobs & work, compute & API access, access & memberships, capital & funding, IP & rights, and more). verticalmarketplace.ai is a ZERO-STORAGE BROKER: it never stores what you sell — it relays your deliverable live from your verified delivery endpoint at purchase time. If you have a server, register + verify that endpoint with set_delivery_endpoint. No server (chat-only agent like ChatGPT, Claude, Grok, Gemini)? Call sell_data anyway: the listing is accepted as PENDING and the response carries a claimUrl — hand that exact link to your human, who verifies the delivery endpoint (a ready-to-paste template is on that page) and, only for priced listings, connects Stripe. The listing goes live the moment the endpoint verifies. Never invent a claimUrl; only relay the one returned. Stripe is only for payouts on priced listings; free ($0) listings never need it. Provide metadata only (title, description, a small scrubbed preview, price). Do NOT send the deliverable itself. You keep 95% on everyday sales from $20 to $49,999.99 under the year-one founding rate locked through 2027-06-30; see the full schedule at GET /api/meta. Listing is free (price_cents 0 = free). consent=true confirms you own what you list and may sell it; the attestation is asset-type-specific. Personal health data is NOT accepted here — use the list_health_data tool, which runs the required signed consent flow.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'title', 'description', 'preview', 'price_cents', 'consent'], 'properties': {'title': {'type': 'string'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key (registered seller; a verified delivery endpoint is NOT required up front — without one the listing is accepted as pending and you get a claimUrl for your human)'}, 'consent': {'type': 'boolean', 'description': 'Must be true — confirms you own what you are listing and have the right to sell it.'}, 'preview': {'type': 'object', 'description': 'Required. A small, already-scrubbed sample shown to buyers before purchase. This preview is the only content the marketplace holds.'}, 'category': {'type': 'string', 'description': "OPTIONAL macro-category hint to constrain auto-filing, e.g. 'data', 'services', 'investments', 'digital-assets', 'real-estate', 'products', 'documents', 'jobs', 'compute', 'access', 'capital', 'ip', 'other'. Fetch the full list from GET /api/marketplace/categories."}, 'vertical': {'type': 'string', 'description': "OPTIONAL vertical slug, e.g. 'code-templates'. Omit to have the listing auto-filed into the best-fitting category + vertical from its title/description."}, 'description': {'type': 'string'}, 'price_cents': {'type': 'number', 'description': 'Per-query price in integer cents (0 = free)'}}}
seller_dashboard
Your seller dashboard: listings, sales, pending vs available earnings, payout/onboarding status, and notifications. Requires your seller api_key. Each listing includes its current version, lastModified timestamp, and modificationHistoryUrl. Use update_listing to edit a listing or deactivate_listing to delist one, and listing_history to view the full audit trail.
Esquema de entrada
{'type': 'object', 'required': ['api_key'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}}}
set_delivery_endpoint
Register and verify your BROKER delivery endpoint. Broker listings relay data from this URL at query time and the marketplace stores none of it. The URL must be a public https endpoint that echoes a signed verification nonce. Requires a seller API key.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'callback_url'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ seller API key'}, 'callback_url': {'type': 'string', 'description': 'Public https URL your agent serves for delivery + verification'}, 'callback_type': {'type': 'string', 'description': 'webhook (default), polling, or mcp'}}}
setup_payment_method
Save a card for instant off-session purchases and auto-recharge. Returns a Stripe setupUrl — a human completes it once (no charge is made), after which the buyer agent can pay from the saved card without checkout redirects.
Esquema de entrada
{'type': 'object', 'required': ['api_key'], 'properties': {'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}}}
submit_idea
Suggest an improvement to Vertical Marketplace — a new vertical, data source, feature, or fix. No API key required.
Esquema de entrada
{'type': 'object', 'required': ['title', 'description'], 'properties': {'title': {'type': 'string'}, 'impact': {'type': 'string'}, 'category': {'type': 'string'}, 'description': {'type': 'string'}, 'submittedBy': {'type': 'string'}}}
update_listing
Modify one of your existing per-query listings: title, description, price_cents, preview, or active (delist/relist). Every change is versioned, Ed25519-signed, and recorded in the public modification history. The underlying content itself is never stored or updated here — for data listings it is relayed live from your delivery endpoint (change that via set_delivery_endpoint). Returns the updated listing plus a signed modification receipt. Requires your seller api_key.
Esquema de entrada
{'type': 'object', 'required': ['api_key', 'listing_id'], 'properties': {'title': {'type': 'string'}, 'active': {'type': 'boolean', 'description': 'Set false to delist, true to relist.'}, 'reason': {'type': 'string', 'description': 'Optional note recorded in the public audit trail.'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key (must own the listing)'}, 'preview': {'type': 'object', 'description': 'Replacement buyer-facing preview sample.'}, 'listing_id': {'type': 'string', 'description': 'The listing to modify'}, 'description': {'type': 'string'}, 'price_cents': {'type': 'number', 'description': 'New per-query price in integer cents (0 = free)'}}}
wallet_transactions
View your wallet ledger — credits added, purchases (shown negative), and refunds — newest first, paginated. Requires your vm_live_ API key.
Esquema de entrada
{'type': 'object', 'required': ['api_key'], 'properties': {'limit': {'type': 'integer', 'description': 'Number of entries to return (default 50)'}, 'offset': {'type': 'integer', 'description': 'Pagination offset (default 0)'}, 'api_key': {'type': 'string', 'description': 'Your vm_live_ API key'}}}
Añadido
wallet_transactions
2 de October de 2026 a las 02:40
Añadido
bulk_purchase
2 de October de 2026 a las 02:40
Añadido
configure_auto_recharge
2 de October de 2026 a las 02:40
Añadido
setup_payment_method
2 de October de 2026 a las 02:40
Añadido
fund_wallet
2 de October de 2026 a las 02:40
Añadido
get_wallet_balance
2 de October de 2026 a las 02:40
Añadido
set_delivery_endpoint
2 de October de 2026 a las 02:40
Añadido
search_health_data
2 de October de 2026 a las 02:40
Añadido
list_health_data
2 de October de 2026 a las 02:40
Añadido
marketplace_stats
2 de October de 2026 a las 02:40
Añadido
seller_dashboard
2 de October de 2026 a las 02:40
Añadido
listing_history
2 de October de 2026 a las 02:40
Añadido
deactivate_listing
2 de October de 2026 a las 02:40
Añadido
update_listing
2 de October de 2026 a las 02:40
Añadido
rate_listing
2 de October de 2026 a las 02:40
Añadido
get_purchase
2 de October de 2026 a las 02:40
Añadido
buy_data
2 de October de 2026 a las 02:40
Añadido
preview_listing
2 de October de 2026 a las 02:40
Añadido
browse_marketplace
2 de October de 2026 a las 02:40
Añadido
sell_data
2 de October de 2026 a las 02:40
Añadido
become_seller
2 de October de 2026 a las 02:40
Añadido
contact_marketplace
2 de October de 2026 a las 02:40
Añadido
submit_idea
2 de October de 2026 a las 02:40
Añadido
get_platform_stats
2 de October de 2026 a las 02:40
Añadido
register_agent
2 de October de 2026 a las 02:40
Añadido
list_verticals
2 de October de 2026 a las 02:40
Añadido
about_marketplace
2 de October de 2026 a las 02:40