Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Vulnicheck

by andrasfeversion 0.1.0i★ –iRuns on your computer
Registry nameio.github.andrasfe/vulnicheck

Install

Overview

Description from the maker (original English)

HTTP MCP Server for comprehensive Python vulnerability scanning and security analysis.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: Streamable HTTP
  • Category: Cybersecurity
  • You need to fill in: NVD_API_KEY, GITHUB_TOKEN, OPENAI_API_KEY, ANTHROPIC_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: NVD_API_KEY, GITHUB_TOKEN, OPENAI_API_KEY, ANTHROPIC_API_KEY, MCP_PORT, CACHE_TTL, VULNICHECK_HTTP_ONLY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "vulnicheck": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NVD_API_KEY",
        "-e",
        "GITHUB_TOKEN",
        "-e",
        "OPENAI_API_KEY",
        "-e",
        "ANTHROPIC_API_KEY",
        "-e",
        "MCP_PORT",
        "-e",
        "CACHE_TTL",
        "-e",
        "VULNICHECK_HTTP_ONLY",
        "docker.io/andrasfe/vulnicheck:main"
      ],
      "env": {
        "NVD_API_KEY": "your-value",
        "GITHUB_TOKEN": "your-value",
        "OPENAI_API_KEY": "your-value",
        "ANTHROPIC_API_KEY": "your-value",
        "MCP_PORT": "your-value",
        "CACHE_TTL": "your-value",
        "VULNICHECK_HTTP_ONLY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add vulnicheck --env NVD_API_KEY=your-value --env GITHUB_TOKEN=your-value --env OPENAI_API_KEY=your-value --env ANTHROPIC_API_KEY=your-value --env MCP_PORT=your-value --env CACHE_TTL=your-value --env VULNICHECK_HTTP_ONLY=your-value -- docker run -i --rm -e NVD_API_KEY -e GITHUB_TOKEN -e OPENAI_API_KEY -e ANTHROPIC_API_KEY -e MCP_PORT -e CACHE_TTL -e VULNICHECK_HTTP_ONLY docker.io/andrasfe/vulnicheck:main

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "vulnicheck": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NVD_API_KEY",
        "-e",
        "GITHUB_TOKEN",
        "-e",
        "OPENAI_API_KEY",
        "-e",
        "ANTHROPIC_API_KEY",
        "-e",
        "MCP_PORT",
        "-e",
        "CACHE_TTL",
        "-e",
        "VULNICHECK_HTTP_ONLY",
        "docker.io/andrasfe/vulnicheck:main"
      ],
      "env": {
        "NVD_API_KEY": "your-value",
        "GITHUB_TOKEN": "your-value",
        "OPENAI_API_KEY": "your-value",
        "ANTHROPIC_API_KEY": "your-value",
        "MCP_PORT": "your-value",
        "CACHE_TTL": "your-value",
        "VULNICHECK_HTTP_ONLY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "vulnicheck": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NVD_API_KEY",
        "-e",
        "GITHUB_TOKEN",
        "-e",
        "OPENAI_API_KEY",
        "-e",
        "ANTHROPIC_API_KEY",
        "-e",
        "MCP_PORT",
        "-e",
        "CACHE_TTL",
        "-e",
        "VULNICHECK_HTTP_ONLY",
        "docker.io/andrasfe/vulnicheck:main"
      ],
      "env": {
        "NVD_API_KEY": "your-value",
        "GITHUB_TOKEN": "your-value",
        "OPENAI_API_KEY": "your-value",
        "ANTHROPIC_API_KEY": "your-value",
        "MCP_PORT": "your-value",
        "CACHE_TTL": "your-value",
        "VULNICHECK_HTTP_ONLY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • NVD_API_KEY secret env
    API key for NIST National Vulnerability Database (increases rate limit from 5 to 50 requests per 30 seconds)
  • GITHUB_TOKEN secret env
    GitHub token for Advisory Database access (increases rate limit to 5000 requests per hour)
  • OPENAI_API_KEY secret env
    OpenAI API key for LLM-based risk assessment in MCP passthrough operations
  • ANTHROPIC_API_KEY secret env
    Anthropic API key for LLM-based risk assessment (alternative to OpenAI)
  • MCP_PORT env
    Port for MCP HTTP server (default: 3000)
  • CACHE_TTL env
    Cache time-to-live in seconds for vulnerability data (default: 900)
  • VULNICHECK_HTTP_ONLY env
    Enable HTTP-only mode with MCP client delegation (true/false, default: auto-detect)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account andrasfe, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Cybersecurityi

  • More stars than 0% of the other 994 servers in this category
  • Published to the registry more recently than 0% of the other 994 servers in this category
  • Basic checks equal to or better than 100% of the other 994 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Vulnicheck safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: NVD_API_KEY, GITHUB_TOKEN, OPENAI_API_KEY, ANTHROPIC_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 14 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

SML Risk Firewall

by scriptmasterlabs.com

Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.

Runs in the cloudUpdated today
Install

Look up location, network, company and threat data for IP addresses and ASNs in ipdata.

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

VulniCheck - AI-Powered Security Scanner

VulniCheck provides comprehensive security analysis for Python projects and GitHub repositories using AI-powered vulnerability detection. It runs as a Docker-based HTTP MCP server with standard HTTP streaming (no SSE required), providing secure containerized deployment with comprehensive vulnerability scanning capabilities.

Quick Start

1. Pull and Run the Docker Container
# Pull the latest image from Docker Hub

docker pull andrasfe/vulnicheck:latest

Run with OpenAI API key (for enhanced AI-powered risk assessment)

docker run -d --name vulnicheck-mcp -p 3000:3000 \ --restart=unless-stopped \ -e OPENAI_API_KEY=your-openai-api-key \ andrasfe/vulnicheck:latest

Or run without API key (basic vulnerability scanning)

docker run -d --name vulnicheck-mcp -p 3000:3000 \ --restart=unless-stopped \ andrasfe/vulnicheck:latest

2. Add to Claude Code
claude mcp add --transport http vulnicheck http://localhost:3000/mcp

That's it! VulniCheck is now available in Claude Code.

Usage

Once installed, simply ask Claude:

"Run a comprehensive security check on my project"

"Scan https://github.com/owner/repo for vulnerabilities"

"Check my dependencies for security issues"

"Scan my Dockerfile for vulnerable packages"

VulniCheck will:

  • ✅ Scan dependencies for known vulnerabilities (requirements.txt, pyproject.toml, setup.py)
  • ✅ Detect exposed secrets and credentials
  • ✅ Analyze Dockerfiles for security issues
  • ✅ Validate MCP configurations
  • ✅ Generate AI-powered risk assessments
  • ✅ Provide actionable remediation recommendations

Key Features

  • Docker Deployment: Secure containerized deployment with HTTP streaming (no SSE/Server-Sent Events required)
  • Optional Authentication: Supports Google OAuth 2.0 for secure access control (disabled by default)
  • Production Ready: Scalable HTTP server architecture
  • Comprehensive Coverage: Queries 5+ vulnerability databases (OSV.dev, NVD, GitHub Advisory, CIRCL, Safety DB)
  • GitHub Integration: Scan any public/private GitHub repository directly (up to 1GB)
  • AI-Powered Analysis: Uses OpenAI/Anthropic APIs for intelligent security assessment
  • Secrets Detection: Finds exposed API keys, passwords, and credentials
  • Docker Security: Analyzes Dockerfiles for vulnerable dependencies
  • Smart Caching: Avoids redundant scans with commit-level caching
  • Space Management: Automatic cleanup prevents disk exhaustion (2GB total limit)
  • Zero Config: Works out of the box, enhanced with optional API keys

Available Tools

ToolDescription
check_package_vulnerabilitiesCheck a specific Python package for vulnerabilities
scan_dependenciesScan dependency files (requirements.txt, pyproject.toml, etc.)
scan_installed_packagesScan currently installed Python packages
get_cve_detailsGet detailed information about a specific CVE
scan_for_secretsDetect exposed secrets and credentials in code
scan_dockerfileAnalyze Dockerfiles for vulnerable Python dependencies
scan_github_repoComprehensive security scan of GitHub repositories
assess_operation_safetyAI-powered risk assessment for operations
validate_mcp_securityValidate MCP server security configurations
comprehensive_security_checkInteractive AI-powered security assessment

Optional API Keys

Enhance VulniCheck with API keys for better rate limits and AI features:

docker run -d --name vulnicheck-mcp -p 3000:3000 \

--restart=unless-stopped \ -e OPENAI_API_KEY=your-key \ # AI-powered risk assessment -e ANTHROPIC_API_KEY=your-key \ # Alternative AI provider -e GITHUB_TOKEN=your-token \ # Higher GitHub API rate limits -e NVD_API_KEY=your-key \ # Higher NVD rate limits andrasfe/vulnicheck:latest

Authentication (Optional)

VulniCheck supports optional Google OAuth 2.0 authentication for secure access control. By default, authentication is disabled.

Enabling Google OAuth
  1. Get Google OAuth Credentials:
  • Go to Google Cloud Console
  • Create a project and enable Google+ API
  • Create OAuth 2.0 credentials (Web application)
  • Add authorized redirect URI: http://localhost:3000/oauth/callback (or your domain)
  1. Configure Environment Variables:
   export FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com"

export FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET="GOCSPX-your-secret-here" export FASTMCP_SERVER_BASE_URL="http://localhost:3000"

  1. Run with Authentication:
   docker run -d --name vulnicheck-mcp -p 3000:3000 \

--restart=unless-stopped \ -e FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID=your-client-id \ -e FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET=your-secret \ -e FASTMCP_SERVER_BASE_URL=http://localhost:3000 \ -v vulnicheck_tokens:/home/vulnicheck/.vulnicheck/tokens \ andrasfe/vulnicheck:latest \ python -m vulnicheck.server --auth-mode google

  1. Using docker-compose: See docker-compose.auth-example.yml for a complete configuration example.

Note: OAuth tokens are persisted in /home/vulnicheck/.vulnicheck/tokens. Use a Docker volume to persist tokens across container restarts.

⚠️ Known OAuth Limitations

FastMCP OAuth + HTTP Transport Incompatibility

Due to a limitation in FastMCP 2.12.4, OAuth authentication does not work properly with HTTP transport (streamable-http). The authorization endpoints (/oauth/authorize, /oauth/callback) are not correctly mounted, resulting in 404 errors.

When OAuth Works:

  • ✅ Local connections (when supported in future FastMCP versions)
  • ✅ OAuth discovery endpoint works (/.well-known/oauth-protected-resource)

When OAuth Does NOT Work:

  • ❌ HTTP transport with external clients (ChatGPT, Claude Desktop, etc.)
  • ❌ Authorization endpoints return 404
  • ❌ Token exchange fails

Workaround for External Clients (ChatGPT, etc.):

Run VulniCheck without authentication when accessing through ngrok or other public URLs:

# Start without OAuth (recommended for external clients)

docker run -d --name vulnicheck-mcp -p 3000:3000 \ --restart=unless-stopped \ andrasfe/vulnicheck:latest

Then configure ngrok

ngrok http 3000

In your MCP client (ChatGPT, etc.):

  • URL: https://your-ngrok-url.ngrok-free.dev/mcp
  • Authentication: None

Security Considerations:

  • ✅ Traffic is encrypted via HTTPS (ngrok)
  • ⚠️ No authentication - anyone with URL can access
  • 💡 ngrok free URLs change on restart (security through obscurity)
  • 🔒 For production, use ngrok paid tier with password protection or IP whitelisting

Future Resolution: This limitation will be resolved when:

  1. FastMCP fixes OAuth + HTTP transport support, OR
  2. Alternative authentication mechanisms are implemented
Using with ngrok

Quick Start (No OAuth):

# 1. Start VulniCheck

docker run -d --name vulnicheck-mcp -p 3000:3000 \ --restart=unless-stopped \ andrasfe/vulnicheck:latest

2. Start ngrok

ngrok http 3000

3. Use the ngrok URL in your MCP client

URL: https://your-generated-url.ngrok-free.dev/mcp

Authentication: None

Optional OAuth Script (Experimental - OAuth Not Functional):

A convenience script restart-vulnicheck-ngrok.sh is provided for testing OAuth, but OAuth does not currently work due to FastMCP limitations:

# Copy the example environment file

cp .env.example .env

Edit .env and add your credentials

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=GOCSPX-your-secret-here NGROK_URL=https://your-ngrok-url.ngrok-free.dev

Run the script (OAuth will not work)

./restart-vulnicheck-ngrok.sh

Note: The script is provided for future use when FastMCP OAuth + HTTP transport is fixed. Currently, always run without OAuth for external clients.

Building from Source

# Clone the repository

git clone https://github.com/andrasfe/vulnicheck.git cd vulnicheck

Build Docker image

docker build -t vulnicheck .

Run locally built image (no auth)

docker run -d --name vulnicheck-mcp -p 3000:3000 --restart=unless-stopped vulnicheck

Run with Google OAuth

docker run -d --name vulnicheck-mcp -p 3000:3000 \ --restart=unless-stopped \ -e FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID=your-client-id \ -e FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET=your-secret \ -e FASTMCP_SERVER_BASE_URL=http://localhost:3000 \ -v vulnicheck_tokens:/home/vulnicheck/.vulnicheck/tokens \ vulnicheck \ python -m vulnicheck.server --auth-mode google

Docker Hub

The official Docker image is available at:

Requirements

  • Docker
  • Claude Code or any MCP client with HTTP transport support (standard HTTP, no SSE required)
  • Optional: API keys for enhanced features

Supported File Types

  • Dependencies: requirements.txt, pyproject.toml, setup.py, lock files
  • Containers: Dockerfile, docker-compose.yml
  • Secrets: All text-based source files
  • GitHub: Any public or private repository URL

Support

  • Issues: Report problems at https://github.com/andrasfe/vulnicheck/issues
  • Development: See CLAUDE.md for development details
  • Security: Report security issues privately via GitHub Security Advisories

DISCLAIMER: Vulnerability data provided "AS IS" without warranty. Users are responsible for verification and remediation.

Ask PopNx