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 分