MCP (Model Context Protocol) — JSON-RPC 2.0 over HTTP POST
Content-Type: application/json
POST https://www.yescaffe.ro/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": { "name": "my-agent", "version": "1.0" }
}
}
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }
Tool names and arguments come from tools/list; each module adds its own. This one is always there:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_info",
"arguments": {}
}
}
get_info — returns company and platform information No parameters required.
Returns: name, company, url, logo, icon, timezone, domain, country, county, city, address, phone, email
tools/list gives each tool annotations. They say what a call does, before you make it:
| Effect | Annotations | What a call does | How to use it |
|---|---|---|---|
| read | readOnlyHint: true |
Only reads | Safe any time, repeat freely |
| create | readOnlyHint: false, destructiveHint: false, idempotentHint: false |
Adds something new | Twice adds two, never retry blindly |
| replace | destructiveHint: true, idempotentHint: true |
Overwrites existing content | Same input, same result; the old content is lost. Read first, ask the person when unsure |
| external | openWorldHint: true |
Reaches outside the platform (fetches a url, uploads a file) | The result depends on a third party and may fail |
The hints guide you; the server still refuses what the token's scope does not allow.
search_products — search and filter products q, p, c, s, b, cc, stock, sorting, min, max, new, promo, preview
get_product — get product by ID product_id (required)
search — search products by words, for clients that expect the search/fetch pair (ChatGPT connectors, deep research)
query (required). Returns {"results":[{"id":"product-{product_id}","title":"...","url":"..."}]}
fetch — full text of a search result
id (required), as returned by search. Returns {"id","title","text","url","metadata"}