About elicitation-auditor
elicitation-auditor statically analyzes MCP server source code for security anti-patterns in elicitation flows. It is intended for developers and checks risks such as secrets in forms, authorization URLs, identity handling, and ignored cancellations.
Key features
- 01Scan for elicitation security anti-patterns
- 02Check whether forms request secrets
- 03Detect authorization URLs and sensitive URL data
- 04Check whether form answers are treated as identity
- 05Find code that ignores decline or cancellation
Use cases
- 01Review elicitation implementations in MCP servers
- 02Check source code for security issues before submission
- 03Export scan findings as text, JSON, or SARIF
MCP support
As an MCP server, it exposes tools to scan text, individual files, and directories, and to list the checks.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| label | string | No | Optional label shown in findings (e.g. filename) |
| content | string | Yes | The code content to scan |
Details
From the project README@guardbee/mcp-elicitation-auditor
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
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=1it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields likecontent,tokenorpasswordare 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/createwith mode omitted orform, whose schema asks forpassword,apiKey,access_token,cvv, and the same family. A name and email form is allowed by the spec and is not flagged.secretQuestionis not treated assecret. - Direct third-party authorize. URL mode whose
urlpath containsauthorize,oauth, oroauth2, unless the path goes through your own/connectroute. 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, oremail. The URL is shown to the MCP client. - Cleartext HTTP, except
localhostand127.0.0.1. - Clickable URL in a form. A form message or field description that contains an
httplink. 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 toreq.user, with no comparison to the tokensubclaim. - Ignored decline/cancel. Code reads
.contentand never looks at.action,decline, orcancel. Checkingaction !== "accept"is enough. Sending the email as a notification address is not treated as an identity check.
Tools
| Tool | Purpose |
|---|---|
scan_text | Scan a source string |
scan_file | Scan one file |
scan_directory | Recursive scan |
list_patterns | List the checks |
CLI
npx @guardbee/mcp-elicitation-auditor scan <path> [--fail-on=any] [--format=text|json|sarif]
guardbee.yml:
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.