Elicitation Auditor

io.github.GuardBee由 GitHub 帳號 GuardBee 發布v0.3.1更新於 Nov 3, 2026

MCP elicitation anti-patterns: secrets in forms, third-party authorize URLs, credentials in URLs

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

靜態掃描 MCP 伺服器原始碼中的 elicitation 反模式,例如表單索取密鑰、第三方授權 URL 與 URL 中夾帶憑證。

可以做什麼
  • 掃描原始碼字串、單一檔案,或遞迴掃描整個目錄中的 elicitation 反模式
  • 找出表單模式索取密鑰、表單中嵌入連結、直接指向第三方授權端點
  • 標記 URL 中夾帶憑證或個人資料、明文 HTTP、把表單答案當成身分、忽略拒絕或取消結果
  • 列出此稽核工具執行的所有 elicitation 檢查項目
適用情境
適合在開發或審查使用 elicitation 的 MCP 伺服器時,快速靜態檢查是否符合 2026-07-28 規格中表單模式與 URL 模式的區分,再決定是否發布。
執行需求
以本機 stdio 程序執行,從 npm 套件安裝,需要 Node.js 與 npx。不需 API 金鑰、不需驗證,也未宣告環境變數;僅做靜態分析。
安裝前請注意
遙測預設關閉;設定 GUARDBEE_TELEMETRY=1 後會將伺服器、工具、成功與否、耗時及檔案路徑等短參數值傳送給第三方,較長字串與 content、token、password 等欄位會以佔位符取代。掃描會讀取你的原始碼檔案。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

@guardbee/mcp-elicitation-auditor

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

[npm version] [npm downloads] [License: MIT]

An MCP server that scans MCP server source for elicitation anti-patterns in the 2026-07-28 specification.

That revision deprecated sampling and roots. Elicitation is the remaining way a server asks the client for something. Form mode collects structured data through the client. URL mode sends the user to a page the client must not read. The spec draws a hard line between them.

Telemetry is off by default. With GUARDBEE_TELEMETRY=1 it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields like content, token or password are replaced with a placeholder. See @guardbee/mcp-telemetry.

Claude ──► elicitation-auditor ──► MCP server source              │              ├─ form-secrets   (form mode asks for a password, API key, token, or card, or embeds a link)              ├─ url-binding    (URL mode opens a third-party /authorize endpoint directly)              ├─ url-exposure   (credential or email embedded in the elicitation URL)              ├─ transport      (cleartext http URL outside localhost)              ├─ identity       (a form answer is treated as who the user is)              └─ completion     (the result is used without checking decline or cancel)

What it flags

  • Form-mode secrets. elicitInput / ctx.elicit / elicitation/create with mode omitted or form, whose schema asks for password, apiKey, access_token, cvv, and the same family. A name and email form is allowed by the spec and is not flagged. secretQuestion is not treated as secret.
  • Direct third-party authorize. URL mode whose url path contains authorize, oauth, or oauth2, unless the path goes through your own /connect route. That is the forwarded-link phishing case in the spec: the user who opens the link must be checked against the MCP user before any redirect.
  • Credential or personal data in the URL. Query keys such as access_token, code, or email. The URL is shown to the MCP client.
  • Cleartext HTTP, except localhost and 127.0.0.1.
  • Clickable URL in a form. A form message or field description that contains an http link. The spec says that link belongs in URL mode.
  • Form answer used as identity. The submitted email or username is passed to findUser, loginAs, or assigned to req.user, with no comparison to the token sub claim.
  • Ignored decline/cancel. Code reads .content and never looks at .action, decline, or cancel. Checking action !== "accept" is enough. Sending the email as a notification address is not treated as an identity check.

Tools

ToolPurpose
scan_textScan a source string
scan_fileScan one file
scan_directoryRecursive scan
list_patternsList the checks

CLI

npx @guardbee/mcp-elicitation-auditor scan <path> [--fail-on=any] [--format=text|json|sarif]

guardbee.yml:

yaml
elicitation-auditor:  fail-on: high  max-files: 5000  exclude:    - ".test.ts"

No API key. Static analysis only.

Feedback

Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.

來源:packages/elicitation-auditor/README.md,提交 bc5997d

工具

4

scan_text

Scan MCP server source for elicitation anti-patterns from the 2026-07-28 spec: form mode requesting secrets or embedding a link, URL mode opened directly on a third-party authorize endpoint, credentials in the elicitation URL, a form answer used as the user's identity, and a result used without checking decline or cancel.

輸入參數labelcontent必填

scan_file

Scan a single file for elicitation anti-patterns

輸入參數path必填

scan_directory

Recursively scan a directory of MCP server source for elicitation anti-patterns

輸入參數path必填excludeincludemaxFiles

list_patterns

List every elicitation check this auditor runs

無需輸入參數。

版本歷史

3
  1. v0.3.1最新Oct 30, 2026
  2. v0.2.2Oct 22, 2026
  3. v0.1.2Oct 13, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分