Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

prodlint

de prodlintversión 0.10.6i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.prodlint/prodlint

Instalar

Resumen

Descripción del creador (original en inglés)

Production readiness for vibe-coded apps. 52 checks for security, reliability, and performance.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "prodlint": {
      "command": "npx",
      "args": [
        "-y",
        "prodlint-mcp"
      ]
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add prodlint -- npx -y prodlint-mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "prodlint": {
      "command": "npx",
      "args": [
        "-y",
        "prodlint-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "prodlint": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "prodlint-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub prodlint, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32441 servidores de esta categoría
  • Publicado en el registro más recientemente que el 86% de los otros 32441 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32441 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro prodlint?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.10.6) llegó al registro hace 5 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, Intervals MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado ayer
Instalar

Remote MCP server for intervals.icu run data and analysis

Se ejecuta en tu computadoraActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

prodlint

Production readiness for vibe-coded apps.

Static analysis for vibe-coded apps. Flags the security, reliability, performance, and AI quality issues that Cursor, v0, Bolt, and Copilot create — hallucinated imports, missing auth, hardcoded secrets, unvalidated server actions, and more. Zero config, no LLM, 52 rules.

npx prodlint
  prodlint v0.10.6

Scanned 148 files · 2 critical · 5 warnings · 1 info

src/app/api/checkout/route.ts 12:1 INFO No rate limiting — anyone could spam this endpoint and run up your API costs rate-limiting 28:5 WARN Empty catch block silently swallows error shallow-catch

src/actions/submit.ts 5:3 CRIT Server action uses formData without validation next-server-action-validation ↳ Validate with Zod: const data = schema.safeParse(Object.fromEntries(formData))

src/lib/db.ts 1:1 CRIT Package "drizzle-orm" is imported but not in package.json hallucinated-imports

Scores security 72 ████████████████░░░░ (8 issues) reliability 85 █████████████████░░░ (4 issues) performance 95 ███████████████████░ (1 issue) ai-quality 90 ██████████████████░░ (3 issues)

Overall: 82/100 (weighted)

2 critical · 5 warnings · 4 info

Why?

Vibe coding is the fastest way to build. Shipping fast means knowing your code is production-ready — not just that it compiles. Hardcoded secrets, hallucinated packages, missing auth, and XSS vectors pass type-checks and look correct — but they aren't ready for production.

prodlint checks what TypeScript and ESLint don't: whether your vibe-coded app is ready for production.

Install

npx prodlint                              # Run directly (no install)

npx prodlint ./my-app # Scan specific path npx prodlint --json # JSON output for CI npx prodlint --sarif # SARIF 2.1.0 for GitHub Code Scanning npx prodlint --summary # Quick pass/fail + top 3 blockers npx prodlint --profile startup # Only critical findings npx prodlint --profile strict # All findings including info npx prodlint --baseline .prodlint-baseline.json # Only new findings npx prodlint --ignore "*.test.ts" # Ignore patterns npx prodlint --min-severity warning # Only warnings and criticals npx prodlint --quiet # Suppress badge output

Or install it:

npm i -D prodlint     # Project dependency

npm i -g prodlint # Global install

52 Rules across 4 Categories

Security (27 rules)
RuleWhat it checks
secretsAPI keys, tokens, passwords hardcoded in source
auth-checksAPI routes with no authentication
env-exposureNEXT_PUBLIC_ on server-only secrets
input-validationRequest body used without validation
cors-configAccess-Control-Allow-Origin: *, wildcard + credentials escalated to critical
unsafe-htmldangerouslySetInnerHTML with user data
sql-injectionString-interpolated SQL queries (ORM-aware)
open-redirectUser input passed to redirect()
rate-limitingAPI routes with no rate limiter
phantom-dependencyPackages in node_modules but missing from package.json
insecure-cookieSession cookies missing httpOnly/secure/sameSite
leaked-env-in-logsprocess.env.* inside console.log calls
insecure-randomMath.random() used for tokens, secrets, or session IDs
next-server-action-validationServer actions using formData without Zod/schema validation
env-fallback-secretSecurity-sensitive env vars with hardcoded fallback values
verbose-error-responseError stack traces or messages leaked in API responses
missing-webhook-verificationWebhook routes without signature verification
server-action-authServer actions with mutations or AI model calls but no auth check
eval-injectioneval(), new Function(), dynamic code execution
next-public-sensitiveNEXT_PUBLIC_ prefix on secret env vars
ssrf-riskUser-controlled URLs passed to fetch in server code
path-traversalFile system operations with unsanitized user input
unsafe-file-uploadFile upload handlers without type or size validation
supabase-missing-rlsCREATE TABLE in migrations without enabling RLS
deprecated-oauth-flowOAuth Implicit Grant (response_type=token)
jwt-no-expiryJWT tokens signed without an expiration
client-side-auth-onlyPassword comparisons or auth logic in client components
Reliability (11 rules)
RuleWhat it checks
hallucinated-importsImports of packages not in package.json
error-handlingAsync operations without try/catch
unhandled-promiseFloating promises with no await or .catch
shallow-catchEmpty catch blocks that swallow errors
missing-loading-stateClient components that fetch without a loading state
missing-error-boundaryRoute layouts without a matching error.tsx
missing-transactionMultiple Prisma writes without $transaction
redirect-in-try-catchredirect() inside try/catch — Next.js redirect throws, catch swallows it
missing-revalidationServer actions with DB mutations but no revalidatePath
missing-useeffect-cleanupuseEffect with subscriptions/timers but no cleanup return
hydration-mismatchwindow/Date.now()/Math.random() in server component render path
Performance (6 rules)
RuleWhat it checks
no-sync-fsreadFileSync in API routes
no-n-plus-oneDatabase calls inside loops
no-unbounded-query.findMany() / .select('*') with no limit
no-dynamic-import-loopimport() inside loops
server-component-fetch-selfServer components fetching their own API routes
missing-abort-controllerFetch/axios calls without timeout or AbortController
AI Quality (8 rules)
RuleWhat it checks
ai-smellsany types, console.log, TODO comments piling up
placeholder-contentLorem ipsum, example emails, "your-api-key-here" left in production code
hallucinated-api.flatten(), .contains(), .substr() — methods AI invents
stale-fallbacklocalhost:3000 hardcoded in production code
comprehension-debtFunctions over 80 lines, deep nesting, too many parameters
codebase-consistencyMixed naming conventions across the project
dead-exportsExported functions that nothing imports
use-client-overuse"use client" on files that don't use any client-side APIs

Smart Detection

prodlint avoids common false positives:

  • AST parsing — Babel-based analysis for 14 rules (imports, catch blocks, redirects, redirects in try/catch, SSRF, path traversal, JWT, HTML injection, hydration, transactions, env leaks, loops, SQL, route handlers) with regex fallback
  • Monorepo support — npm/yarn/pnpm workspace dependencies resolved automatically
  • Framework awareness — Prisma, Drizzle, Supabase, Knex, and Sequelize whitelists prevent false SQL injection flags
  • Middleware detection — Clerk, NextAuth, Supabase middleware (middleware.ts, or proxy.ts on Next.js 16) detected — auth findings downgraded
  • Block comment awareness — patterns inside /* */ are ignored
  • Path alias support — @/, ~/, and tsconfig paths aren't flagged as hallucinated imports
  • Route exemptions — auth, webhook, health, and cron routes are exempt from auth/rate-limit checks
  • Test/script file awareness — lower severity for non-production files
  • Fix suggestions — findings include actionable fix hints with remediation code

Scoring

Each category starts at 100. Deductions per finding:

SeverityDeductionPer-rule cap
critical-8max 1
warning-2max 2
info-0.5max 3

Diminishing returns: after 30 points deducted in a category, further deductions are halved; after 50, quartered.

Weighted overall: security 40%, reliability 30%, performance 15%, ai-quality 15%. Floor at 0. Exit code 1 if any critical findings exist.

GitHub Action

Add to .github/workflows/prodlint.yml:

name: Prodlint

on: [pull_request]

jobs: scan: runs-on: ubuntu-latest steps:

  • uses: actions/checkout@v4
  • uses: prodlint/prodlint@v1 with: threshold: 50

Posts a score breakdown as a PR comment, and fails the build when the scan finds critical issues or the score is below threshold. Each release of the action runs its matching prodlint version, so pinning the action (@v1, a version tag, or a commit SHA) also pins the scanner.

InputDefaultDescription
path.Path to scan
threshold0Minimum score to pass (0-100)
fail-on-criticaltrueFail when the scan finds critical issues; false reports them without failing
ignoreComma-separated glob patterns to ignore
commenttruePost PR comment with results
OutputDescription
scoreOverall score (0-100)
criticalNumber of critical findings
SARIF + GitHub Code Scanning

Upload prodlint results to GitHub's Security tab:

- name: Run prodlint

run: npx prodlint --sarif > prodlint.sarif

  • name: Upload SARIF uses: github/codeql-action/upload-sarif@v4 with: sarif_file: prodlint.sarif category: prodlint
Baseline for Existing Projects

Adopt prodlint gradually without drowning in pre-existing findings:

# Save current state as baseline

npx prodlint --baseline-save .prodlint-baseline.json

CI only fails on NEW findings

npx prodlint --baseline .prodlint-baseline.json

MCP Server

Use prodlint inside Cursor, Claude Code, or any MCP-compatible editor:

Claude Code:

claude mcp add prodlint -- npx -y prodlint-mcp

Cursor / Windsurf:

{

"mcpServers": { "prodlint": { "command": "npx", "args": ["-y", "prodlint-mcp"] } } }

prodlint-mcp is a thin launcher for the server built into prodlint. It's published with every prodlint release, so it always runs the matching scanner.

Ask your AI: *"Run prodlint on this project"* and it calls the scan tool directly.

ToolInputsReturns
scanpath (project directory), optional ignore, minSeverity (critical / warning / info), categories, maxFindings (default 30)Score, category scores, and findings most severe first. Every critical finding is listed, even past maxFindings.
scan-weburlSite score, grade, and the 14 agent-readiness checks

Both tools return a Markdown summary plus structured output (structuredContent matching each tool's outputSchema), and both are marked read-only (readOnlyHint), which hosted reviewers such as GitHub Copilot code review require before they call an MCP tool.

Site Score

Check any deployed website for AI agent-readiness — 14 checks covering emerging standards like llms.txt, TDMRep, AgentCard, AI-Disclosure, HTTP Signatures (RFC 9421), and more.

npx prodlint --web example.com

npx prodlint --web example.com --json # JSON output

prodlint site score example.com · 14 checks

Score: 42 C ████████░░░░░░░░░░░░

✗ AI-Disclosure Header 0/10 No AI-Disclosure header found. ✗ Content-Us

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx