Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Free hosted CVE intel for bug-bounty agents: CVE fact-check, attack approaches from paid H1 reports
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Ejecuta esto en tu terminal
claude mcp add --transport http vulntel https://mcp.vulntel.com/mcp --header 'Authorization: your-value'Completa los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"vulntel": {
"url": "https://mcp.vulntel.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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ú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"vulntel": {
"type": "http",
"url": "https://mcp.vulntel.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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ú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Authorization secreto HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Nombres y descripciones de las herramientas tal como los informó el servidor el 6 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
enrich_cveFull intelligence for a single CVE: CVSS, KEV status, EPSS, CISA SSVC (exploitation/automatable/technical_impact), P1-P4 priority with rationale, affected products/versions, Debian/Ubuntu/Alpine fixed builds per release (`distro_fixes`), and (live) public-exploit signal. Args: cv
check_technologyFind vulnerabilities affecting a product across NVD (CPE) and OSV (package ecosystems), de-duplicated and ranked by priority/EPSS/CVSS. Distinct products that share a name are kept distinct. If one name maps to several VENDORS' unrelated products (e.g. "Sentry" → sentry, mobileir
hunt_planTurn a recon'd stack into a ranked dig-order for authorized bug-hunting. For each discovered component, returns its top high-risk CVEs (KEV / CISA-SSVC- active / high-EPSS first) AND its `recurring_loci` — the bug classes (CWE) this product family repeatedly fails at, ranked by r
observeScan a host's exposed stack and join it to the CVE corpus — the recon workhorse. Fingerprints the homepage + JS bundles (recovering the backend identity and API endpoints homepage detection misses on SPAs), then ranks against live KEV / SSVC-active / high-EPSS into a dig-order. F
search_vulnsSearch the CVE corpus — one entry point, three retrieval modes picked from your arguments: - query= a concept / technique / weakness (e.g. "SSO SAML assertion replay", "deserialization gadget chain", "server-side request forgery cloud metadata"). By default it FUSES full-text key
find_attack_approachesFind how bugs *like this* were actually FOUND — retrieve real disclosed bug-bounty report mechanic-cards whose approach is closest (by mechanism) to your query or a seed CVE. The "what approach worked on a bug like this, on which program, and what did it pay" layer: grounded in r
find_continuationsWhen you're STUCK mid-hunt: describe your POSITION — the attacker state/capabilities you hold, stripped of product names — and get the CONTINUATIONS that worked from positions like it, matched against the full disclosed-report BODIES (the concrete step/payload/precondition), not
assist_submissionSubmission & escalation co-pilot for a bug-bounty finding. Paste your DRAFT finding (and what you already tried / couldn't achieve) and get a grounded brief built from the closest REAL disclosed reports: (1) precedent & validity — is this an accepted class, with citable reports (
program_outcome_priorAt the START of an engagement on a bug-bounty PROGRAM, get a grounded prior over what bug classes have historically LANDED there — to decide what to look at first and what to skip. Built from real HackerOne disclosed reports: the class distribution for this program, each with LIF
new_in_scopeFind FRESH attack surface: bounty-eligible assets that entered a public bug-bounty program's scope in the last `days` (HackerOne, Bugcrowd, Intigriti, YesWeHack, mirrored daily), the least-hunted surface there is. Raw scope additions are mostly not new (in one week 57 of 80 were
verify_cve_claimFact-check a claim about a CVE against the corpus — catch hallucinations before they ship. Verifies: does the CVE exist; does it affect the claimed product at the claimed version; is the severity right; is it actually KEV-exploited. Returns per-assertion verdicts (supported / ref
corpus_statsCorpus size and data freshness (CVE / KEV / EPSS counts and latest timestamps).
search_public_codeSearch public repositories for an exact code string; return WHERE it appears. Use it to hunt vendored / copy-pasted copies of known-vulnerable code: search a distinctive line or symbol from the vulnerable function, then FETCH AND READ the hits to judge which copies are still unpa
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con el dominio vulntel.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Respondió en 93 ms (HTTP 200)
No hace falta iniciar sesión
Leímos 13 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
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.
Superó 3 de 3 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.
Debes completar: Authorization
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
El repo de GitHub cambió por última vez –, y la última versión (1.2.0) llegó al registro hace 3 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, FlyDocs
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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
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.
Most CVE tools hand your agent raw data. This one ranks it by what's actually being exploited, finds bugs by mechanism, catches the CVEs your agent invents — and transfers attack mechanics from ~14,000 disclosed bug-bounty reports.
A curated, hosted MCP corpus: ~422,000 CVEs, fused from NVD + CISA KEV + FIRST EPSS + OSV/GHSA + CISA Vulnrichment (SSVC), plus a mechanic layer distilled from ~14,000 disclosed, paid bug-bounty reports — refreshed daily. Not another live-API wrapper.
Free. Try it with no key (nine tools, 25 calls a day per IP address), then get a key: enter your email and your personal key is sent over. Tell me what you are hunting.
Most CVE MCP servers are thin wrappers: at query time they fan out to the same free public APIs and hand back whatever comes out. This is different in six concrete ways.
verify_cve_claim catches invented CVEs and wrong attributes. This is the one that matters most right now, with hallucinated AI bug reports flooding triage, and effectively no other CVE MCP does it.OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, Apache/2.4.62 (Debian)) and each CVE carries the Debian / Ubuntu / Alpine tracker's verdict for that exact build next to the upstream one. Upstream-only tools call a patched distro host vulnerable.resolved: false with suggestions, never a silent 0 that reads as "not affected." A false zero is the worst answer a security tool can give.The hard part of AI-assisted security is not *finding* CVEs. It is triage, prioritization, and false positives. That is what this targets.
Everything below is real output from the live server, trimmed only for length.
The differentiator that matters most. Your agent cites CVE-2025-99999:
verify_cve_claim("CVE-2025-99999")
-> exists: false "No record in NVD / OSV / GHSA. Likely hallucinated or not-yet-published."
Or it gets the details wrong. Claim: *"CVE-2021-44228 is a medium-severity Apache Struts bug, and it is not exploited."*
verify_cve_claim("CVE-2021-44228", product="Apache Struts", severity="medium", exploited=false)
refuted "not exploited" -> in CISA KEV (added 2021-12-10) refuted "severity medium" -> actual CVSS 10.0, P1 refuted "affects Apache Struts" -> no product matching "Apache Struts"
The other feeds hand your agent data. This one tells you when the agent is wrong, before it reaches a report.
check_technology("GitLab") returns 792 CVEs for the product, de-duped and ranked so the exploited ones float to the top:
P1 KEV EPSS 99.8 CVE-2023-7028 account-takeover: password-reset email sent to an attacker address (CVSS 10)
P2 KEV EPSS 98.5 CVE-2021-39935 unauthenticated SSRF via the CI Lint API P3 EPSS 99.7 CVE-2023-2825 unauthenticated path traversal, arbitrary file read (CVSS 10) P3 EPSS 99.7 CVE-2022-2992 authenticated RCE via the GitHub import API (CVSS 9.9)
Names that map to more than one vendor are flagged ambiguous (here, gitlab vs a jenkins plugin) and kept separate, never silently merged. enrich_cve then gives you the full SSVC picture for any one of them:
enrich_cve("CVE-2024-3400") PAN-OS GlobalProtect
P1 KEV CVSS 10.0 EPSS 99.95 unauthenticated command injection -> root RCE SSVC exploitation=active automatable=yes technical_impact=total Metasploit exploit/linux/http/panos_telemetry_cmd_exec (rank: excellent) Public PoC 44 repos (h4x0r-dz 162 stars, W01fh4cker 90 stars, ...)
hunt_plan(["craftcms 4.4", "nginx", "keycloak"]) ranks your stack by its most-exploitable bug and names where each component historically bleeds:
#1 craftcms 4.4 97 CVEs, 12 high-risk
recurring_loci CWE-94 code injection x7 (2 exploited in the wild) -> probe template / eval surfaces first dig here P1 KEV EPSS 99.8 CVE-2025-32432 unauthenticated RCE (CVSS 10) your 4.4 is AFFECTED, fixed in 4.14.15 P1 KEV EPSS 99.9 CVE-2024-56145 RCE when register_argc_argv is on AFFECTED, fixed in 4.13.2
#2 nginx HTTP/2 Rapid Reset CVE-2023-44487 (KEV) #3 keycloak recurring_loci CWE-287 auth x12. OIDC request_uri SSRF CVE-2020-10770
It does not just list CVEs. It names the bug *class* a product family keeps failing at, ranked by real exploitation, and tells you whether *your version* is in range. Where to look, and what shape to expect.
search_vulns(cve_id="CVE-2021-44228"), "what else works like Log4Shell":
sim 0.88 CVE-2021-44832 Log4j2 JDBC Appender, JNDI LDAP RCE
sim 0.82 CVE-2022-40145 Apache Karaf, code injection via an attacker-controlled JNDI URL sim 0.79 CVE-2022-34916 Apache Flume, JNDI LDAP RCE via a JMS source
The same JNDI-injection mechanism, surfaced across *different products*. A keyword search for "log4j" never finds Karaf or Flume. Or search a concept directly, search_vulns("SAML SSO authentication bypass"):
P3 CVSS 9.1 CVE-2024-9487 GitHub Enterprise: SAML SSO bypass via signature verification
P3 CVSS 9.8 CVE-2025-25291 ruby-saml: auth bypass via a ReXML / Nokogiri parser differential P1 KEV CVSS 9.8 CVE-2025-59718 Fortinet FortiOS / FortiProxy: signature-verification bypass
search_vulns(days=7), run live today:
P1 KEV CVSS 10.0 CVE-2026-10520 Ivanti Sentry: unauthenticated OS command injection -> root RCE
P1 KEV CVSS 9.3 CVE-2026-50751 Check Point: IKEv1 auth bypass, remote-access VPN without a password P2 KEV CVSS 8.8 CVE-2026-11645 Chrome V8: out-of-bounds read/write -> sandbox escape RCE
Median time from disclosure to in-the-wild exploitation is now days, not months. The Ivanti bug above carried a CISA remediation deadline in the same week it landed. corpus_stats on 2026-11-03: ~422,800 CVEs, ~1,770 KEV entries, data under a day old. These figures are point-in-time and drift daily, so call corpus_stats yourself for the live count rather than trusting the numbers on this page.
Beyond CVEs, the corpus distills ~14,000 disclosed, paid HackerOne reports into product-agnostic *attack mechanics* — each bug's source → sink → trigger → preconditions, de-anchored from the product it was filed against. The premise: a vulnerability is a transferable mechanism, not a property of one product — so a move that paid on one stack is a checklist item on the next.
find_attack_approaches(query="ssrf reaching cloud metadata") — the human moves that transferred, novelty-ranked, each tagged with live program-actionability:
Reddit SSRF preview_url fetches an unfiltered URL → returns metadata program_active, pays
U.S. DoD SSRF /download-url?url= fetches AWS instance metadata program_active Concrete CMS SSRF DNS-rebind bypass → AWS IAM creds from the metadata svc program_active
find_continuations(position=...) — matches your *accumulated attacker position* mid-hunt to the next moves real reports played from a similar spot. Every move is status: UNVERIFIED with a decisive_check to run on the target — a legal move, never a confirmed bug.assist_submission(finding=...) — a grounded submission brief from the closest paid precedents (validity, what's novel, an escalation playbook), with every cited report validated against the corpus (citations_grounded) so it can't smuggle a fabricated precedent.program_outcome_prior("hackerone:gitlab") — the bug classes that historically *landed* on a program, with lift over base rate (GitLab: SSRF 3.4×, SQLi ~never).Honest about what this is: it primes and grounds a human hunter — it surfaces the move and the precedent. It does not find the bug for you; the target decides whether the move survives, and that's a step you still run.
The moat is three things a stateless model cannot self-generate, and this corpus holds all three:
observe recovers a host's real backend from its JS bundles and joins it to the corpus on the spot.The cardinal sin is treating it as a severity-number checker. The job is to transfer a proven mechanic onto your target and run it — or read a fix to *falsify* an option before you spend a probe on it.
Left alone, an agent answers from training data: stale, and it *invents* CVE ids under pressure. Paste this operating loop into your agent's rules (CLAUDE.md, Cursor/Windsurf, a system prompt):
You have the vulntel MCP. Your own CVE knowledge is a guess to be verified — prefer the corpus.
Operating loop, in order:
Solo se muestra el principio; lee el resto en el repo