Skip to main content
Glama

Partle Marketplace MCP Server

Model Context Protocol server for the Partle local marketplace โ€” find products in physical stores near you, ask an AI to add a listing for you, all without leaving your assistant.

130,000+ products across ~16,000 stores. Reads need no auth. Writes need a pk_โ€ฆ API key.

Two ways to run it

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"]
    }
  }
}

Related MCP server: Google Maps Places MCP

Tools (20 total)

Read (no auth)

Tool

Purpose

search_products

Search the catalog by name, price range, tags, store. Supports cross-language semantic search.

get_product

Full record for one product by ID.

search_stores

Search/list stores by name or address.

get_store

Full record for one store by ID.

get_stats

Platform-wide totals.

search_wanted

Browse 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 /account โ†’ Connected 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 /account โ†’ API Keys. Use this when your client doesn't support OAuth (raw scripts, programmatic agents).

Products โ€” public catalog listings.

Tool

Purpose

create_product

Add a new listing. Set verified=false when an AI is proposing on behalf of an unconfirmed human.

update_product

Edit a listing you own.

delete_product

Remove a listing you own.

upload_product_image

Attach an image (base64 or URL).

delete_product_image

Remove an image from a product.

get_my_products

List 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.

Tool

Purpose

get_my_inventory

List your inventory items. Filterable by status, project, free text.

add_inventory_item

Add a row in any lifecycle state.

update_inventory_item

Patch any field.

delete_inventory_item

Permanently remove a row.

mark_for_sale

Convenience: flip an owned item to for_sale and set an asking price.

mark_sold

Convenience: flip a for_sale item to sold.

Buy requests โ€” public demand-side posts on /wanted. Independent of personal inventory.

Tool

Purpose

create_buy_request

Post a public buy request (title, description, quantity, optional max_price and contact).

Feedback

Tool

Purpose

submit_feedback

Send 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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
5wRelease cycle
3Releases (12mo)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rubenayla/partle-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server