A side-by-side look at the Agentcast and Promptlint MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Agentcast for conversational ai work as a local process; choose Promptlint MCP for conversational ai as a local process. You can also run both side by side in one mcpServers block.
extract_json, validate_response, build_retry_prompt.lint_prompt, trim_prompt.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Conversational AI | Conversational AI |
| Quality signal | 57/100 · Good | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 3 | 2 |
| Full listing | View Agentcast | View Promptlint MCP |
extract_jsonPull a JSON value out of messy LLM output. Tries the whole text, then a fenced ```json``` block, then the largest balanced {...}/[...] substring. Returns the parsed value plus which strategy succeeded.validate_responseValidate a parsed JSON value against an agentcast shape spec. Spec maps field name to type: 'string', 'number', 'boolean', 'array', 'object'. Suffix with '?' for optional. Returns valid=true on success, or valid=false with a human-readable error string suitable for retry feedback.build_retry_promptGiven an attempt history, produce the retry feedback message agentcast would append to the conversation when the model returned the wrong shape. Codifies the "validation error as feedback" pattern for non-Node MCP clients.lint_promptTwo `text` content items: `[0]` human one-line summary (`"score: X/100 · issues: N · tokens: A → B …"`), `[1]` full JSON of the `lint()` result (parse with `JSON.parse(result.content[1].text)`).trim_promptTwo `text` content items: `[0]` the trimmed prompt, `[1]` a savings footer (`"Saved N tokens (P%). Original: A, trimmed: B."`). Does NOT resolve contradictions, redundancy, or ambiguity — run `lint_prompt` for those.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"agentcast": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/agentcast-mcp"
]
}
}
}
{
"mcpServers": {
"promptlint-mcp": {
"command": "npx",
"args": [
"-y",
"-p",
"promptlint-mcp",
"promptlint"
]
}
}
}