Connect Partle and your agent gets 21 tools, among them add_inventory_item, create_buy_request, create_product. It answers at https://partle.rubenayla.xyz/mcp/ over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.
Search products in nearby stores. Agents can also list items for sale on a user's behalf.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
add_inventory_item | Add an item to the caller's personal inventory. Authenticated. Required OAuth scope: `inventory:write`. One creation tool covers all lifecycle states — set ``status`` based on the user's intent: "I bought" → ``owned``, "I want" → ``wanted`` Inputs: name, product_id, status, quantity, notes, acquisition_price |
create_buy_request | Post a public buy request — an ad asking suppliers to reach out. Use when the user wants others to know they're looking to buy something. **Independent of personal inventory** — inventory is the user's private workshop tracking; a buy reque Inputs: name, description, quantity, max_price, currency, contact |
create_product | Create a new product listing on Partle. Authenticated. Prefer **OAuth**: connect once via the consent flow on claude.ai (or any MCP client that supports OAuth) and the bearer token is attached automatically — no `api_key` parameter needed. Inputs: name, description, price, currency, url, store_id |
delete_inventory_item | Permanently delete an inventory row. Authenticated. Required OAuth scope: `inventory:write`. Caller must own the item (404 otherwise). Hard delete — no soft-delete. Args: item_id: ID of the row to delete. api_key: Optional API key (`pk_*`, Inputs: item_id, api_key |
delete_product | Permanently delete a product listing and all its images. Destructive. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. Use only when the user explicitly asks to remove a listing they own. Cannot be undone — there Inputs: product_id, api_key |
delete_product_image | Remove a specific image from a product. Destructive, idempotent. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. Use when an image was uploaded by mistake or the merchant updated their listing. The product itsel Inputs: product_id, image_id, api_key |
get_my_inventory | List the caller's personal inventory items. Authenticated. Required OAuth scope: `inventory:read` (or pass an `api_key` for legacy/programmatic clients). Use this when the user asks "what do I own?", "what's on my wishlist?", "what am I sel Inputs: status, product_id, project, q, limit, offset |
get_my_products | List products created by the authenticated user. Authenticated. OAuth (scope `products:read`) preferred; `api_key` fallback. Use when the user asks "what have I listed?" or before bulk operations like updating prices across multiple of thei Inputs: limit, api_key |
get_product | Get the full record for a single product by its numeric ID. Use after `search_products` returns a candidate the user is interested in, when you need fields not in the search summary (full description, all images, sold status, expiration). D Inputs: product_id |
get_stats | Get top-level Partle platform statistics. Use for size questions ("how big is Partle?", "how many stores does Partle cover?"). Aggregate counts only — no per-product or per-store data; use `search_products` / `search_stores` for that. Read- |
get_store | Get the full record for a single store by its numeric ID. Use after `search_stores` to retrieve fields not in the search summary (full address, owner profile, contact details). For a list of *products* in that store, call `search_products(s Inputs: store_id |
get_upload_url | Mint a one-shot signed upload URL for a product you own. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. Use this when you have **local image bytes** (a file the user attached, bytes you generated/downloaded in Inputs: product_id, api_key |
mark_for_sale | Move an inventory item to status=for_sale and set listing fields. Convenience wrapper over `update_inventory_item` that matches a natural user request ("list my drill for sale at 30€"). Sets all three columns (`status`, `asking_price`, `ask Inputs: item_id, asking_price, asking_currency, condition, api_key |
mark_sold | Mark an inventory item as sold (status=sold). Convenience wrapper over `update_inventory_item` for the natural "I sold the drill" request. Authenticated. Required OAuth scope: `inventory:write`. Caller must own the item. Args: item_id: ID o Inputs: item_id, api_key |
search_products | Search Partle's product catalog by name or description. CRITICAL SEARCH INSTRUCTION: Reason from the job to the product class first, then search with a descriptive product phrase (e.g. including substrate, material, or size class). DO NOT b Inputs: query, min_price, max_price, tags, store_id, sort_by |
search_stores | Search or list stores in the Partle marketplace. Use for store-led questions ("what hardware shops are in Madrid?") rather than product-led ones (use `search_products` for that). Pass no query to browse the whole catalog. Read-only. No auth Inputs: query, limit |
search_wanted | Browse public buy requests — what users are looking to buy but haven't found through normal supply. The demand side of Partle. Use this when an agent wants to **offer matches** (cross-reference open requests against `search_products` and su Inputs: query, limit, offset |
submit_feedback | Report a problem with **the Partle marketplace API/MCP itself**. Authenticated. Prefer **OAuth**: connect once via the consent flow and the bearer token is attached automatically. **Fallback**: pass an `api_key` (prefix `pk_`, generate at / Inputs: feedback, api_key |
update_inventory_item | Patch an existing inventory item. Only provided fields change. Authenticated. Required OAuth scope: `inventory:write`. Caller must own the item (404 otherwise — we don't leak existence). Idempotent: calling twice with the same input yields Inputs: item_id, name, product_id, status, quantity, notes |
update_product | Update an existing product listing. Only provided fields are changed. Authenticated. OAuth (scope `products:write`) preferred; `api_key` accepted as fallback. Only fields you pass are changed; omitted fields are preserved. Idempotent — call Inputs: product_id, name, description, price, currency, url |
upload_product_image | Attach an image to an existing product by giving Partle a public URL to download the image from. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. **When to use this tool**: the image is already hosted at a public Inputs: product_id, image_url, api_key |
Every block below points at https://partle.rubenayla.xyz/mcp/. Pick your client and copy.
claude mcp add --transport http partle https://partle.rubenayla.xyz/mcp/
{
"mcpServers": {
"partle": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://partle.rubenayla.xyz/mcp/"]
}
}
}{
"mcpServers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"servers": {
"partle": {
"type": "http",
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"context_servers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"mcpServers": {
"partle": {
"serverUrl": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"mcpServers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}name: Partle
version: 0.0.1
schema: v1
mcpServers:
- name: Partle
type: streamable-http
url: https://partle.rubenayla.xyz/mcp/{
"mcpServers": {
"partle": {
"httpUrl": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"mcpServers": {
"partle": {
"type": "http",
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}{
"mcpServers": {
"partle": {
"url": "https://partle.rubenayla.xyz/mcp/"
}
}
}goose://extension?url=https%3A%2F%2Fpartle.rubenayla.xyz%2Fmcp%2F&type=streamable_http&id=partle&name=Partle
It answered our last check on 24 October 2026 in 190 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by rubenayla.xyz and served from partle.rubenayla.xyz, the vendor's own domain: https://partle.rubenayla.xyz/mcp/.
21, as returned by the server's own tools/list on 23 September 2026: add_inventory_item, create_buy_request, create_product, delete_inventory_item, delete_product, delete_product_image, get_my_inventory, get_my_products, and 13 more.
It answered our last check on 24 October 2026 in 190 ms. Over 6 checks since 12 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://partle.rubenayla.xyz/mcp/. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: xyz.rubenayla.partle. Endpoint host: partle.rubenayla.xyz. ARD identifier: urn:air:xyz.rubenayla.partle:mcp:marketplace.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.