MCP App Store
by KeenEthics
Developer-Tools
Voice Agent Linter by Modern Mustard Seed icon

Voice Agent Linter by Modern Mustard Seed

by Modern Mustard Seed

Overview

Voice Agent Linter checks a phone voice agent against rules learned from failures on live calls. Paste the system prompt, and the config JSON if you have it. Every finding names the rule, its severity, the exact line (and JSON path for config), an excerpt and the fix. It catches an agent never told today's date and dates written without a year; phone numbers, emails, web addresses, ranges and long numbers the voice will misread; no spelling protocol for names and emails; instructions to pass as human, a missing AI disclosure and a missing recording notice; scripted tool start lines and stall phrases that cause dead air, and silent or overlong openers; tools with no description, untyped or undescribed parameters, undefined required fields, date parameters with no format and results that are never described; Vapi enums inside array items and flat analysis keys; ElevenLabs Turbo voice models that insert words; no path to a person and no way to end the call; and unfilled placeholders, secrets, very long prompts and instructions that contradict each other. Vendor rules cite the vendor's documentation, and disclosure and recording rules cite the law with the date it was read. Results include a 0 to 100 score and a verdict. Every check is a rule, not a model, so the same input always gives the same answer. Nothing you paste is stored. All tools are read-only and need no sign-in.

Tools

explain_lint_rule

Claude
Explain one Voice Agent Linter rule by id: why it exists, a bad and a good example, the fix, the platforms it applies to, and its sources with the date each was read. Static reference, no network access.

lint_voice_agent

Claude
Check a phone voice agent’s system prompt and, optionally, its config JSON (Vapi assistant, Retell agent or LLM, ElevenLabs agent, or OpenAI Realtime session) against rule-based checks learned on live calls. Finds: no live date and dates without a year; phone numbers, emails, URLs, hyphen ranges and long numbers the voice will misread; no spelling protocol or bare-letter spelling; instructions to pass as human, missing AI disclosure and missing recording notice; scripted tool start lines, stall phrases and silent or long openers; tools with no description, untyped or undescribed parameters, undefined required fields, unformatted date parameters and unstated results; Vapi nested item enums, flat analysisPlan keys, disabled plans and plans without the transcript; ElevenLabs Turbo stutter risk; no transfer or callback path and no end-call; placeholders, secrets, very long prompts and contradictory always and never rules. Each finding has a rule id, severity, the exact line (and JSON path for config), an excerpt, a specific message and the fix; disclosure and recording rules carry their legal citations with the date read. Returns a 0 to 100 score and a verdict. Do not paste credentials: API keys, bearer tokens, passwords and the values of secret-named config fields (apiKey, secret, token, password, credentials, Authorization) are stripped from the input before any check runs and replaced with "[secret removed]", so they are never read, returned, logged or stored; the output says how many were removed. No model reads the input and nothing is stored. Informational, not legal advice.

list_lint_rules

Claude
List every Voice Agent Linter rule with its id, title, default severity, category, what it reads (prompt, config or both) and the platforms it applies to. Filter by platform or category. Static reference, no network access.

App Stats

3

Tools

Claude

Platforms

Works with

Claude

Data refreshed daily