Kuaidi100 launched China's first MCP-protocol-compatible logistics information service platform. The core API services of Kuaidi100's Baidiy
Partle is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Search products in nearby stores. Agents can also list items for sale on a user's behalf.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http partle-mcp https://partle.rubenayla.xyz/mcp/
# 2 — ask your agent for something these tools do
# search_products, get_product, search_stores and 18 more
Partle costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http partle-mcp https://partle.rubenayla.xyz/mcp/Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
21 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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 blindly search using the user's raw conversational words. Transform questions like 'what do I need to attach a mirror to a brick wall?'
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | — |
| min_price | no | — | |
| max_price | no | — | |
| tags | no | — | |
| store_id | no | — | |
| sort_by | no | — | |
| has_price | no | — | |
| semantic | boolean | no | — |
| super_search | boolean | no | — |
| limit | integer | no | — |
| offset | integer | no | — |
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). Don't loop get_product over many search results — re-search with tighter filters instead. Read-only. No authentication. Args:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
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 authentication. Rate-limited to 100 requests/hour per IP. Args: query: Free-text search over store name and address. Omit to list
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | no | — | |
| limit | integer | no | — |
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(store_id=…) instead — this tool returns store metadata only. Read-only. No authentication. Args: store_id: Integer id from
| Parameter | Type | Required | Notes |
|---|---|---|---|
| store_id | integer | yes | — |
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-only. No authentication. Cheap, but rarely changes — long-running agents should cache the result. Returns: ``{"total_products
No parameter schema on file.
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 surface hits) or just survey unmet demand. Every result is a public posting — users put these up specifically so suppliers can reach them
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | no | — | |
| limit | integer | no | — |
| offset | integer | no | — |
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 request is a sales-facing ad on the public demand feed at /wanted. Authenticated. Required OAuth scope: `inventory:write`. **Not idempote
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | no | — | |
| description | no | — | |
| quantity | integer | no | — |
| max_price | no | — | |
| currency | no | — | |
| contact | no | — | |
| reference_url | no | — | |
| product_id | no | — | |
| api_key | no | — |
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 /account). Required OAuth scope: feedback:write. Feedback is attributed to your account so reports are trustworthy and the channel can't b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| feedback | string | yes | — |
| api_key | no | — |
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. Fallback: pass an api_key (prefix pk_, generate at /account) for programmatic or non-OAuth clients. Required OAuth scope: `pro
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| description | no | — | |
| price | no | — | |
| currency | no | — | |
| url | no | — | |
| store_id | no | — | |
| listing_type | string | no | — |
| idempotency_key | no | — | |
| api_key | no | — |
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 — calling twice with the same input yields the same final state. For creating a new listing, use create_product instead. Caller must own
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
| name | no | — | |
| description | no | — | |
| price | no | — | |
| currency | no | — | |
| url | no | — | |
| api_key | no | — |
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 is no soft-delete or trash bin. Idempotent: deleting a product that no longer exists returns an error, not duplicate side effects. C
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
| api_key | no | — |
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 itself is preserved — only the image record and its file are removed. To remove the product entirely use delete_product. Args: produ
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
| image_id | integer | yes | — |
| api_key | no | — |
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 their products. Distinct from search_products, which searches the public catalog without owner scoping. Read-only. Args: l
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| api_key | no | — |
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 your sandbox) and you want to attach them to a product that already exists. Common cases: - create_product returned 409 (duplicate name
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
| api_key | no | — |
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 URL (a scraped product page, an Imgur link, a CDN URL the user provided). Partle's server fetches it and stores it. **When NOT to us
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | integer | yes | — |
| image_url | string | yes | — |
| api_key | no | — |
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 selling?", etc. The returned rows include every status by default; pass status to filter. Args: status: Filter by lifecycle. O
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | no | — | |
| product_id | no | — | |
| project | no | — | |
| q | no | — | |
| limit | integer | no | — |
| offset | integer | no | — |
| api_key | no | — |
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, "I'm selling" → for_sale. Either product_id (linked to an existing Partle product) or name` (freeform) must be set. **No
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | no | — | |
| product_id | no | — | |
| status | string | no | — |
| quantity | number | no | — |
| notes | no | — | |
| acquisition_price | no | — | |
| acquisition_currency | no | — | |
| purchased_at | no | — | |
| asking_price | no | — | |
| asking_currency | no | — | |
| condition | no | — | |
| external_link | no | — | |
| external_id | no | — | |
| project | no | — | |
| api_key | no | — |
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 the same final state. For lifecycle convenience, see mark_for_sale and mark_sold which set the right combination of fields atomically.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
| name | no | — | |
| product_id | no | — | |
| status | no | — | |
| quantity | no | — | |
| notes | no | — | |
| acquisition_price | no | — | |
| acquisition_currency | no | — | |
| purchased_at | no | — | |
| asking_price | no | — | |
| asking_currency | no | — | |
| condition | no | — | |
| external_link | no | — | |
| external_id | no | — | |
| project | no | — | |
| api_key | no | — |
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_*, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
| api_key | no | — |
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, asking_currency, and optionally condition) atomically. Authenticated. Required OAuth scope: inventory:write. Caller must own the ite
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
| asking_price | number | yes | — |
| asking_currency | string | no | — |
| condition | no | — | |
| api_key | no | — |
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 of the inventory row. api_key: Optional API key (pk_*, generate at /account). Used when there is no OAuth to
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
| api_key | no | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Partle or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.2.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Partle can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.