GuardianMCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GuardianMCPscan my project for critical vulnerabilities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GuardianMCP š”ļø
Your vigilant security companion that automatically guards your projects against vulnerabilities.
GuardianMCP is an MCP (Model Context Protocol) server that scans project dependencies for known security vulnerabilities using the OSV.dev database. Works with Cursor, VS Code, Claude Desktop, and other MCP-compatible IDEs.
Features
Automatic vulnerability scanning for npm and Composer dependencies
Real-time alerts for CRITICAL and HIGH severity issues
Three scan modes: full, summary, critical-high-only
Auto-trigger support via IDE rules (on install, commit, build)
Multi-language keyword detection (English, Latvian, French, Spanish, German, Russian, etc.)
Docker support for containerized deployment
Detailed reports with remediation guidance and CVE links
Fast & lightweight using OSV.dev API
Secure by design - 0 vulnerabilities, minimal dependencies
Related MCP server: Dependency Checker MCP Server
Security Status
Latest security audit: All dependencies scanned, 0 vulnerabilities found Node.js: Latest LTS (22.x) with security updates Regular updates: Weekly dependency checks and monthly security reviews
See SECURITY.md for detailed security policy and audit information.
Quick Start
Choose your preferred method:
Option 1: npm (Recommended for most users)
npm install -g guardian-mcpOption 2: From Source
git clone https://github.com/Kalvisan/guardian-mcp.git
cd guardian-mcp
npm install
npm run buildOption 3: Docker
docker pull kalmars/guardian-mcp:latest
# or
docker-compose up -dIDE Setup Instructions
Click on your IDE to see setup instructions:
Cursor Setup
Cursor has native MCP support. Follow these steps:
1. Install GuardianMCP
npm install -g guardian-mcp
# or use local installation (see Quick Start)2. Configure Cursor
Open Cursor settings:
macOS/Linux:
~/.cursor/config.jsonorCursor Settings > Features > MCP ServersWindows:
%APPDATA%\Cursor\config.json
Add GuardianMCP configuration:
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}Or if installed locally:
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/absolute/path/to/guardian-mcp/dist/index.js"]
}
}
}3. Enable Auto-Scanning (Optional)
Create .cursor/rules.md in your project:
# Security Rules
When working in this project:
- Check for CRITICAL/HIGH vulnerabilities on project start
- Scan after npm install or composer update
- Verify no critical issues before git commits
Use check_vulnerabilities tool with scan_mode="critical-high-only".4. Restart Cursor
Completely restart Cursor to load GuardianMCP.
5. Test It
Open Cursor's AI chat and type:
Check my project for security vulnerabilitiesGuardianMCP will automatically scan your dependencies!
VS Code Setup
VS Code can use MCP servers through extensions or configuration.
Method 1: Using Continue.dev Extension
Install Continue.dev extension
Open Continue settings (
.continue/config.json)Add MCP server configuration:
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}Method 2: Direct Configuration
Install GuardianMCP:
npm install -g guardian-mcpAdd to VS Code settings (
.vscode/settings.json):
{
"mcp.servers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}3. Enable Auto-Scanning
Create .vscode/rules.md:
Automatically check for vulnerabilities when:
- Opening the project
- After running npm install/composer update
- Before creating commits4. Restart VS Code
Reload window: Cmd/Ctrl + Shift + P ā "Reload Window"
Claude Desktop Setup
Claude Desktop has built-in MCP support.
1. Install GuardianMCP
npm install -g guardian-mcp2. Configure Claude Desktop
Open configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add GuardianMCP:
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}Or for local installation:
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/Users/you/path/to/guardian-mcp/dist/index.js"]
}
}
}3. Configure Auto-Scanning
Add to ~/.claude/rules.md (global) or project's .claude/rules.md:
# GuardianMCP Rules
Automatically scan for vulnerabilities when:
1. User mentions: security, vulnerability, CVE, audit
2. After package installations
3. Before git commits
Use scan_mode="critical-high-only" for auto-scans.4. Restart Claude Desktop
Completely quit and reopen Claude Desktop.
Windsurf Setup
Windsurf supports MCP servers similar to Cursor.
1. Install GuardianMCP
npm install -g guardian-mcp2. Configure Windsurf
Open Windsurf configuration:
Location:
~/.windsurf/config.json
Add MCP server:
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}3. Create Project Rules
Add .windsurf/rules.md to your project:
Auto-scan dependencies for vulnerabilities on:
- Project initialization
- npm/composer commands
- Pre-commit checks4. Restart Windsurf
Reload the editor to activate GuardianMCP.
Zed Setup
Zed is adding MCP support. Check current status:
1. Install GuardianMCP
npm install -g guardian-mcp2. Configure Zed
Open Zed settings:
macOS:
~/.config/zed/settings.jsonLinux:
~/.config/zed/settings.json
Add configuration:
{
"assistant": {
"mcp_servers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}
}3. Restart Zed
Reload the editor.
Note: MCP support in Zed may be experimental. Check Zed documentation for latest status.
Docker Setup
Run GuardianMCP in a Docker container and connect from any IDE.
Method 1: Using Docker Compose (Recommended)
Clone the repository:
git clone https://github.com/Kalvisan/guardian-mcp.git
cd guardian-mcpBuild and run:
docker-compose up -dConfigure your IDE:
In your IDE's MCP configuration, use:
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}Method 2: Docker Run
Build the image:
docker build -t kalmars/guardian-mcp:latest .Run the container:
docker run -d --name guardian-mcp \
-v /path/to/your/projects:/projects:ro \
kalmars/guardian-mcp:latestConfigure your IDE:
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}For Cursor with Docker:
Edit ~/.cursor/config.json:
{
"mcpServers": {
"guardian-mcp": {
"command": "docker",
"args": ["exec", "-i", "guardian-mcp", "node", "dist/index.js"]
}
}
}Volume Mounting
To scan projects outside the container:
docker run -d --name guardian-mcp \
-v /Users/you/projects:/projects:ro \
-v /Users/you/work:/work:ro \
guardian-mcp:latestThen scan with:
Scan /projects/my-app for vulnerabilitiesDocker Health Check
docker ps --filter name=guardian-mcp
# Should show "healthy" statusStopping the Container
docker-compose down
# or
docker stop guardian-mcp && docker rm guardian-mcpGeneric MCP Setup
For any IDE that supports Model Context Protocol:
1. Install GuardianMCP
npm install -g guardian-mcp2. Find Your IDE's MCP Configuration
Common locations:
~/.config/[IDE_NAME]/config.json~/.config/[IDE_NAME]/settings.json~/.[IDE_NAME]/mcp.json
3. Add GuardianMCP
{
"mcpServers": {
"guardian-mcp": {
"command": "npx",
"args": ["guardian-mcp"]
}
}
}Or with full path:
{
"mcpServers": {
"guardian-mcp": {
"command": "node",
"args": ["/full/path/to/guardian-mcp/dist/index.js"]
}
}
}4. Verify Setup
Test by asking your IDE's AI assistant:
Use the check_vulnerabilities tool to scan my projectUsage
Once GuardianMCP is installed in your IDE, you can:
Manual Scanning
Simply ask your AI assistant:
Check my project for security vulnerabilitiesScan package.json for critical issues onlyGive me a full security auditAutomatic Scanning
Configure rules in your IDE's rules file (.cursor/rules.md, .claude/rules.md, etc.):
# Security Automation
When I mention: security, vulnerability, CVE, audit, or exploit
ā Run check_vulnerabilities with scan_mode="critical-high-only"
After running: npm install, npm update, composer install, composer update
ā Automatically scan for new vulnerabilities
Before creating git commits:
ā Check for CRITICAL vulnerabilities and warn if foundTool Parameters
GuardianMCP provides the check_vulnerabilities tool with these parameters:
Parameter | Type | Options | Default | Description |
| string | any path | current dir | Path to project directory |
| string |
|
| Which files to scan |
| string |
|
| Output detail level |
Examples
Full scan:
Check vulnerabilities with scan_mode="full"Quick summary:
How many vulnerabilities are in my project? (uses scan_mode="summary")Auto-scan mode (recommended):
Scan for critical vulnerabilities only (scan_mode="critical-high-only")Scan Modes Explained
full Mode
Best for: Manual security audits, comprehensive reviews
Shows ALL vulnerabilities with complete details:
CRITICAL, HIGH, MODERATE, and LOW severity
Detailed descriptions and remediation steps
Reference links and CVE IDs
Update commands for each package
Example output:
## š“ express@4.17.1
**Vulnerability ID:** GHSA-rv95-896h-c2vc
**Severity:** CRITICAL
### ā ļø CRITICAL RISK!
**Description:** Express.js accepts requests with malformed URL encoding
**IMMEDIATE ACTION REQUIRED:**
1. Update package: npm update express
2. Verify no vulnerable functionality is used
...summary Mode
Best for: Quick health checks, CI/CD dashboards
Shows only vulnerability counts:
Fast overview
No detailed descriptions
Total counts by severity
Example output:
## š Summary
- š“ Critical: 2
- š High: 5
- š” Moderate: 12
- š¢ Low: 3
**Total: 22 vulnerabilities**
Run with scan_mode="full" for details.critical-high-only Mode
Best for: Auto-scans, automated monitoring (RECOMMENDED for rules)
Shows detailed info for CRITICAL/HIGH, counts others:
Reduces noise
Highlights actionable issues
Perfect for automatic scans
Hides moderate/low details
Example output:
## š“ lodash@4.17.20
**Severity:** HIGH
**Issue:** Prototype pollution vulnerability
**Recommendation:** npm update lodash
---
## š Summary
- š“ Critical: 1
- š High: 2
_Also found 8 moderate/low issues (hidden)._
_Run with scan_mode="full" to see all._Severity Levels
Level | Icon | Action | Examples |
CRITICAL | š“ | Update IMMEDIATELY | RCE, Auth bypass, Privilege escalation |
HIGH | š | Update ASAP | SQL injection, XSS, CSRF |
MODERATE | š” | Plan update | DoS, Information disclosure |
LOW | š¢ | Consider updating | Deprecated packages, Minor issues |
Example Rules Files
See examples/ for ready-to-use templates:
claude-rules.md- Comprehensive template with all scenariosproject-rules.md- Project-specific configuration exampleglobal-rules.md- User-wide configuration for all projects
Copy these to:
Cursor:
.cursor/rules.mdClaude Desktop:
.claude/rules.mdVS Code:
.vscode/rules.md(with Continue.dev)
Supported Ecosystems
Ecosystem | File | Status |
npm (Node.js) |
| ā Supported |
Composer (PHP) |
| ā Supported |
PyPI (Python) |
| š Planned |
Go Modules |
| š Planned |
Maven (Java) |
| š Planned |
NuGet (.NET) |
| š Planned |
RubyGems |
| š Planned |
Cargo (Rust) |
| š Planned |
Troubleshooting
Verify installation:
npx guardian-mcp --version # or which guardian-mcpCheck config file path is absolute:
ā
"args": ["dist/index.js"]ā
"args": ["/Users/you/guardian-mcp/dist/index.js"]
Restart IDE completely (don't just reload window)
Check IDE logs:
Cursor: Open DevTools (Help > Toggle Developer Tools)
VS Code: Output panel > Extension Host
Claude Desktop: View > Developer > Toggle Developer Tools
Test manually:
node /path/to/guardian-mcp/dist/index.js # Should not crash
Verify rules file exists:
cat .cursor/rules.md # or cat .claude/rules.mdCheck rules mention tool name:
Must reference
check_vulnerabilitiesUse
scan_mode="critical-high-only"for auto-scans
Test with keywords:
Try saying "security" or "vulnerability"
Should trigger automatic scan
Check IDE supports rules:
Cursor: ā Built-in support
Claude Desktop: ā Built-in support
VS Code: Depends on extension
Check logs:
docker logs guardian-mcpVerify build succeeded:
docker build -t kalmars/guardian-mcp:latest .Test manually:
docker run -it kalmars/guardian-mcp:latestCheck health:
docker ps --filter name=guardian-mcp # Status should be "healthy"
Check internet connection
Verify API is accessible:
curl https://api.osv.dev/v1/queryRate limiting: OSV.dev has rate limits
Wait a few minutes
Reduce scan frequency
Firewall: Ensure outbound HTTPS is allowed
Contributing
Contributions are welcome! Areas for improvement:
Additional ecosystem support (Python, Go, Rust, etc.)
Better version range parsing
Caching to reduce API calls
IDE-specific optimizations
Test coverage
Documentation improvements
License
MIT - See LICENSE file
Resources
Security Note
GuardianMCP helps identify known vulnerabilities but is not a substitute for:
Comprehensive security audits
Penetration testing
Secure coding practices
Regular dependency updates
Security training
Always review and test dependency updates before deploying to production.
Available Tools
1 toolcheck_vulnerabilitiesA
Scans project dependencies (package.json, composer.json) for known security vulnerabilities using the OSV.dev database. Supports multiple scan modes: 'full' for detailed reports, 'summary' for quick overview, 'critical-high-only' for auto-scans showing only actionable issues. Use this tool when: user asks about security/vulnerabilities, after package installations (npm install, composer update), before commits/builds, or when starting work in a new project with dependency files.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Path to project directory (default: current directory) | |
| file_type | No | Which file(s) to check (default: both) | |
| scan_mode | No | Output detail level: 'full' shows all vulnerabilities with details, 'summary' shows only counts, 'critical-high-only' shows detailed info for CRITICAL/HIGH only (default: full) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by explaining the different scan modes ('full', 'summary', 'critical-high-only') and their outputs, and mentions it uses the OSV.dev database. However, it lacks details on potential side effects, error handling, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by usage guidelines. It is appropriately sized, but could be slightly more concise by integrating the usage scenarios more tightly with the initial explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, no output schema, no annotations), the description does a good job covering purpose, usage, and behavior. However, it lacks information on output format or error handling, which would be helpful for an AI agent to understand what to expect from the tool's execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds some context by mentioning 'project dependencies' and 'multiple scan modes', but does not provide additional semantic details beyond what the schema specifies. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('scans project dependencies') and resources ('package.json, composer.json'), and distinguishes its function by mentioning the OSV.dev database. It explicitly lists what it does without being tautological or vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool, listing specific scenarios such as 'user asks about security/vulnerabilities', 'after package installations', 'before commits/builds', and 'when starting work in a new project with dependency files'. This gives clear context for usage without alternatives needed since no sibling tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'check_vulnerabilities' has a clear, distinct purpose focused on security vulnerability scanning.
The tool name 'check_vulnerabilities' follows a consistent verb_noun pattern, and since there is only one tool, there is no inconsistency to evaluate. The naming is clear and appropriate for its function.
A single tool for a security vulnerability scanning server is too limited in scope. While the tool is well-described, a server with only one tool often feels thin and lacks the breadth needed for comprehensive security operations, such as managing scans, updating databases, or handling different file types beyond the mentioned ones.
The tool surface is severely incomplete for a security vulnerability domain. It only covers scanning for vulnerabilities in specific dependency files, missing essential operations like configuring scan settings, retrieving historical scan results, updating vulnerability databases, or integrating with other security tools. This creates significant gaps that could lead to agent failures in broader security workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deep security scans of repos you own from your editor: dependency CVEs, SAST, git-history secrets.
Detect malicious or vulnerable npm packages: registry search, OSV.dev and GitHub advisory lookups
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Provide AI-powered real-time analysis and intelligence on NPM packages, including security, dependā¦
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides Trivy security scanning capabilities through a standardized interface, allowing users to scan projects for vulnerabilities and automatically fix them by updating dependencies.10MIT
- AlicenseBqualityCmaintenanceEnables security scanning for npm dependencies by checking manifest and lockfiles against the OSV.dev and Socket.dev vulnerability databases. It provides tools to detect vulnerabilities in specific packages and retrieve detailed technical reports for identified security issues.322MIT
- AlicenseNot gradedqualityBmaintenanceEnables users to scan software packages for data exfiltration and security threats directly within their IDE across npm, PyPI, Cargo, and Maven ecosystems. This tool helps ensure the safety of project dependencies by identifying potential risks before they are integrated.MIT
- AlicenseAqualityAmaintenanceVisual CVE audit dashboard for npm, Python, Go, and Rust projects. Scans your project manifests (package-lock.json, requirements.txt, go.sum, Cargo.lock) against OSV.dev live data, opens a browser dashboard for human review, then applies fixes only after explicit confirmation. Supports multi-service monorepos in one command.4124MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kalvisan/guardian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server