Static linter for AI prompts: contradictions, redundancy, ambiguity, and fluff.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-sean-sunagaku-promptlint-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Static linter for AI prompts: contradictions, redundancy, ambiguity, and fluff.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Manage Supabase projects — databases, auth, storage, and edge functions
An open-source AI agent that brings the power of Gemini directly into your terminal.
MCP Security Weekly
Get CVE alerts and security updates for io.github.sean-sunagaku/promptlint-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Lint AI prompts like code. Save tokens. Catch contradictions.
A static analyzer for AI prompts — system prompts, agent instructions, tool descriptions — that runs as a CLI and as an MCP server so Claude Code (or any MCP-aware agent) can lint prompts before sending them.
Run promptlint on a typical (silently broken) system prompt:
$ node src/cli.mjs examples/bad-prompt.md
promptlint examples/bad-prompt.md
score 14/100
tokens 367 → 307 (-60, 16% saved)
issues 14
info [ambiguous-pronoun] Pronoun "that" has no clear referent (line 1)
→ Replace with a concrete noun, e.g. "this" → "the config file".
...
error [contradiction] Contradicting directives (length): "concise" vs "detailed"
→ Pick one, or scope each with a clear condition (e.g. by task type).
error [contradiction] Contradicting directives (commenting): "do not add comments" vs "explain each step"
→ Pick one, or scope each with a clear condition (e.g. by task type).
info [trailing-fluff] "please" fluff (match 1 of 1)
→ Delete. AIs do not need politeness tokens.
· Please
...
Two error-level contradictions caught, score clamped to 14/100, 60 tokens (16%) reclaimable via --trim.
And here's --trim in action on a small input:
$ echo "You are a helpful assistant. Please always be concise. Thank you for your help! When the user asks a question, handle it carefully." | node src/cli.mjs - --trim
You are a helpful assistant. Always be concise. When the user asks a question, handle it carefully.
See docs/promo/ for posting drafts and the (TODO) asciinema cast.
"be concise" + "be thorough" ships silently and
wastes tokens on every request. promptlint flags paired opposites
(length / tone / frequency / commenting / asking) as error.warn
apiece — delete one."use it" / "handle that" without a mid-sentence
referent is flagged with a line number. Start-of-sentence capitals do NOT
count as referents, so normal English doesn't false-positive.warn — examples are almost always trimmable to shape-only.Please / Thanks / I hope this helps / Let me know if… / Feel free to… are detected, counted, and (with --trim)
stripped while keeping your actual imperatives intact.Scope: English prompts, prose — not source code. A Japanese prompt or a file of JavaScript will look clean even if it isn't.
Install both the CLI and the MCP server in one go:
npm install -g promptlint-mcp
Two binaries are placed on your $PATH:
| Bin | What it is |
|---|---|
promptlint | the CLI (lint a file or stdin) |
promptlint-mcp | the MCP server (stdio transport) |
# CLI: lint a file
npx -p pro
... [View full README on GitHub](https://github.com/sean-sunagaku/promptlint-mcp#readme)