Shopping Discovery

io.github.Periskop-ai由 GitHub 帳號 Periskop-ai 發布v0.1.0更新於 Oct 25, 2026

Product discovery for AI agents: ranked products and bundles from the open merchant web.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取商業與電商

概覽

AI 產生的概覽

一個託管型 MCP 伺服器,把自然語言的購物需求轉換成附商家連結的排序商品、替代方案和組合套裝。

可以做什麼
依自然語言購物需求執行商品探索,可選擇瀏覽、推薦、最佳或組合等模式,並限定商店、國家、貨幣、語言和結果數量,回傳附價格與商家連結的排序商品。依結果 ID 取回先前的探索結果。查詢支援哪些公開商店,可依國家、類別或能力篩選。對結果提交評價,並建議未來應支援的商店。
適用情境
當助理需要從獨立網路商店中尋找、比較或組合商品,並把購買連結交給使用者在商家網站完成下單時使用。適合購物助理、採購與尋源助理、價格與優惠監控,以及送禮和補貨流程。
執行需求
遠端 HTTPS 端點,無需安裝。需要 Periskop API 金鑰,透過 Authorization 標頭以 Bearer 方式傳送,或使用 OAuth 2.1。需要能存取該端點的網路。
安裝前請注意
探索請求會從預付錢包扣款,但失敗、格式錯誤、被限流和無相符結果的請求不計費。API 金鑰屬於憑證,應妥善保密。結果只是暫時的,可能過期。它只回傳商品結果和商家連結;結帳、付款和庫存保留都在商家網站完成,價格和庫存可能變動。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shopping Discovery,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Periskop-ai%2Fshopping-discovery/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "shopping-discovery": {
      "type": "http",
      "url": "https://mcp.periskop.ai/v1/mcp"
    }
  }
}

README

Periskop — Product Discovery for AI Agents

Product discovery for AI agents. One MCP call turns a natural-language shopping intent into structured, ranked product results — best picks, alternatives, bundles, caveats, prices, and merchant links — from across independent stores on the open merchant web.

Periskop is a hosted, remote MCP server (closed source). You connect over the public HTTPS endpoint with a Periskop API key — nothing to install or run. It's the discovery layer for agentic commerce: an agent asks in natural language and Periskop returns ranked products with links back to the merchant. It stops at discovery — no checkout, no payments, no orders.

Who it's for

Any product that needs to turn intent into reliable product results without owning checkout — agent platforms and orchestrators, AI worker platforms, AI shopping assistants, browser agents, commerce copilots, recommendation systems, procurement and B2B sourcing workflows, price and deal monitors, restock/reorder bots, gifting apps, resale and arbitrage workflows, and accessibility shopping tools. Concretely: an agent that plans a camping trip and returns the gear, a procurement copilot comparing options across suppliers, or a voice assistant surfacing the right product from a single sentence.

What it does (and does not) do

Periskop returns product results and merchant links only. It does not complete checkout, create merchant carts, process payment, reserve inventory, or purchase items. The user always completes any purchase on the merchant's own website. Every response carries a purchase_boundary block restating this.

Connection

Endpointhttps://mcp.periskop.ai/v1/mcp
TransportStreamable HTTP — JSON-RPC 2.0 over HTTP POST (one JSON response per POST; no SSE)
Wire protocol2024-11-05
AuthAuthorization: Bearer <YOUR_PERISKOP_API_KEY> (keys look like dp_…)
Get a keyhttps://periskop.ai/developer

Unauthenticated requests receive 401 with a WWW-Authenticate: Bearer header.

Note: Periskop also supports OAuth 2.1 (Authorization Code + PKCE) for hosts that prefer it (tokens look like dpo_…). API key is the simplest path and is all you need for the configs below.

Tools

All tools take a single JSON object argument. Schemas below are the public tool surface.

run_shopping_discovery

Find, choose, browse, recommend, get the best product, or build a bundle from a natural-language request. The only required field is prompt.

FieldTypeRequiredNotes
promptstring✅Natural-language shopping intent
modestring | nullauto | browse | recommend | best | bundle (default auto)
storestring | nullauto, a store id, or a store name/hint
countrystring | nulle.g. PT, ES
currencystring | nulle.g. EUR
languagestring | nulle.g. en, pt
max_resultsinteger | nullCap on returned products
response_formatstring | nullfull (default) | simple

get_discovery_result

Retrieve a previous result by result_id. Results are temporary and may expire.

FieldTypeRequired
result_idstring✅
response_formatstring | null

discover_supported_stores

Inspect the public stores Periskop can use. Returns public store capabilities only.

FieldTypeRequired
countrystring | null
categorystring | null
capabilitystring | null (search | bundle | product_links)

report_result_feedback

Report whether a result was good, bad, or mixed.

FieldTypeRequired
result_idstring✅
ratingstring (good | bad | mixed)✅
reasonstring | null
selected_product_idstring | null
freeform_feedbackstring | null

suggest_store_coverage

Suggest a store/merchant/marketplace Periskop should support in the future. Non-billable. Does not search or scrape the store and does not guarantee future support.

FieldTypeRequired
store_namestring✅
store_urlstring | null
country / region / categorystring | null
contextstring | null (e.g. unsupported_store, no_match)

Example

Request (JSON-RPC tools/call)

bash
curl -sS -X POST https://mcp.periskop.ai/v1/mcp \  -H "Authorization: Bearer YOUR_PERISKOP_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "jsonrpc": "2.0",    "id": 1,    "method": "tools/call",    "params": {      "name": "run_shopping_discovery",      "arguments": { "prompt": "wireless noise-cancelling headphones for travel under 200€", "mode": "best" }    }  }'

Response (trimmed — sample/fake data, not real)

json
{  "jsonrpc": "2.0",  "id": 1,  "result": {    "content": [      {        "type": "text",        "text": "{\"result_id\":\"res_example_8f2a1c\",\"mode_used\":\"best\",\"products\":[{\"title\":\"SampleAudio Aero NC\",\"price\":\"€179.00\",\"currency\":\"EUR\",\"merchant\":\"Example Store\",\"url\":\"https://store.example/p/aero-nc\",\"role\":\"best_pick\"},{\"title\":\"Acme Quietline 2\",\"price\":\"€149.00\",\"currency\":\"EUR\",\"merchant\":\"Example Store\",\"url\":\"https://store.example/p/quietline-2\",\"role\":\"alternative\"}],\"caveats\":[\"Prices and availability may change on the merchant site.\"],\"purchase_boundary\":{\"checkout_created\":false,\"payment_processed\":false,\"stock_reserved\":false,\"user_must_complete_purchase_on_merchant_site\":true}}"      }    ]  }}

The structured payload is returned as text in result.content[0].text. Every response and the X-Request-ID response header carry a per-call request id.

Pricing (summary)

Prepaid wallet, billed only on successful discovery requests. Auth errors, malformed requests, internal/runtime failures, rate limits, and hard no-match are never billed. See the live rate at https://periskop.ai/developer/billing.

Client setup

Copy-paste configs are in config-snippets/: Cursor (.cursor/mcp.json), Claude Desktop, Claude Code, and a raw curl example.

來源:README.md,提交 8b5a217

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分