three.ws Concierge
io.github.nirholasPublished by GitHub account nirholasv0.1.1Updated Nov 1, 2026
Ask any website's AI concierge a grounded question, and generate the embed to add one to a site.
Overview
Local stdio MCP server that lets an assistant ask a website's AI concierge grounded questions and generate embed code for adding a concierge widget to a site.
- What you can do
- Ask a website's concierge a question, optionally grounding the answer in a fetched page URL or in supplied knowledge or raw text
- Generate paste-ready embed snippets for a site concierge (script tag, web component, npm, or imperative mount) with accent, avatar, greeting, knowledge and suggested prompts
- List the rigged 3D avatars a concierge can wear, to pick an avatar id for the embed
- When to use it
- Useful when you want an assistant to answer questions from a specific web page or from text you already have, or when you need ready-to-paste code to install a three.ws Concierge chat widget on a site.
- Requirements
- Runs locally over stdio via npx from the npm package @three-ws/concierge-mcp (Node.js). No API key or account. Network access is needed for the question tool, which calls the public three.ws answer endpoint. Optional environment variables: THREE_WS_BASE, THREE_WS_TIMEOUT_MS and CONCIERGE_PAGE_TIMEOUT_MS.
Installation
In SourceWeft
- Open three.ws Concierge in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@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:
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
Or run with npx (no install):
Quick start
Claude Code, one line:
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
Inspect the surface with the MCP Inspector:
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.
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:
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:
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.
- Widget + docs: three.ws/concierge
- Reference docs: three.ws/docs/concierge
- Build tutorial: three.ws/docs/tutorials/build-a-site-concierge
Develop
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.
Source: packages/concierge-mcp/README.md at commit c8f2cde
Tools
0Version history
2- v0.1.1LatestOct 10, 2026
- v0.1.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts