Quelvio

com.quelvio由 quelvio.com 發布官方發布者v1.1.0更新於 Oct 27, 2026

Your company's brain for AI agents. Cited, permission-aware knowledge across every system.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

Quelvio 讓助理檢索企業已連結的知識(Drive、SharePoint、Confluence、Slack、Notion),回傳附引用且依權限過濾的答案。

可以做什麼
  • 在已連結的企業資料來源中檢索,回傳附編號引用的綜合答案與排序後的來源片段,支援 fast、standard、deep 三種模式
  • 列出已索引的分類領域及其文件數、專家數與覆蓋等級,用來判斷是否值得發出查詢
  • 依先前查詢的 query_id 取得逐片段來源資訊,例如文件路徑、生命週期狀態、嵌入時間與貢獻者
  • 在結果中附上權杖消耗、覆蓋情形與截斷標記等中繼資料
適用情境
適合讓助理根據組織內部文件與聊天紀錄而非公開網路回答問題,並要求答案附引用、遵循每位員工原有的資料來源權限。可先查看分類領域,避免為未索引的主題付費查詢。
執行需求
需要遠端 Streamable HTTP 端點;無需設定 API 金鑰或請求標頭。首次使用時會透過組織託管的 Clerk 登入頁在瀏覽器登入,OAuth 權杖可重複使用至到期(約 30 天)或被撤銷。不支援 Streamable HTTP 的舊用戶端可用 npm 套件作為本機 stdio 橋接,需 Node.js,並會在本機開啟 OAuth 回呼監聽。
安裝前請注意
查詢會消耗計費的 Knowledge Token:fast 為 1,500、standard(預設)為 12,500、deep 為 25,000,列出分類領域與來源詳情不消耗,因此頻繁或深度查詢可能累積費用。查詢綁定個人員工身分並依資料來源 ACL 過濾,只能看到該帳號原本即可見的內容。登入經由組織的身分提供者完成,權杖可在廠商企業管理後台撤銷。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "quelvio": {
      "type": "http",
      "url": "https://mcp.quelvio.com/http"
    }
  }
}

README

@quelvio/mcp-server

Quelvio MCP server — search your company's connected knowledge from any AI tool that speaks the Model Context Protocol.

Endpoint: https://mcp.quelvio.com/http (Streamable HTTP, MCP spec 2025-03-26) Source: Quelvio/quelvio-mcp-server License: MIT

Tools

ToolPurposeKnowledge Tokens
query_knowledgePrimary search across the tenant's connected sources (Drive, SharePoint, Confluence, Slack, Notion). Modes: fast, standard (default), deep.1,500 kT (fast) / 12,500 kT (standard) / 25,000 kT (deep)
list_domainsDiscovery — list taxonomy domains with coverage levels. Use to decide whether the brain has relevant knowledge before issuing a billable query.0 kT
get_source_detailPer-chunk provenance for a previous query: document path, lifecycle state, embedding timestamp, contributor, last-updated. Pass a query_id from an earlier query_knowledge response.0 kT

Permission model

Every MCP query is scoped to your individual employee identity, not just your tenant. The server applies the same three-layer access model the dashboard uses:

  1. Tenant isolation — Qdrant collections are per-tenant; cross-tenant content is structurally unreachable.
  2. Role-based feature access — Owner / Admin / Member determines which tools are callable.
  3. Source permission filtering — permission_emails on every chunk, resolved at ingest time from the source system's ACLs (Google Drive shares, SharePoint groups, Confluence space restrictions). MCP queries see only what your individual account would see in those source systems.

The source-permission filter is unconditional — there is no flag, env var, or dashboard toggle that disables it. The MCP server records the per-employee identity on every query so cross-employee provenance inspection via get_source_detail is rejected with 404 (only Owner/Admin can view another member's queries).

Sign in

There is no API key to provision. The first time you use Quelvio MCP from any client, you'll be redirected to your organization's sign-in page (Clerk-hosted, the same one the dashboard uses). After signing in, your client resumes automatically. Subsequent queries reuse the OAuth token until it expires (~30 days) or you revoke it from enterprise.quelvio.com.

If your AI assistant prompts you for a "Bearer token" or "API key" header in the JSON config, you have an outdated configuration — delete the headers block and let your client manage OAuth. The migration is automatic: the next time you invoke a tool, the client opens a browser tab for sign-in.

Install

Claude Desktop (and Claude Web)

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

json
{  "mcpServers": {    "quelvio": {      "url": "https://mcp.quelvio.com/http"    }  }}

Restart Claude Desktop. On first use Claude opens a browser tab pointing at Clerk's hosted sign-in page; complete sign-in and Claude resumes automatically.

Cursor

Add to .cursor/mcp.json in your project root (or globally at ~/.cursor/mcp.json):

json
{  "mcpServers": {    "quelvio": {      "url": "https://mcp.quelvio.com/http"    }  }}

Cursor handles the OAuth round-trip the same way Claude does.

Claude Code

bash
claude mcp add quelvio --transport http https://mcp.quelvio.com/http

VS Code (Copilot)

Add to .vscode/mcp.json:

json
{  "servers": {    "quelvio": {      "type": "http",      "url": "https://mcp.quelvio.com/http"    }  }}

stdio bridge (older clients)

For MCP clients that don't speak Streamable HTTP yet, install the npm package:

bash
npm install -g @quelvio/mcp-server

Then point your client at the binary:

json
{  "mcpServers": {    "quelvio": {      "command": "quelvio-mcp"    }  }}

The binary opens a local OAuth listener on a random 127.0.0.1 port and proxies all subsequent JSON-RPC to https://mcp.quelvio.com/http.

OAuth flow

The MCP server is an OAuth 2.1 + PKCE (S256) protected resource. Bearer tokens are opaque, KV-backed, and AES-GCM encrypted at rest. RFC 9728 + RFC 8414 discovery is wired:

  • GET /.well-known/oauth-protected-resource — resource metadata
  • GET /.well-known/oauth-authorization-server — authorization server metadata
  • GET /oauth/authorize — 302 to Clerk hosted sign-in (with PKCE state stashed in KV)
  • GET /oauth/callback — Clerk session JWT → POST /v1/auth/sso-bridge mints a per-employee ephemeral key → 302 back to client redirect_uri
  • POST /oauth/token — auth_code or refresh_token grant
  • POST /oauth/revoke — invalidate a token

Modern MCP clients auto-bootstrap the flow when they hit a 401 with the WWW-Authenticate: Bearer ... resource_metadata=... challenge. Cursor and Claude Desktop do this transparently.

v0.8.8 foundation deletion: the legacy paste-an-API-key form path (POST /oauth/authorize with a qlv_ent_* key in the form body) is gone. Customers using paste-key MCP must complete the OAuth/Clerk round-trip on first use; the migration is automatic — the client just opens a browser tab the next time you invoke a tool.

Examples

1. query_knowledge — find an answer with citations

ask Claude: "What's our deployment process for the payments service?"
Claude calls: query_knowledge(query="deployment process payments service")
Response: synthesized answer with [n] citations + structured metadata block includingquery_id, coverage level, retrieval execution state, latency, and tokens consumed.(Default mode is `standard` — synthesis is built in. Use `mode="deep"` for complexanalytical questions, `mode="fast"` for keyword-style retrieval with no synthesis.)

2. list_domains — discover what's indexed before querying

ask Claude: "What taxonomy domains does our company have indexed?"
Claude calls: list_domains()
Response: list of every domain with document count, expert count, coverage level(expert | partial | none), top contributor by authority, and the single_expert riskflag where applicable.

3. get_source_detail — verify a citation

After a query_knowledge call returned [3] citations, ask Claude:"Show me the actual source for citation [3]."
Claude calls: get_source_detail(query_id="<uuid from prior query>")
Response: per-chunk provenance — document path, lifecycle state (live | stale |superseded | user_deleted), embedding timestamp + model, contributor name + department,authority score, taxonomy domain.

Pricing

Knowledge Token consumption per tool call (v0.9 frozen constants):

  • query_knowledge with mode=fast : 1,500 kT (retrieval-only, no synthesis)
  • query_knowledge with mode=standard : 12,500 kT (default; synthesis bundled)
  • query_knowledge with mode=deep : 25,000 kT (wider retrieval + premium synthesis)
  • list_domains : 0 kT
  • get_source_detail : 0 kT

These costs are frozen at the v0.9 Contract Lock. The dashboard's billing page (/billing) shows the live per-tenant daily Knowledge Token pool and the projected next invoice.

Self-hosting / development

bash
cd mcp-serverpnpm install
# Local devpnpm dev
# Deploy to Cloudflare Workerswrangler secret put TOKEN_ENCRYPTION_KEY    # 32 bytes hex (openssl rand -hex 32)wrangler secret put CLERK_SIGN_IN_URL       # Clerk hosted sign-in URLpnpm deploy

The Worker is stateless — every OAuth artifact (auth codes, access tokens, refresh tokens) lives in the bound KV namespace. No Durable Objects.

Protocol

  • Transport: Streamable HTTP (MCP spec 2025-03-26)
  • Endpoint: POST /http with Content-Type: application/json
  • Health check: GET / or GET /http returns server info
  • Methods: initialize, tools/list, tools/call, ping
  • Streaming: when tools/call query_knowledge carries Accept: text/event-stream AND mode is standard|deep (the two v0.9 tiers that synthesize), the server proxies the backend's SSE pipeline. fast never streams (no synthesis body to incrementally produce). The MCP response is still a single JSON body — token-by-token streaming to the MCP client lands when the spec adds native output deltas.
  • Response cap: Claude Connectors' 25,000-token-per-tool-result limit is enforced server-side. Truncation order: drop excerpts past 200 chars first, then drop lowest-rank sources (preserving ≥3), then truncate the synthesis body. Truncation is signalled via truncated: true in the structured metadata block so agents can re-issue with a smaller max_sources.

Release process

Publishes go through .github/workflows/publish.yml via npm Trusted Publishing (OIDC). No long-lived NPM_TOKEN lives in this repo or in GitHub Actions secrets.

To ship a new version:

bash
# 1. Bump version + commitnpm version patch   # or minor / majorgit push origin main
# 2. Push the matching tag — this triggers the publish workflowgit push origin v$(node -p "require('./package.json').version")

The workflow verifies the tag matches package.json, type-checks, builds, and runs npm publish --provenance --access public. SLSA provenance is attached to every release.

One-time bootstrap on npmjs.com (operator step):

  • Package: @quelvio/mcp-server → Settings → Trusted Publishers → Add
  • Repository owner: Quelvio
  • Repository name: quelvio-mcp-server
  • Workflow filename: publish.yml

Changelog

See CHANGELOG.md.

來源:README.md,提交 cae23ed

工具

3

query_knowledge

Search company knowledge

Search the company's connected knowledge across every source — Drive, SharePoint, Confluence, Slack, Notion — with cited synthesized answers, lifecycle awareness, and refusal-on-weak-context. Returns a written answer with [n] citations plus the ranked source chunks. Modes: `fast` (1,500 kT — retrieval-only, no synthesis), `standard` (12,500 kT — default; synthesized answer over the top retrieval set), `deep` (25,000 kT — wider retrieval + premium synthesis for complex questions). Pick the cheapest tier that answers the question. Responses are capped at 25,000 output tokens per Claude Connectors policy; if truncated, structured metadata carries `truncated: true` and `query_id` so the agent can call `get_source_detail` for full provenance.

輸入參數modequery必填domainmax_sources

list_domains

List indexed domains

List the taxonomy domains the company has indexed — with document counts, expert counts, and coverage levels — so an agent can decide whether to query before spending a Knowledge Token. Returns one row per domain with the canonical `taxonomy_domain` slug, document/chunk counts, expert count, coverage level (expert | partial | none), the single_expert risk flag, and the top contributor by authority. Use the slug as the `domain` filter on a follow-up `query_knowledge` call. Zero Knowledge Tokens consumed.

輸入參數coverage_filter

get_source_detail

Get source detail

Return per-chunk source provenance for a previous query — document path, lifecycle state, embedding timestamp, contributor, last-updated — useful for verifying a citation or surfacing trust signals to a downstream system. Pass a `query_id` returned by an earlier `query_knowledge` call. Returns 404 if the query_id is unknown OR belongs to a different tenant (indistinguishable to prevent info-leak). Zero Knowledge Tokens consumed.

輸入參數query_id必填

版本歷史

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

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分