Odel
Partle

Partle

@rubenayla1PythonApache-2.0Updated 1w ago

Search products in nearby stores. Agents can also list items for sale on a user's behalf.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Partle Marketplace MCP Server

Verified on MseeP

Model Context Protocol server for the Partle marketplace — let your AI shop here: search products and stores, get prices and purchase links, or ask it to add a listing for you, all without leaving your assistant.

Live product and store coverage is available through the get_stats tool. Public catalogue reads need no auth. Writes and private inventory reads need OAuth or a pk_… API key.

Two ways to run it

Remote (recommended — zero setup)

Point your MCP client at:

https://partle.rubenayla.xyz/mcp/

That's it. Streamable HTTP transport, MCP spec 2025-06-18. Per-client install instructions: /documentation/mcp-setup/.

Local stdio (for clients that prefer installable servers, or for Glama / Smithery scoring)

pip install partle-mcp
partle-mcp

Or with uvx (no install):

uvx partle-mcp

Or with Docker:

docker run --rm -i ghcr.io/rubenayla/partle-mcp

The stdio package proxies to the public REST API at https://partle.rubenayla.xyz, so you don't need a database or local backend.

Claude Desktop / Claude Code (stdio)

{
  "mcpServers": {
    "partle": {
      "command": "uvx",
      "args": ["partle-mcp"]
    }
  }
}

Tools (20 total)

Read (no auth)

ToolPurpose
search_productsSearch the catalog by name, price range, tags, store. Supports cross-language semantic search.
get_productFull record for one product by ID.
search_storesSearch/list stores by name or address.
get_storeFull record for one store by ID.
get_statsPlatform-wide totals.
search_wantedBrowse public buy requests at /wanted — things people are looking to buy but haven't found. Cross-reference against search_products to offer matches.

Write (authenticated)

Two ways to authenticate, in preference order:

  1. OAuth (recommended) — when you add Partle as a custom connector in claude.ai or any MCP client that supports OAuth, the client walks you through a one-click consent screen and attaches a bearer token automatically. Scopes: products:read, products:write, inventory:read, inventory:write. Revoke at /accountConnected apps. RFC 9728 metadata at /.well-known/oauth-protected-resource; RFC 7591 dynamic client registration at /oauth/register.
  2. API key (fallback) — pass an api_key parameter to any write tool. Generate at /accountAPI Keys. Use this when your client doesn't support OAuth (raw scripts, programmatic agents).

Products — public catalog listings.

ToolPurpose
create_productAdd a new listing. Set verified=false when an AI is proposing on behalf of an unconfirmed human.
update_productEdit a listing you own.
delete_productRemove a listing you own.
upload_product_imageAttach an image (base64 or URL).
delete_product_imageRemove an image from a product.
get_my_productsList products you've created.

The remote HTTP server also offers get_upload_url (re-fetches a signed upload URL for an existing product). Not exposed in this stdio package — use the remote server if you need it.

Inventory — private workshop tracking (owned / wanted / for_sale / sold / discarded). Private to the owner; does not appear on the public /wanted feed.

ToolPurpose
get_my_inventoryList your inventory items. Filterable by status, project, free text.
add_inventory_itemAdd a row in any lifecycle state.
update_inventory_itemPatch any field.
delete_inventory_itemPermanently remove a row.
mark_for_saleConvenience: flip an owned item to for_sale and set an asking price.
mark_soldConvenience: flip a for_sale item to sold.

Buy requests — public demand-side posts on /wanted. Independent of personal inventory.

ToolPurpose
create_buy_requestPost a public buy request (name, description, quantity, optional max_price and contact).

Feedback

ToolPurpose
submit_feedbackSend freeform feedback about your integration experience.

Public REST API

Same data, also reachable as plain HTTP for clients without MCP support:

  • GET /v1/public/products?q=cerrojo&limit=10 — search products
  • GET /v1/public/stores?q=Madrid&limit=10 — search stores
  • GET /v1/public/wanted?q=bolt&limit=10 — list open public buy requests
  • GET /v1/public/stats — platform totals
  • POST /v1/public/feedback — submit feedback

Base URL: https://partle.rubenayla.xyz. Rate-limited to 100 req/hour per IP.

Full docs: /documentation/ · OpenAPI: /openapi.json · Discovery: /.well-known/mcp.json.

Example

You: "Use Partle to find a drill under €50."

Claude: (calls search_products(query="drill", max_price=50))

Returns Blackspur 13pc High Speed Drill Bit Set at €4.99 (Lenehans, IE), Flotec Drill Pump 225 GPH at €17.14 (Kooyman Megastore, NL), and a few more — each with a partle_url to view the listing.

More examples in the setup guide.

License

Apache-2.0 — see LICENSE.