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/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server