Partle
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the remote Partle MCP server (Streamable HTTP) | https://partle.rubenayla.xyz/mcp/ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_productsA | Search Partle's product catalog by name or description. Use this when the user asks to find a specific product or browse
products matching a query. Prefer this over Read-only. No authentication. Rate-limited to 100 requests/hour per IP. Args:
query: Free-text search term (e.g. "wireless headphones", "cerrojo
FAC", "drill bit"). Required even in semantic mode.
min_price: Lower bound on price in EUR. Omit for no lower bound.
max_price: Upper bound on price in EUR. Omit for no upper bound.
tags: Comma-separated tag filter (e.g. "electronics,bluetooth").
Tags are AND-ed together.
store_id: Restrict results to a single store. Use the integer Returns:
|
| get_productA | Get the full record for a single product by its numeric ID. Use this after Read-only. No authentication. Args:
product_id: The integer Returns:
A single product object with all fields, including the canonical
|
| search_storesA | Search or list stores in the Partle marketplace. Use this when the user asks store-led questions ("what hardware shops
are in Madrid?") rather than product-led ones (use 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 all stores in default order. limit: Maximum results (1–50, default 20). Returns:
|
| get_storeA | Get the full record for a single store by its numeric ID. Use this after Read-only. No authentication. Args:
store_id: The integer Returns: A single store object with all fields. |
| get_statsA | Get top-level Partle platform statistics. Use this for size questions ("how big is Partle?", "how many stores does Partle cover?"). Returns aggregate counts only — no per-product or per-store data. Read-only. No authentication. Cheap, but doesn't change often — cache in long-running agents. Returns:
|
| submit_feedbackA | Send freeform feedback about your experience using Partle. Use this when you encounter a confusing tool description, a broken response, missing data, or anything you'd want the maintainers to know. Especially valuable for AI agents — your feedback becomes a signal we use to tune the API. Not idempotent (each call adds a record). Don't loop. No PII required. Args: feedback: Freeform text up to 5000 characters. Be specific — name the tool, the input that was confusing, and what you expected. Returns: The created feedback record with timestamp. |
| create_productA | Create a new product listing on Partle. Requires an API key. Use this when the user wants to add an item for sale. Each call creates
a new record — never call twice with identical input expecting only one
record (it is not idempotent). For updates to existing products,
use Args:
api_key: Partle API key, prefix Returns:
The created product record including its new |
| update_productA | Update fields on an existing product. Requires an API key. 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 The API key must own the product. Trying to update someone else's product returns a 403/404. Args:
api_key: Partle API key (prefix Returns: The updated product record (full, not just the changed fields). |
| delete_productA | Permanently delete a product listing and all its images. Destructive. 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 404, not an error state on your side. The API key must own the product. Args:
api_key: Partle API key (prefix Returns:
|
| upload_product_imageA | Attach an image to an existing product. Provide exactly one of
Use this after Args:
api_key: Partle API key (prefix Returns:
The created |
| delete_product_imageA | Remove a specific image from a product. Destructive, idempotent. 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
Args:
api_key: Partle API key (prefix Returns:
|
| get_my_productsA | List products created by the API key's owner. Requires an API key. Use this when the user asks "what have I listed?" or before bulk
operations like updating prices across multiple of their products.
Distinct from Read-only. Args:
api_key: Partle API key (prefix Returns:
|
| get_my_inventoryA | List the caller's personal inventory items. Requires an API key. Use when the user asks "what do I own?", "what's on my wishlist?",
"what am I selling?". Pass Args:
api_key: Partle API key, prefix Returns:
|
| add_inventory_itemA | Add an item to the caller's personal inventory. Requires an API key. One creation tool covers all lifecycle states — set Args:
api_key: Partle API key (prefix Returns: The created inventory row. |
| update_inventory_itemA | Patch an inventory item. Only provided fields change. Idempotent. Caller must own the item (404 otherwise — the API doesn't leak
existence). For lifecycle changes, see |
| delete_inventory_itemA | Permanently delete an inventory row. Caller must own it. Args:
api_key: Partle API key (prefix Returns:
|
| mark_for_saleA | Set status=for_sale and listing fields atomically. Convenience wrapper for "list X for sale at Y€". Caller must own the item. |
| mark_soldA | Mark an inventory item as sold (status=sold). Caller must own it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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'
If you have feedback or need assistance with the MCP directory API, please join our Discord server