mcpserver.lol
registry/agentic-commerce
Connection check verified live · 27h ago

agentic-commerce

MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.

Tools 63
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 27h ago

Tools & capabilities

63 tools

Read from the running server on 27h ago.

approve_exchange_token can modify data amount*configId*executionModesignerAddress*exchangeTokenAddress*
Grants ERC-20 allowance to the Boson Protocol contract. Must be called before commit_to_offer or deposit_funds when using non-native exchange tokens. Returns unsigned transaction d…
cancel_voucher can modify data configId*exchangeId*executionModesignerAddress*
Cancels a committed voucher. Caller must be the buyer (voucher holder). Buyer forfeits buyerCancellationPenalty; remainder is refunded. Returns unsigned transaction data.
commit_to_buyer_offer can modify data offerId*configId*royaltyInfoexecutionModesignerAddress*collectionIndex +1
Fulfils a buyer-initiated offer (creator='BUYER') by the seller. Caller must be the seller. Provide matching collateral. Returns unsigned transaction data.
commit_to_conditional_offer can modify data buyerofferId*tokenId*configId*executionModesignerAddress*
Commits to a token-gated (conditional) offer using a specific gating tokenId. Caller (signerAddress) must hold the gating token specified by the offer's condition. Use this instead…
commit_to_conditional_offer_and_redeem_voucher can modify data offerId*tokenId*configId*executionModesignerAddress*
Atomically commits to a token-gated (conditional) offer using a specific gating tokenId and immediately redeems the voucher in a single transaction. Buyer must hold the gating toke…
commit_to_offer can modify data buyerofferId*configId*executionModesignerAddress*
Commits to an offer, creating an exchange and minting a voucher NFT. Caller is the buyer (signerAddress) unless 'buyer' param is set. For ERC-20 offers, call approve_exchange_token…
commit_to_offer_and_redeem_voucher can modify data offerId*configId*executionModesignerAddress*
Atomically commits to an offer and immediately redeems the voucher in a single transaction via the OrchestrationHandler. Buyer (signerAddress) must already hold any required ERC-20…
complete_exchange can modify data configId*exchangeId*executionModesignerAddress*
Completes an exchange after the dispute period expires, releasing funds to the seller. Can be called by seller after dispute period or by buyer at any time post-redemption. Returns…
create_buyer can modify data configId*signerAddress*
Creates a buyer account for signerAddress. Required before a buyer can commit to seller-initiated offers for the first time. No prerequisites. Returns unsigned transaction data.
create_dispute_resolution_proposal read-only configId*exchangeId*signerAddress*buyerPercentBasisPoints*
Generates EIP-712 typed data for a mutual dispute resolution proposal. Both buyer and seller must sign the same buyerPercentBasisPoints value locally with their wallet (EIP-712) be…
create_offer can modify data price*agentIdcreatorconfigId*feeLimitpriceType +19
Creates a product offer. Caller must have a seller account (create_seller first). Prerequisite: store metadata first with store_product_v1_metadata or store_base_metadata to get me…
create_offer_and_commit can modify data price*agentIdbuyerId*creatorconfigId*feeLimit +27
Atomically creates a private offer and commits a specific buyer in one transaction. Prerequisite: call sign_full_offer, sign the returned typed data locally with your wallet (EIP-7…
create_offer_commit_and_redeem can modify data price*agentIdbuyerId*creatorconfigId*feeLimit +27
Atomically creates a private offer, commits a specific buyer, and immediately redeems the voucher in a single transaction via the OrchestrationHandler. Same prerequisites as create…
create_offer_with_condition can modify data price*agentIdcreatorconfigId*feeLimitcondition* +20
Creates an offer gated by token-ownership (e.g. hold an ERC-721 to commit). Same prerequisites as create_offer plus a condition object specifying the gate token, method, and thresh…
create_seller can modify data kind*nametype*imageswebsiteconfigId* +12
Creates a seller account on Boson Protocol. Required before creating any offers. signerAddress is automatically set as admin, assistant, and treasury. Provide seller metadata and r…
decide_dispute can modify data configId*exchangeId*buyerPercent*signerAddress*
Decides an escalated dispute. Caller must be the dispute resolver assigned to the offer's disputeResolverId. Specify buyerPercent in basis points (0=all to seller, 10000=all to buy…
deposit_funds can modify data amount*configId*entityId*tokenAddress*executionModesignerAddress*
Deposits ERC-20 or native tokens into an entity's protocol treasury (e.g. seller deposit). For ERC-20, call approve_exchange_token first. Returns unsigned transaction data.
escalate_dispute can modify data configId*exchangeId*executionModesignerAddress*
Escalates a stale dispute to the third-party dispute resolver. Caller must be the buyer. Resolver's escalation fee must be covered. Returns unsigned transaction data.
expire_dispute can modify data configId*exchangeId*signerAddress*
Marks a dispute as expired after its resolution period passes. Permissionless — anyone can call. Exchange must be in 'Disputed' state past its timeout. Returns unsigned transaction…
expire_dispute_batch can modify data configId*exchangeIds*signerAddress*
Marks multiple expired disputes in one transaction. All exchanges must be in 'Disputed' state past their respective timeouts. Permissionless. Returns unsigned transaction data.
expire_escalated_dispute can modify data configId*exchangeId*signerAddress*
Expires an escalated dispute once the resolver's response period passes without a decision. Permissionless — anyone can call. Returns unsigned transaction data.
extend_dispute_timeout can modify data configId*exchangeId*executionModesignerAddress*newDisputeTimeout*
Extends the deadline of an active dispute. Dispute must be in 'Resolving' state. Either party can call this. Returns unsigned transaction data.
get_all_products_with_not_voided_variants read-only configId*productsSkipproductsFirstproductsFilterproductsOrderByproductsOrderDirection
Reads product groupings with at least one non-voided variant from the Boson subgraph. Useful for storefront displays. Supports pagination and ordering. Read-only.
get_config_ids read-only
Returns all valid configId values for this server. Call first to discover which network/deployment to use. No auth required.
get_dispute_by_id read-only configId*disputeId*queryVars
Reads a single dispute by its ID (equals the exchangeId). Read-only. Returns: dispute entity with state, timeout, buyerPercent. Use get_disputes to search first.
get_dispute_resolvers read-only configId*disputeResolversSkipdisputeResolversFirstdisputeResolversFilterdisputeResolversOrderBydisputeResolversOrderDirection
Reads registered dispute resolver entities. Use this to find a valid disputeResolverId for create_offer. Read-only. Returns: array of resolvers with ID, fees, escalationResponsePer…
get_disputes read-only configId*disputesSkipdisputesFirstdisputesFilterdisputesOrderBydisputesOrderDirection
Reads dispute records from the Boson subgraph. Supports pagination, ordering, and filtering by buyer/seller/state. Read-only. Returns: array of dispute entities with exchangeId, st…
get_exchanges read-only configId*exchangesSkipexchangesFirstexchangesFilterexchangesOrderByexchangesOrderDirection
Reads exchange records (offer commitments) from the Boson subgraph. Filter by buyer/seller/state. Read-only. Returns: array of exchanges with offerId, state (Committed/Redeemed/Com…
get_funds read-only configId*fundsSkipfundsFirstfundsFilterfundsOrderByfundsOrderDirection
Reads treasury fund balances for sellers and buyers from the Boson subgraph. Supports pagination/ordering/filtering. Read-only — signerAddress not required. Returns: array of { tok…
get_offers read-only configId*offersSkipoffersFirstoffersFilterexchangesSkipoffersOrderBy +6
Reads offer listings from the Boson subgraph. Supports pagination, ordering, and filtering (e.g. by sellerId). Read-only. Returns: array of offers with price, deposit, dates, and q…
get_registered_agents read-only configId*
Returns all dACP agents registered with this MCP server instance, with their associated protocol entities and roles. No auth required.
get_sellers read-only configId*includeLogssellersSkipincludeFundssellersFirstincludeOffers +4
Reads seller account entities from the Boson subgraph. Optionally includes related offers, exchanges, funds, and logs. Read-only. Returns: array of seller entities with addresses a…
get_sellers_by_address read-only address*configId*includeLogssellersSkipincludeFundssellersFirst +5
Reads seller entities associated with a specific Ethereum address. Use this to check if signerAddress already has a seller account before calling create_seller. Read-only. Returns:…
get_supported_tokens read-only configId*
Returns ERC-20 tokens accepted as exchange tokens on the given configId deployment. Use returned addresses in exchangeTokenAddress fields of create_offer. Read-only. Returns: array…
raise_dispute can modify data configId*exchangeId*executionModesignerAddress*
Raises a dispute on a redeemed exchange. Caller must be the buyer. Must be called within disputePeriodDurationInMS after redemption. Returns unsigned transaction data.
redeem_voucher can modify data configId*exchangeId*executionModesignerAddress*
Redeems a voucher, signalling physical receipt of goods and starting the dispute period clock. Caller must be the buyer. After redemption, buyer has disputePeriodDurationInMS to ra…
refuse_escalated_dispute can modify data configId*exchangeId*signerAddress*
Dispute resolver refuses to decide an escalated dispute. Returns the escalation fee to the buyer and resets dispute to 'Resolving' state. Returns unsigned transaction data.
register_agent name*entities*description*
Registers a dACP agent with this MCP server instance, associating its Ethereum identities and roles. The signature proves control of each signerAddress. Server-local state — no con…
render_contractual_agreement read-only configId*template*offerData*offerMetadata*signerAddress*
Renders the legal contractual agreement text/HTML for an offer using its offer data and metadata. Use to preview or store the agreement. Returns: rendered agreement string.
resolve_dispute can modify data sigR*sigS*sigV*configId*exchangeId*executionMode +2
Resolves a dispute by mutual agreement. Workflow: (1) create_dispute_resolution_proposal generates typed data, (2) both parties sign the typed data locally with their wallet (EIP-7…
retract_dispute can modify data configId*exchangeId*executionModesignerAddress*
Retracts a raised dispute, releasing seller deposit and restoring completion flow. Caller must be the buyer who raised it. Returns unsigned transaction data.
revoke_voucher can modify data configId*exchangeId*executionModesignerAddress*
Revokes a committed (not yet redeemed) voucher on behalf of the seller, returning funds to the buyer. Caller must be the seller assistant. Returns unsigned transaction data.
search_products read-only configId*keywords*productsSkipproductsFirstproductsFilterproductsOrderBy +2
Searches products in the Boson subgraph by keywords matched against title, description, brand, category, and tags. Supports pagination, ordering, filtering, and an includeInvalidOf…
send_forwarded_meta_transaction can modify data request*configId*signature*signerAddress*contractAddress*domainSeparator*
Relays a Biconomy forwarded meta-transaction (ERC-20 gas payment). Requires a complete ERC20ForwardRequest and domain separator signature. Returns: relay transaction data.
send_meta_transaction can modify data sigR*sigS*sigV*nonce*configId*functionName* +2
Relays a pre-signed meta-transaction via Biconomy so the user pays no gas. Requires sigR/sigS/sigV from a locally-signed EIP-712 payload. Use when the target operation requires met…
send_native_meta_transaction can modify data sigR*sigS*sigV*configId*signerAddress*contractAddress* +1
Relays a native meta-transaction (EIP-712 signed function call) via Biconomy. Requires ABI-encoded function signature and sigR/sigS/sigV from a locally-signed EIP-712 payload. Retu…
send_signed_transaction can modify data configId*signedTransaction*
Broadcasts a signed raw Ethereum transaction to the network. signedTransaction must be 0x-prefixed RLP-encoded hex obtained from local wallet signing (e.g. ethers `wallet.signTrans…
sign_full_offer read-only price*agentIdbuyerId*creatorconfigId*feeLimit +26
Generates EIP-712 typed data for a non-listed (private) offer that the offer creator must sign. Call before create_offer_and_commit or void_non_listed_offer. Returns: typed data st…
sign_receive_with_dai_permit read-only value*expiry*spenderconfigId*signerAddress*tokenDomainName* +1
Generates EIP-712 typed data for a DAI-style Permit. Authorizes the spender (default: protocol diamond) to pull DAI-style tokens from signerAddress until `expiry`. Sign locally wit…
sign_receive_with_erc2612_permit read-only value*spenderconfigId*deadline*signerAddress*tokenDomainName* +2
Generates EIP-712 typed data for an EIP-2612 Permit. Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress until `deadline`. Sign locally with your…
sign_receive_with_erc3009_authorization read-only value*spenderconfigId*validAfter*validBefore*signerAddress* +3
Generates EIP-712 typed data for an ERC-3009 ReceiveWithAuthorization (e.g. USDC). Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress between val…
sign_receive_with_permit2 read-only value*spenderconfigId*deadline*permit2NoncesignerAddress* +2
Generates EIP-712 typed data for a Uniswap Permit2 PermitTransferFrom. Authorizes the spender (default: protocol diamond) to pull `value` from signerAddress until `deadline`. permi…
store_base_metadata name*type*imageconfigId*conditionimageData +8
Stores a Base metadata object to IPFS. Use for simple offers that don't require ProductV1 or Bundle structure. Returns: { metadataUri, metadataHash } for use in create_offer.
store_bundle_item_nft_metadata name*type*imagetermschainIdtokenId +16
Stores a single NFT bundle item's metadata to IPFS. Call once per NFT component in a bundle before store_bundle_metadata. Returns: { url: 'ipfs://...' } to include in the items arr…
store_bundle_item_product_v1_metadata type*uuid*product*configId*shipping*schemaUrl* +4
Stores a single ProductV1 bundle item's metadata to IPFS. Call once per physical product in a bundle before store_bundle_metadata. Returns: { url: 'ipfs://...' } to include in the…
store_bundle_metadata name*type*imageitems*seller*configId* +11
Stores a Bundle metadata object to IPFS. Prerequisite: call store_bundle_item_product_v1_metadata and/or store_bundle_item_nft_metadata first; include their returned URLs in the it…
store_product_v1_metadata name*type*uuid*image*seller*product* +15
Stores a ProductV1 metadata object to IPFS. Call before create_offer to get metadataUri and metadataHash. Returns: { metadataUri: 'ipfs://...', metadataHash: '0x...' }.
update_seller can modify data id*kind*nametype*imageswebsite +11
Updates an existing seller account. Caller must be the current seller admin (signerAddress). Use get_sellers_by_address to retrieve the seller id first. Returns unsigned transactio…
validate_metadata read-only metadata*
Validates a metadata object against the Boson Protocol schema (PRODUCT_V1, BUNDLE, BASE, etc.) without storing it. Use before store_*_metadata to catch errors early. Read-only. Ret…
void_non_listed_offer can modify data price*agentIdbuyerId*creatorconfigId*feeLimit +23
Voids a private (non-listed) offer before it is fulfilled. Prerequisite: call sign_full_offer and sign the returned typed data locally with your wallet (EIP-712) to obtain the sign…
void_non_listed_offer_batch can modify data configId*fullOffers*signerAddress*
Voids multiple private offers atomically. Same prerequisite as void_non_listed_offer, but for an array of full offer objects. Returns unsigned transaction data.
void_offer can modify data offerId*configId*executionModesignerAddress*
Voids a listed offer so it can no longer be committed to. Caller must be the seller assistant. Existing exchanges are unaffected. Returns unsigned transaction data.
withdraw_funds can modify data list*configId*entityId*executionModesignerAddress*
Withdraws funds from an entity's protocol treasury to the entity's treasury address. Sellers withdraw proceeds; buyers withdraw refunds. Caller must control the entity via signerAd…