DecisionLint: Jev/Luna Lint
Lint Jev and Luna decision-model questions, or ask the model to check them with your key.
Connector by nolindnaidoo · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/nolindnaidoo-decisionlint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 6 read · 2 write · 0 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 8
Read from the source code; the running server may list different tools.
Read 6 · Look things up without changing anything.
ask_modelexplain_rulelint_pathslint_textlist_rulesplan_ask
Write 2 · Create, change, send or run things.
fix_textprobe_question
Network hosts it talks to 19
ai-gateway.vercel.sh· found in codeapi.liquid.ai· found in codeapi.llmgateway.io· found in codeapi.openai.com· found in codeapi.typesafe.ai· found in codebiomejs.dev· found in codedevelopers.openai.com· found in codedocs.liquid.ai· found in codedocs.litellm.ai· found in codedocs.llmgateway.io· found in codedocs.typesafe.ai· found in codeedenai.co· found in codegithub.com· found in codehuggingface.co· found in codejson.schemastore.org· found in codeletools.dev· found in codeopenrouter.ai· found in coderaw.githubusercontent.com· found in codevercel.com· found in code
Files it touches
/dev/stderr- Your home directory (~)
Tools (8)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
ask_modelCheck with the modelAsk the model itself, TypeSafe's Jev or OpenAI's Luna, to check the questions in the given text or paths after linting them: overlapping options, a question that needs counting, a label that does not match its description, and the other checks list_rules marks runsHere: false. This sends the questions to the vendor with the user's own API key and costs money, so call it only when the user asks for a check with Jev or Luna, never on every edit, and use plan_ask first when the cost matters. The key is read from the platform's own variable, TYPESAFE_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, AI…
explain_ruleExplain a ruleA rule's own page, as Markdown: what it catches, an example that is flagged with the message the linter gives, one that is not, how to fix it and how to silence it. Use it before making a fix that fix_text leaves to you, or before silencing a finding.
fix_textFix textApply the safe fixes to a request body or source code passed as text, and return the mended text with how many findings were mended and the report of what is left. A safe fix only mends what the API would refuse: a criteria key written yes where it takes true, a mistyped question type, criteria in the wrong shape. A fix that changes what a working request does, such as adding a fallback option or pinning a model, is never applied here. It stays in the report with its edit marked safe: false, for you to make or to leave. Nothing is written to disk and nothing is sent over the network.
lint_pathsLint filesLint the Jev and OpenAI Decisions questions in files or directories on disk. A directory is searched for the file types the linter reads. Returns the same report as lint_text, one entry per file. It sends nothing over the network.
lint_textLint textLint questions written for a decision model before they are sent: TypeSafe's Jev (System One, /v1/systemone) and OpenAI's Decisions API (gpt-6-luna, /v1/decisions), in either request shape, or the Vercel AI SDK's decide() for both. Pass a request body as JSON, or source code that builds one. Returns each finding with its rule, message, position and docs link, the edit that would mend it when there is one, plus how many questions were found and how many could not be read in full. Use it after writing or changing a question. It sends nothing over the network.
list_rulesList rulesList every rule with its code, name, what it catches, default level, its own page with an example, the vendor page behind it, and whether it runs offline here or only when ask_model asks the model.
plan_askPlan a check with the modelSay what ask_model would send for the given text or paths, and send nothing: how many requests, to which model, about how many input tokens, how many questions are held back for having a part built at runtime, and how many fall past maxCalls. Needs no key. Call it first when the user wants to know the cost of a check before paying for it.
probe_questionProbe a questionSend one question to Jev several times, as written and with its layout changed, options reversed, labels hidden, levels reversed, criteria removed, to see whether the answer holds. Returns a report as Markdown with a verdict and which variants moved the decision. The text must carry the state the question is asked against, and when it has more than one question, questionId names the one. Asks Jev only, about a dozen requests, with the user's TypeSafe key found the way ask_model finds it. It costs money, so call it only when the user asks to probe a question.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 20
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 16, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.nolindnaidoo/decisionlint- Version
- 1.0.1
- Auth
- No auth
- Packages
- npm decisionlint-mcp
- License
- MIT
- Repository
- github.com/nolindnaidoo/decisionlint
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from nolindnaidoo
- 0.624score

Regex-LE
nolindnaidoo
Extract regular expressions from code, each with a ReDoS safety verdict.
ConnectorAFreshness: ALocalRead-only★ 2Claude Code +5 - 0.612score

EnvSync-LE
nolindnaidoo
Compare dotenv files and report which keys are missing or extra, by name only.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.612score

Numbers-LE
nolindnaidoo
Extract numeric values from config files, data files and plain text.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.612score

Paths-LE
nolindnaidoo
Extract file and directory paths from config files and code, with their kind and position.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.612score

IDs-LE
nolindnaidoo
Extract every UUID, ULID, NanoID, ObjectId and Snowflake, and decode the time inside.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5 - 0.612score

Colors-LE
nolindnaidoo
Extract colors from stylesheets and code, with their notation and position.
ConnectorAFreshness: ALocalRead-only★ 1Claude Code +5
Cite this page
DecisionLint: Jev/Luna Lint MCP server. Agent Mart. https://agentmart.dev/connectors/nolindnaidoo-decisionlint (last updated 2026-10-24)