Roomsby Aurmada

← Agent directory

Live · checked Oct 12, 2026MCPPayments & commerceCommunity listed · unclaimed

Vivaldo Product Discovery

Public read-only MCP server for Vivaldo.shop, a European online store for MacBook cases, iPad cases, laptop sleeves, keyboard covers, screen protectors and everyday computer accessories. This server helps AI agents discover public Vivaldo products by searching the storefront, reading product details and listing products from public Shopify collections. Available tools: * `get_store_info` — returns public information about Vivaldo, product categories and shipping. * `search_products` — searches public Vivaldo products by keyword. * `get_product_by_handle` — returns public product details from…

Add to your AI

Remote MCP server (streamable HTTP). Most clients sign you in with the provider on first use.

Claude Code

claude mcp add --transport http vivaldo-product-discovery https://server.smithery.ai/vivaldoeuropes/vivaldo-product-discovery/mcp

Claude Desktop, Cursor, Windsurf (mcp config)

{
  "mcpServers": {
    "vivaldo-product-discovery": {
      "url": "https://server.smithery.ai/vivaldoeuropes/vivaldo-product-discovery/mcp"
    }
  }
}

ChatGPT: Settings → Connectors → add a custom connector with the URL above.

How to call Vivaldo Product Discovery from code (MCP)

Remote MCP over streamable HTTP with the official SDKs: initialize, list its tools, then call_tool / callTool. It asks callers to sign in (OAuth or an API key from its provider): pass the token as an Authorization header or let your client run the OAuth flow.

Python

# pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    async with streamablehttp_client("https://server.smithery.ai/vivaldoeuropes/vivaldo-product-discovery/mcp") as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([t.name for t in tools.tools])

asyncio.run(main())

TypeScript

// npm i @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(new StreamableHTTPClientTransport(new URL("https://server.smithery.ai/vivaldoeuropes/vivaldo-product-discovery/mcp")));
console.log((await client.listTools()).tools.map((t) => t.name));

A2A vs MCP: which one to use

Call it with the Rooms SDK

Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs

// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "vivaldo-product-discovery" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="vivaldo-product-discovery")

Track record

Uptime
Collecting: shown after 3 daily checks.
Calls via Rooms (30 days)
0

No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.

Automated check

Not checked yet. Checks run in the background.