SavantoAI

io.github.SavantoAI由 GitHub 帳號 SavantoAI 發布v0.2.1更新於 Oct 27, 2026

Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.

已驗證Streamable HTTP可網頁執行知識與記憶資料與分析商業與電商

概覽

AI 產生的概覽

讓 AI 助理透過對話設定、填充與營運 Savanto AI 商店工作區,涵蓋商品目錄、內容、提示詞、Webhook 與分析。

可以做什麼
  • 管理工作區與設定,包括自訂網域、品牌配色和聊天/搜尋元件設定
  • 建立、更新、列出與刪除商品、文章及分類,並支援批次操作
  • 撰寫、搜尋與刪除提示詞,啟動或查看內容爬取任務
  • 建立並測試 Webhook,搜尋商品與文章
  • 查看搜尋、聊天與回饋分析,檢查或刪除對話串
  • 呼叫聊天介面、查詢身分與租戶用量,並使用內建的引導與稽核流程
適用情境
適合使用 Savanto 商店 AI 助理的團隊,在不開後台的情況下完成初始化、匯入內容、調整助理行為,並檢視訪客搜尋與提問。也適用於從 WordPress 或 Shopify 遷移,以及排查搜尋無結果或負面回饋的問題。
執行需求
本機 npx 套件需要 Node.js 20 或更新版本;也可使用託管遠端端點並透過 OAuth 連線。本機使用需在 SAVANTO_API_KEY 提供以 if_sk_ 開頭的 Savanto 金鑰,可公開金鑰會被拒絕。可用 SAVANTO_API_URL 指向預備或本機環境。需要能連線 Savanto API 的網路。
安裝前請注意
此金鑰具備租戶層級的管理權限,建議每個代理或機器使用獨立金鑰,外洩時立即撤銷。許多工具會寫入、修改或刪除資料,包括工作區、商品、文章、提示詞、Webhook 的變更以及對話刪除;刪除操作需明確確認。託管 HTTP 模式目前直接以金鑰作為 Bearer 權杖。分析與對話工具會暴露訪客對話與回饋內容。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "savantoai": {
      "type": "http",
      "url": "https://mcp.savanto.ai/mcp"
    }
  }
}

README

@savantoai/mcp-server

A local Model Context Protocol server that exposes your Savanto AI workspace to Claude, ChatGPT, Cursor, and any other MCP-compatible client — so you can configure, populate, and operate your store's AI assistant by talking to your own AI, instead of clicking through a dashboard.

What it does

Once configured, your agent gains a curated set of tools that mirror the Savanto REST API, spanning the full configure → observe → refine loop:

CategoryRepresentative toolsScope
Workspaceslist_workspaces, create_workspace, update_workspace, delete_workspacetenant:admin
Configurationget_workspace_settings, update_workspace_settings, custom-domain CRUD, discover_tools, generate_domain_config, validate_custom_domain, test_domain_connection, generate_color_scheme, chat/search widget configconfig:admin
Contentupsert_product/upsert_post (+ bulk_*, list_*, get_*, patch_*, delete_*)admin:products, admin:posts
Taxonomiesupsert_taxonomy, bulk_upsert_taxonomies, list/get/delete_taxonomyadmin:taxonomies
Promptsupsert_prompt, list_prompts, search_prompts, delete_prompt (+ bulk)admin:prompts, prompts:read
Webhookscreate_webhook, list/get/update/delete_webhook, test_webhook, get_webhook_statsadmin:webhooks
Crawlstart_crawl, get_crawl_status/history/config, update_crawl_configadmin:posts
Searchsearch_products, search_postssearch:products, search:posts
Analyticsget_search_analytics, get_chat_analytics, get_feedback_analytics, search_search_logs, list_feedbacktenant:admin, feedback:admin
Threadssearch_threads, get_thread, get_thread_messages, get_thread_analytics, delete_thread, bulk_delete_threadsthreads:admin
Chatchatchat
Diagnosticswhoami, get_tenant_usage(none) / tenant:admin

Two things keep the surface safe and legible to clients:

  • Scope-gated at startup — the server probes /tenant/whoami and only registers tools your key can actually use. An agent is never shown a tool it would get a 403 for, and a publishable widget key sees almost nothing.
  • Annotated — every tool carries MCP hints (readOnlyHint, destructiveHint, idempotentHint) so clients can auto-approve safe reads and flag destructive writes; deletes additionally require an explicit confirm: true.

The server also exposes Skills (MCP prompts) — step-by-step playbooks for common multi-tool workflows:

  • onboard-store-end-to-end – create a workspace, ingest content, configure behaviour + branding, smoke-test
  • onboard-wordpress / onboard-shopify – platform-specific onboarding walkthroughs
  • configure-chat – tune persona, special instructions, and handoff rules
  • configure-custom-domain – wire a custom capability (order tracking, account lookup) to MCP servers / REST APIs
  • audit-and-improve – the observe→refine loop: find failing chats / zero-result searches / negative feedback and fix them
  • debug-empty-search – diagnose why a product search returns no hits
  • migrate-from-competitor – bulk-import from another chat vendor's export

Requirements

  • Node.js 20 or later
  • A secret Savanto API key (starts with if_sk_…). Create one in the API Keys page of your dashboard.

    Publishable keys (if_pk_…) are client-side and cannot provision workspaces — the server will refuse to start with one.

Quick start

No global install needed — run it with npx:

bash
export SAVANTO_API_KEY=if_sk_your_key_herenpx -y @savantoai/mcp-server

Point to a non-production cloud (staging, local dev):

bash
export SAVANTO_API_URL=http://localhost:3001

Remote server (preview)

In addition to the local stdio server above, the same tool surface can run as a hosted HTTP server so clients connect to a URL instead of spawning npx — no local Node, no per-machine config. This is the path toward one-click "Connect to Claude/ChatGPT" (OAuth) onboarding; today it accepts your secret key as a Bearer token.

bash
# Each client authenticates per-request — there is NO server-wide key.SAVANTO_API_URL=https://api.savanto.ai PORT=8080 npx -y -p @savantoai/mcp-server savanto-mcp-http

The server mounts the MCP endpoint at /mcp and a liveness probe at /healthz. Clients send their key as Authorization: Bearer if_sk_…; the tool surface is scope-gated to that key's tenant, exactly as in the stdio server. Point an MCP client that supports remote (Streamable HTTP) servers at https://your-host/mcp with that bearer token.

Auth is currently the raw secret key. A future release replaces it with OAuth-issued, tenant-scoped tokens so customers can connect with zero key handling — the transport and tool layer are unchanged by that swap.

Client configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "savanto": {      "command": "npx",      "args": ["-y", "@savantoai/mcp-server"],      "env": {        "SAVANTO_API_KEY": "if_sk_your_key_here"      }    }  }}

Restart Claude Desktop. You should see a hammer/tool icon in the message bar; the Savanto tools are listed there.

Cursor

In Cursor settings → Features → Model Context Protocol → Add new MCP server:

json
{  "savanto": {    "command": "npx",    "args": ["-y", "@savantoai/mcp-server"],    "env": { "SAVANTO_API_KEY": "if_sk_your_key_here" }  }}

Cline / Roo / other VS Code agents

Add to the extension's MCP config (usually a JSON file under ~/.cline or similar):

json
{  "mcpServers": {    "savanto": {      "command": "npx",      "args": ["-y", "@savantoai/mcp-server"],      "env": { "SAVANTO_API_KEY": "if_sk_your_key_here" }    }  }}

OpenAI Agents / Responses API

python
from openai import OpenAIfrom mcp import StdioServerParameters
server = StdioServerParameters(    command="npx",    args=["-y", "@savantoai/mcp-server"],    env={"SAVANTO_API_KEY": "if_sk_your_key_here"},)

Local MCP Inspector (for debugging)

bash
npx @modelcontextprotocol/inspector npx @savantoai/mcp-server

The Inspector gives you a web UI to list tools, call them directly, and watch request/response payloads — great for confirming your key is wired correctly before handing the server to an agent.

Example prompts

Once the server is registered in your MCP client, try:

"Set up a new Savanto workspace for acme-store, crawl https://acme.test, give it an outdoor-adventure tone, and brand the widget around #0a7d2c." (end-to-end onboarding)

"Look at acme-store's last 30 days — what are visitors searching for that returns nothing, and which conversations went unresolved? Then add content to fix the top few." (the observe→refine loop)

"Add an order-tracking capability to acme-store backed by our MCP server at https://mcp.acme.test/orders, validate it, and test it before enabling." (custom domain)

"Why did this conversation get a thumbs-down?" — pull list_feedback, read the thread, and propose a fix.

The agent picks the right tools automatically (and clients can auto-approve the read-only ones). You can also invoke a Skill explicitly — e.g. in Claude Desktop, /onboard-store-end-to-end or /audit-and-improve kicks off that full playbook.

Environment variables

VariableDefaultPurpose
SAVANTO_API_KEY(required)Your secret API key (if_sk_…).
SAVANTO_API_URLhttps://api.savanto.aiOverride for staging / local dev.

Security

  • Always use separate API keys per agent / machine — so you can revoke one without affecting the others. The API Keys page tracks the last-used timestamp of each key.
  • Keys are passed via environment variables, never logged. The server prints a one-line identity banner on startup (to stderr) showing the tenant id and scope list — no secrets.
  • The server runs over stdio and never opens a network port. It only speaks to the Savanto API host you point it at.
  • delete_workspace requires an explicit confirm: true parameter in the tool call — a safety gate against hallucinated destructive operations.

Local development

From the repo root:

bash
npm installnpm run build --workspace=@savantoai/mcp-serverSAVANTO_API_KEY=if_sk_… SAVANTO_API_URL=http://localhost:3001 node sdks/mcp/dist/stdio.js

Run the tests:

bash
npm run test --workspace=@savantoai/mcp-server

License

MIT. See LICENSE.

來源:README.md,提交 1bec804

工具

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

版本歷史

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

評分

已滿足適用檢查項的 85%

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

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

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

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