{
  "markdown": "# Partle Marketplace MCP Server\n\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/6a91b129-5935-4d2a-90a9-09c74de3414e)\n\n[Model Context Protocol](https://modelcontextprotocol.io/) 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.\n\nLive 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.\n\n## Two ways to run it\n\n### Remote (recommended — zero setup)\n\nPoint your MCP client at:\n\n```\nhttps://partle.rubenayla.xyz/mcp/\n```\n\nThat's it. Streamable HTTP transport, MCP spec 2025-06-18. Per-client install instructions: [`/documentation/mcp-setup/`](https://partle.rubenayla.xyz/documentation/mcp-setup/).\n\n### Local stdio (for clients that prefer installable servers, or for Glama / Smithery scoring)\n\n```bash\npip install partle-mcp\npartle-mcp\n```\n\nOr with `uvx` (no install):\n\n```bash\nuvx partle-mcp\n```\n\nOr with Docker:\n\n```bash\ndocker run --rm -i ghcr.io/rubenayla/partle-mcp\n```\n\nThe stdio package proxies to the public REST API at `https://partle.rubenayla.xyz`, so you don't need a database or local backend.\n\n#### Claude Desktop / Claude Code (stdio)\n\n```json\n{\n  \"mcpServers\": {\n    \"partle\": {\n      \"command\": \"uvx\",\n      \"args\": [\"partle-mcp\"]\n    }\n  }\n}\n```\n\n## Tools (20 total)\n\n### Read (no auth)\n\n| Tool | Purpose |\n|------|---------|\n| `search_products` | Search the catalog by name, price range, tags, store. Supports cross-language semantic search. |\n| `get_product` | Full record for one product by ID. |\n| `search_stores` | Search/list stores by name or address. |\n| `get_store` | Full record for one store by ID. |\n| `get_stats` | Platform-wide totals. |\n| `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. |\n\n### Write (authenticated)\n\nTwo ways to authenticate, in preference order:\n\n1. **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](https://partle.rubenayla.xyz/account) → **Connected apps**. RFC 9728 metadata at [`/.well-known/oauth-protected-resource`](https://partle.rubenayla.xyz/.well-known/oauth-protected-resource); RFC 7591 dynamic client registration at `/oauth/register`.\n2. **API key (fallback)** — pass an `api_key` parameter to any write tool. Generate at [/account](https://partle.rubenayla.xyz/account) → **API Keys**. Use this when your client doesn't support OAuth (raw scripts, programmatic agents).\n\n**Products** — public catalog listings.\n\n| Tool | Purpose |\n|------|---------|\n| `create_product` | Add a new listing. Set `verified=false` when an AI is proposing on behalf of an unconfirmed human. |\n| `update_product` | Edit a listing you own. |\n| `delete_product` | Remove a listing you own. |\n| `upload_product_image` | Attach an image (base64 or URL). |\n| `delete_product_image` | Remove an image from a product. |\n| `get_my_products` | List products you've created. |\n\n> 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.\n\n**Inventory** — private workshop tracking (owned / wanted / for_sale / sold / discarded). Private to the owner; **does not** appear on the public `/wanted` feed.\n\n| Tool | Purpose |\n|------|---------|\n| `get_my_inventory` | List your inventory items. Filterable by status, project, free text. |\n| `add_inventory_item` | Add a row in any lifecycle state. |\n| `update_inventory_item` | Patch any field. |\n| `delete_inventory_item` | Permanently remove a row. |\n| `mark_for_sale` | Convenience: flip an `owned` item to `for_sale` and set an asking price. |\n| `mark_sold` | Convenience: flip a `for_sale` item to `sold`. |\n\n**Buy requests** — public demand-side posts on `/wanted`. Independent of personal inventory.\n\n| Tool | Purpose |\n|------|---------|\n| `create_buy_request` | Post a public buy request (name, description, quantity, optional `max_price` and `contact`). |\n\n### Feedback\n\n| Tool | Purpose |\n|------|---------|\n| `submit_feedback` | Send freeform feedback about your integration experience. |\n\n## Public REST API\n\nSame data, also reachable as plain HTTP for clients without MCP support:\n\n- `GET /v1/public/products?q=cerrojo&limit=10` — search products\n- `GET /v1/public/stores?q=Madrid&limit=10` — search stores\n- `GET /v1/public/wanted?q=bolt&limit=10` — list open public buy requests\n- `GET /v1/public/stats` — platform totals\n- `POST /v1/public/feedback` — submit feedback\n\nBase URL: `https://partle.rubenayla.xyz`. Rate-limited to 100 req/hour per IP.\n\nFull docs: [`/documentation/`](https://partle.rubenayla.xyz/documentation/) · OpenAPI: [`/openapi.json`](https://partle.rubenayla.xyz/openapi.json) · Discovery: [`/.well-known/mcp.json`](https://partle.rubenayla.xyz/.well-known/mcp.json).\n\n## Example\n\n> **You:** \"Use Partle to find a drill under €50.\"\n>\n> **Claude:** *(calls `search_products(query=\"drill\", max_price=50)`)*\n>\n> 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.\n\nMore examples in the [setup guide](https://partle.rubenayla.xyz/documentation/mcp-setup/#example-queries).\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE).\n",
  "bytes": 5792,
  "sha": "fc626036f3af5f4bc6a7bb0e2b68330b4c336d446133d7a9b80dbc3b6a7b275e",
  "repo_slug": "rubenayla/partle-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_xyz_rubenayla_partle_marketplace_9ff033a9/readme"
}