streamable-httpApache-2.0updated 8d ago
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.
What can you do with Partle?
Partle Marketplace MCP Server
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)
| 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:
- 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. - API key (fallback) โ pass an
api_keyparameter 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 (name, 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 productsGET /v1/public/stores?q=Madrid&limit=10โ search storesGET /v1/public/wanted?q=bolt&limit=10โ list open public buy requestsGET /v1/public/statsโ platform totalsPOST /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_urlto view the listing.
More examples in the setup guide.
License
Apache-2.0 โ see LICENSE.
Install
Add Partle to your client. Pick the one you use.
claude mcp add --transport http partle https://partle.rubenayla.xyz/mcp/codex mcp add partle --url https://partle.rubenayla.xyz/mcp/{
"mcpServers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"partle": {
"type": "http",
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"partle": {
"serverUrl": "https://partle.rubenayla.xyz/mcp/"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance25/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.2.0Latest | May 10, 2026 |
| 1.1.0 | Apr 2, 2026 |
| 1.0.0 | Feb 27, 2026 |