three.ws Concierge

io.github.nirholas由 GitHub 帳號 nirholas 發布v0.1.1更新於 Nov 1, 2026

Ask any website's AI concierge a grounded question, and generate the embed to add one to a site.

概覽

AI 產生的概覽

本機 stdio MCP 伺服器,讓助理向任何網站的 AI 客服提問並取得有依據的回答,同時產生把客服元件嵌入網站的程式碼。

可以做什麼
  • 向網站客服提問,可依據抓取的頁面網址,或依據提供的知識文字、原始文字作答
  • 產生可直接貼上的網站客服嵌入程式碼(script 標籤、Web Component、npm 或命令式 mount),可設定主題色、頭像、問候語、知識與建議問題
  • 列出客服可使用的 3D 頭像,方便為嵌入程式碼挑選頭像 id
適用情境
適合讓助理依據某個特定網頁或你既有的文字回答問題,或需要可直接貼上的程式碼在網站上安裝 three.ws Concierge 聊天元件時使用。
執行需求
透過 npx 從 npm 套件 @three-ws/concierge-mcp 以 stdio 在本機執行(需要 Node.js)。不需 API 金鑰或帳號。提問工具需要網路連線,會呼叫 three.ws 的公開回答端點。選用環境變數:THREE_WS_BASE、THREE_WS_TIMEOUT_MS 與 CONCIERGE_PAGE_TIMEOUT_MS。
安裝前請注意
提問工具會抓取你提供的網址,並把擷取的頁面文字送到 three.ws 回答服務,因此不要指向私密或敏感頁面。免費回答通道有依 IP 的速率限制(HTTP 429)。嵌入程式碼會載入 CDN 建置版本並指向所設定的 THREE_WS_BASE 來源。另外兩個工具為離線產生器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 three.ws Concierge,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[three.ws]

@three-ws/concierge-mcp

Ask any website's AI concierge a grounded question, and generate the embed to add one to a site, from any AI assistant.

[npm] [license] [node] [MCP Registry] [three.ws]


A Model Context Protocol server that puts the three.ws Concierge, the embeddable AI chat widget with a talking 3D avatar, in reach of any AI assistant over stdio.

Three tools:

ToolWhat it doesNetwork
concierge_askAsk a website's AI concierge a question. Give it a url and it fetches that page and answers grounded in the real content (title, headings, nav, main text), the way to ask any website a question. Or pass knowledge/content to answer from text you already have.Free three.ws lane + fetches the URL
concierge_embedGenerate ready-to-paste embed code that adds a Concierge to a website: the one-tag <script>, the <three-concierge> web component, an npm snippet, or an imperative mount() call, configured with accent, avatar, greeting, curated knowledge, and suggested prompts.Offline
concierge_avatarsList the rigged 3D avatars a Concierge can wear.Offline

No API key, no signer, no payment. concierge_ask runs on the public, free POST /api/concierge answer lane; the other two are pure local generators.

Install

bash
npm install @three-ws/concierge-mcp

Or run with npx (no install):

bash
npx @three-ws/concierge-mcp

Quick start

Claude Code, one line:

bash
claude mcp add concierge -- npx -y @three-ws/concierge-mcp

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

json
{	"mcpServers": {		"concierge": {			"command": "npx",			"args": ["-y", "@three-ws/concierge-mcp"]		}	}}

Inspect the surface with the MCP Inspector:

bash
npx -y @modelcontextprotocol/inspector npx -y @three-ws/concierge-mcp

What you can do with it

Ask any website a question, grounded in its real content:

Use concierge_ask to answer "what does the Pro plan include?" from https://example.com/pricing

The server fetches the page, harvests its readable text, sends it to the concierge answer engine, and returns an answer that is told not to invent anything the page doesn't say.

Ask from text you already have (no URL):

concierge_ask: question = "what's the refund window?", knowledge = "Returns accepted within 30 days."

Generate a copy-paste embed for a site:

Use concierge_embed for siteName "Acme", accent "#f97316", avatar "nova", suggestions ["What is Acme?", "Pricing?"], flavor "script"

Returns the exact <script> tag to drop into the site's HTML.

Pick an avatar first:

concierge_avatars → then use the id you like as concierge_embed's avatar

Tools in detail

concierge_ask

Read-only, open-world.

ParameterTypeNotes
questionstring (required)The question, in natural language.
urlstring (url)A page to ground the answer in. Fetched + harvested.
siteNamestringDisplay name; inferred from the page when omitted.
knowledgestringCurated authoritative facts. Leads over harvested text.
contentstringRaw text to ground in when you pass no url.
personastringTone instruction for the reply.
langstringBCP-47 hint, e.g. en, es.

At least one of url, knowledge, or content is required. Returns { ok, question, answer, grounded_in, provider, model, endpoint }.

concierge_embed

Read-only, idempotent, offline.

Key parameters: siteName, flavor (script | web-component | npm | imperative | all, default all), accent, avatar, customAvatar, position, theme, greeting, persona, knowledge, suggestions[], endpoint, muted, open, noPicker, noTeaser, lang. Returns { ok, flavor, snippets, applied_config, docs }. The script, web-component, and imperative snippets are all plain-HTML paste-ready (they load the CDN global build); the npm snippet is for bundler users.

concierge_avatars

Read-only, idempotent, offline. No parameters. Returns { ok, default, count, avatars, note }, each avatar carrying id, name, tagline, style, and framing.

Configuration

All optional environment variables:

VariableDefaultPurpose
THREE_WS_BASEhttps://three.wsAPI origin for the answer call + the origin the embed snippets point at.
THREE_WS_TIMEOUT_MS45000Timeout for the concierge answer (it may fail over across LLM providers).
CONCIERGE_PAGE_TIMEOUT_MS12000Timeout for fetching a page in concierge_ask.

Errors

A failed tool call returns an MCP error result (isError: true) whose text is a single JSON object: { "ok": false, "error": "<code>", "message": "…" }, plus status on upstream rejections:

errorMeaningRecovery
bad_requestBad arguments: no url/knowledge/content on concierge_ask, a non-http(s) url, or an unknown avatar id.Fix the call.
unsupported_mediaThe fetched url is not an HTML/text page.Point at a readable page, or pass content.
upstream_errorThe answer endpoint rejected the request; status carries the HTTP code (429 = the free lane's IP rate limit).Act on status; back off on 429.
stream_errorThe answer stream failed before completing.Retry.
timeoutNo answer within THREE_WS_TIMEOUT_MS, or the page fetch outran CONCIERGE_PAGE_TIMEOUT_MS.Retry or raise the timeout.
network_errorThe request never reached the API (DNS, offline, TLS).Check connectivity / THREE_WS_BASE.
bad_configTHREE_WS_TIMEOUT_MS is not a positive number. Thrown while the server starts (module load), so the process exits before serving.Fix the env var.

How it relates to the widget

This server is the agent-facing side of @three-ws/concierge, the browser widget. Same answer engine, same avatar catalog, same grounding model, exposed as MCP tools so an assistant can use a site's concierge or install one, not just a human visitor.

Develop

bash
npm test    # node --test, offline (registration, harvest, embed, SSE parsing)npm start   # run the server over stdio

A live end-to-end check against a running three.ws (test/_manual-e2e.mjs) drives all three tools through a real stdio client; see the file header to run it.

License

Apache-2.0. See LICENSE. Free to run against the public three.ws API.

來源:packages/concierge-mcp/README.md,提交 c8f2cde

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.1最新Oct 10, 2026
  2. v0.1.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

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

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