Ecommerce

Sharetribe MCP Server

Connect your account, then chat with AI to run tools.

Sharetribe is a hosted marketplace platform. Use the Integration API to manage marketplace users, listings, transactions, availability, stock, and the audit event stream as the operator. Server-to-server only — there is no end-user Sign-in flow on this surface.

Managed
21 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Sharetribe — workflow patterns, data models, and gotchas for your AI agent.

Sharetribe

Operator-level surface for a Sharetribe marketplace. Every tool runs as the marketplace operator across the entire tenancy — there is no per-user scoping at this level. Users sign up via the marketplace front-end (Marketplace API), not through this surface; create-user is intentionally absent because Sharetribe does not expose it on the Integration API.

Resource hierarchy

  • Marketplace — the tenancy. One per credential pair. Carries name, description, currency.
  • Users — accounts on the marketplace. State is active, pendingApproval, banned, or deleted. Each user has a permission set controlling whether they can post listings, initiate transactions, and read marketplace content.
  • Listings — offers (products / services / bookable assets). State is draft, pendingApproval, published, or closed. Listings carry a price Money object (amount in minor units + ISO 4217 currency), an availabilityPlan for time-based bookings, and free-form publicData / privateData / metadata extended-data objects.
  • Transactions — purchases or bookings against a listing. Each transaction runs a transaction process (e.g. default-booking/release-1) which defines the allowed states and transitions. A transaction's lastTransition tells you where it is in the process.
  • Availability exceptions — per-listing overrides on top of the listing's availabilityPlan. Block out holidays with seats=0; add extra capacity with seats>=1.
  • Stock — per-listing inventory for purchase processes. Two write surfaces: set_stock is compare-and-set (race-safe); create_stock_adjustment is unconditional signed delta.
  • Stock reservations — read-only allocations created automatically by purchase-process transactions during checkout.
  • Events — append-only audit log of every mutation across the tenancy.

Pattern: combined get_* tools

Read tools that target a list-able resource accept an optional id:

  • No id → query the collection with page + per_page (default 25, max 100), plus resource-specific filters.
  • With id → fetch the single entity. The same include (JSON:API side-load) applies on both branches.

include accepts a comma-separated string or a list — both "author,images" and ["author","images"] work.

Pattern: combined upsert_listing

sharetribe_upsert_listing selects POST listings/create (no id) vs POST listings/update (with id) automatically. On create, title and authorId are required and state must be published or pendingApproval. On update, every field is a partial overwrite; extended-data objects merge at the top level and top-level null keys are removed.

Money objects

Sharetribe represents money as {amount: <integer>, currency: <ISO 4217>}. Amount is in minor units{amount: 1590, currency: "USD"} is $15.90, not $1,590. Always pass minor units when creating or updating prices, and always interpret returned amounts as minor units.

Pagination semantics

Sharetribe pagination is integer page (1-indexed) plus perPage, NOT an opaque cursor token. The wrapper normalizes list responses to {items, page, per_page, total, total_pages, has_more, next_page, included} so callers can iterate without parsing meta themselves.

The events stream is the exception: it advertises paginationUnsupported: true and returns total: null / total_pages: null / has_more: null. Walk it with createdAtStart + createdAtEnd windows or with the startAfterSequenceId forward cursor.

Transaction transitions

Transactions are state machines. To move a transaction along its process, call sharetribe_transition_transaction with the transaction id and the transition name (e.g. transition/accept, transition/cancel, transition/mark-delivered). The transition's params shape depends on the process definition — consult the marketplace's transaction process. Set speculative=true to validate a transition and produce the resulting transaction shape WITHOUT committing; useful for previewing line-item math before charging.

State-transition operations on listings and users

  • sharetribe_close_listing / sharetribe_open_listing — hide / un-hide a listing without deleting. Reversible.
  • sharetribe_approve_listing — only relevant when the marketplace requires operator approval; otherwise listings reach published on create.
  • sharetribe_approve_user — moves a user from pendingApproval to active.
  • sharetribe_update_user_permissions — operator-level allow/deny on postListings, initiateTransactions, read. Effect is immediate.

Operational order

  1. Confirm the marketplace tenancy answers (get_marketplace) before anything credential-sensitive.
  2. Discover the relevant author when working with listings — get_users first, capture the user id, then create / query listings filtered by authorId.
  3. For booking flows, confirm the listing's availabilityPlan and any availability_exceptions in the booking window before transitioning a transaction.
  4. For purchase flows, check current stock with get_listings (include=currentStock) before transitioning; use set_stock (CAS) for absolute updates and create_stock_adjustment for incremental deltas.
  5. Use get_events as the canonical audit source after any operator mutation — events surface what actually happened upstream, not what the API call appeared to do.

Gotchas

  • No user create. Sharetribe Integration API does not expose users/create; users sign up via the Marketplace API / front-end. Tools assume the user already exists.
  • No image upload on this surface. The Integration API has no image upload endpoint. To attach images to a listing, the image UUIDs must come from the Marketplace API or the Sharetribe Console; images: [<uuid>, ...] on upsert_listing references them by id.
  • No user delete on this surface either. No users/delete endpoint exists on the Integration API. User deletion is a marketplace-admin-console operation. To soft-disable a user from the Integration API, use update_user_permissions to deny postListings / initiateTransactions / read.
  • Transitions can be permission-gated. Some processes restrict certain transitions to specific actors (customer-only, provider-only). Operator transitions go through unconditionally; if you see an upstream permission/denied error, the process definition is gating the transition rather than auth failing.
  • expand=true is on by default for every write tool — the response is the full updated entity, not just the id. Set expand=false to opt into a smaller response.
  • Closed-listing edits. A closed listing can still be updated (upsert_listing with id) but will not become visible until open_listing is called.
  • Events are returned OLDEST-FIRST. get_events page 1 is the oldest events on the marketplace, not the newest. There is no descending sort. To answer "most recent N events", pass createdAtStart=<recent ISO timestamp> to narrow the window, or walk the stream with startAfterSequenceId until exhausted and read the tail. Do NOT call page-1 results "the most recent".
  • set_stock is CAS-only — oldTotal is REQUIRED. Sharetribe rejects compare_and_set calls without oldTotal. Read current stock first via get_listings(id=<listing>, include='currentStock') and pass that value as oldTotal. If you don't have the current value or don't want a race-safe write, use create_stock_adjustment with a signed quantity instead — that endpoint is unconditional and incremental.
  • All time-window arguments require explicit timezone. ISO-8601 timestamps passed to availability tools, stock-adjustment queries, transaction filters, and event windows MUST include a Z suffix or full UTC offset (e.g. +01:00). Naive timestamps are rejected with HTTP 400. When converting local times, account for DST yourself — UK in May is BST (UTC+1), so 9am UK = 08:00:00Z.

Tools in this Server (21)

Sharetribe Approve Listing

Approve a listing whose state is 'pendingApproval'. Requires id. Only relevant when the marketplace requires operator approval before listings go live...

Sharetribe Approve User

Approve a marketplace user whose state is pendingApproval. Requires id. Idempotent on a terminal state (already-approved users surface an upstream err...

Sharetribe Close Listing

Close a listing — hides it from search results and prevents new transactions, without deleting. Requires id. The listing's state moves to 'closed'. Re...

Sharetribe Create Availability Exception

Create an availability exception on a listing: a time range with a seat count that overrides the listing's availabilityPlan for that window. Use seats...

Sharetribe Create Stock Adjustment

Create a signed delta against a listing's stock total. Requires listingId and quantity (positive to add, negative to remove). Unlike sharetribe_set_st...

Sharetribe Delete Availability Exception

Delete an availability exception by id. Removes the override and restores the listing's default availabilityPlan for that window. Idempotent: deleting...

Sharetribe Get Availability Exceptions

Get availability exceptions for a single listing within a time window. Requires listingId, start, end (ISO-8601 timestamps; the window must be within ...

Sharetribe Get Events

Get marketplace events from the audit stream. ORDERING: events are returned OLDEST-FIRST by sequenceId — page 1 is the oldest events on the marketplac...

Sharetribe Get Listings

Get marketplace listings. With no id, returns a paginated list (page+per_page, 25/100 default/max). With id, fetches a single listing. include is comm...

Sharetribe Get Marketplace

Get the Sharetribe marketplace tenancy: id, name, description. Zero-arg, zero-cost. Use as a sanity check that the bound Integration API client_id + c...

Sharetribe Get Stock Adjustments

Get the stock-adjustment audit trail for a listing within a time window. Requires listingId, start, end (ISO-8601). Each adjustment carries quantity (...

Sharetribe Get Stock Reservation

Get a single stock reservation by id. Reservations are created automatically by purchase-process transactions to hold stock during checkout and are re...

Sharetribe Get Transactions

Get marketplace transactions. With no id, returns a paginated list (page+per_page, 25/100 default/max). With id, fetches a single transaction. include...

Sharetribe Get Users

Get marketplace users. With no id, returns a paginated list (page+per_page, 25/100 default/max). With id, fetches a single user. The include parameter...

Sharetribe Open Listing

Open a closed listing — moves state back to 'published' and makes it visible in search again. Requires id.

Sharetribe Set Stock

Compare-and-set the absolute stock total for a listing. ALL THREE of listingId, oldTotal, and total are required by Sharetribe — there is no force-set...

Sharetribe Transition Transaction

Apply a process transition to a transaction as the operator. Requires id and transition (e.g. 'transition/accept', 'transition/cancel', 'transition/ma...

Sharetribe Update Transaction Metadata

Update a transaction's metadata object (top-level merge). Requires id and metadata. metadata is operator-only key/value data — it is NOT visible to cu...

Sharetribe Update User Permissions

Set per-user permissions on the marketplace. Requires id and at least one of postListings / initiateTransactions / read. Each value is 'permission/all...

Sharetribe Update User Profile

Update a marketplace user's profile and extended data. Requires id. firstName / lastName / displayName / bio are optional string overrides; passing nu...

Sharetribe Upsert Listing

Create or update a marketplace listing. Without id: POST create — title and authorId are required, state must be one of 'published' or 'pendingApprova...

Frequently Asked Questions

What is the Sharetribe MCP server?

Sharetribe is a hosted marketplace platform. Use the Integration API to manage marketplace users, listings, transactions, availability, stock, and the audit event stream as the operator. Server-to-server only — there is no end-user Sign-in flow on this surface. It provides 21 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Sharetribe to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/sharetribe. Authentication is handled automatically.

How many tools does Sharetribe provide?

Sharetribe provides 21 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Sharetribe require?

Sharetribe uses API Key. Sharetribe requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Sharetribe to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/sharetribe

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Sharetribe and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Sharetribe will appear under Not connected — select it and click Connect to complete OAuth.
Name: Sharetribe
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/sharetribe
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Sharetribe?

Sign in to connect your credentials and start running tools from the chat.