docs
Get startedTroubleshootingPaymentsWebhooksAgent paymentsSwop MCPOviIdentity (swop.id)SwivyRPC (preview)API reference
Tool reference

SmartSite & feed

Edit the user’s SmartSite and publish to their feed.

5 tools. Generated from the Swop MCP server’s own tools/list (server version 0.2.2), so names, inputs and limits match what your client sees.

swop_get_my_smartsite

See my SmartSite · Sign-in: smartsite.write · /mcp and /mcp/commerce · Read-only

Get the linked account's current SmartSite so you can see it BEFORE editing: name, bio, appearance (background/theme), the links already on it (icons, buttons, info bars, with their item ids for removal), product tiles, and a viewUrl to preview it. ALWAYS call this before adding or changing things so edits stay additive.

InputTypeRequiredDescription
smartsiteIdstringNoSpecific SmartSite id (default: primary)

swop_update_my_smartsite

Edit my SmartSite (name, bio, background) · Sign-in: smartsite.write · /mcp and /mcp/commerce

Edit the linked account's SmartSite: display name, bio, and appearance (background color, a gradient of hex stops, a background image URL, theme/font color, font family, or header layout). Pass only what you want to change. For adding links/buttons/info bars use swop_add_link; for products use swop_create_product / swop_feature_product.

InputTypeRequiredDescription
namestringNoNew display name (max length 80)
biostringNoNew bio text (max length 500)
backgroundColorstringNoSolid background hex, e.g. "#0b0b0f"
backgroundGradientarray of stringNoGradient hex stops, e.g. ["#5b3df5","#0b0b0f"] (clears the solid color) (max items 8)
backgroundImgstringNoBackground/wallpaper image URL (format uri)
themeColorstringNoAccent/theme hex color
fontColorstringNoPrimary font hex color
fontFamilystringNoFont family name
headerFormat"centered" | "left" | "cover" | "hero" | "orbit" | "card" | "bar"NoHeader layout style
smartsiteIdstringNoSpecific SmartSite id (default: primary)

Add a link to my SmartSite · Sign-in: smartsite.write · /mcp and /mcp/commerce

Add a link to the linked account's SmartSite, with smart placement. TWO STEPS: (1) call with just the url — the tool detects what kind of link it is (payment like Venmo/PayPal/Cash App, social, contact, website) and returns a recommendation with a text preview of each layout: a small ICON in the icon row, a link BUTTON tile, or a full-width INFOBAR call-to-action card. Show the user the message + previews and ask which they want. (2) call again with the same url plus displayAs = 'icon' | 'button' | 'infobar' to place it. You can override title / buttonName / description / style ('solid' | 'glass') for an info bar. Returns a viewUrl to preview the result.

InputTypeRequiredDescription
urlstringYesThe link to add (any URL, or mailto:/tel:)
displayAs"icon" | "button" | "infobar"NoOmit first to get a placement suggestion; then set to place it
titlestringNoOverride the label/title (max length 120)
buttonNamestringNoInfo-bar button text (e.g. "Pay", "Book") (max length 40)
descriptionstringNoInfo-bar description line (max length 300)
style"solid" | "glass"NoInfo-bar card style (default solid)
smartsiteIdstringNoSpecific SmartSite id (default: primary)

Remove a SmartSite link · Sign-in: smartsite.write · /mcp and /mcp/commerce · Changes or moves things

Remove a link/icon/info-bar/product tile from the SmartSite. Get the item's id and contentType from swop_get_my_smartsite (icons → 'socialTop', buttons → 'socialLarge', info bars → 'infoBar', product tiles → 'marketPlace'). Confirm with the user first.

InputTypeRequiredDescription
contentType"socialTop" | "socialLarge" | "infoBar" | "marketPlace"YesThe kind of item to remove
itemIdstringYesThe item id from swop_get_my_smartsite
smartsiteIdstringNoSpecific SmartSite id (default: primary)

swop_create_feed_post

Post to my Swop feed · Sign-in: smartsite.write · /mcp and /mcp/commerce · Preview, then confirm

Publish a PUBLIC post to the Swop feed as the linked account's SmartSite: a caption plus up to 4 images. Each image may be an https URL, a data:image/...;base64 URI, or bare base64 (PNG/JPEG/GIF/WebP, max 5 MB; keep inline images under ~3 MB total so the request fits). TWO-STEP like swop_send: call WITHOUT confirm to get a preview — Swop hosts the images and returns who it posts as, the exact caption, the hosted image URLs and a previewId. Show the user that exact caption and every image and get an explicit yes. Then call again with the SAME caption and smartsiteId, the images array exactly as the preview returned it, the previewId, and confirm: true. Any change after the preview is refused — preview again. Each preview publishes at most once: re-confirming it returns the same post (duplicate: true). Never confirm before the user has seen the preview.

InputTypeRequiredDescription
captionstringNoPost text. Hashtags and @handle.swop.id mentions work as in the app (max length 2000)
imagesarray of stringNoImages: https URLs, data:image/...;base64 URIs, or base64. On confirm, pass the hosted URLs from the preview (max items 4)
smartsiteIdstringNoPost as this SmartSite (default: primary). Ids from swop_get_my_profile
previewIdstringNoFrom the preview step
confirmbooleanNotrue ONLY after the user explicitly approved the preview

On this page