mcpField
A
AgentsID MCP Scanner

AgentsID MCP Scanner

Local
github.com/stevenkozeniesky02Developer Tools26Updated 28w ago

About AgentsID MCP Scanner

AgentsID MCP Scanner is a security scanner for MCP servers. It runs live scans over stdio or HTTP or looks up pre-scanned results from a public registry, and reports a trust score, letter grade and findings. It targets developers who need to review the security of MCP servers.

Key features

  1. 01Live scans of local stdio and remote HTTP servers
  2. 02Lookup of pre-scanned results from a public registry
  3. 03Trust score from 0 to 100 with A–F grade
  4. 04Checks tool descriptions for prompt injection patterns
  5. 05Classifies tools by risk level
  6. 06JSON report output

Use cases

  1. 01Reviewing permissions and input validation before release
  2. 02Checking third-party MCP server tool descriptions for injection risks
  3. 03Recording security scores in CI using JSON reports

MCP support

The project scans MCP servers, examining their tool surface, input schemas and tool descriptions. It does not run as an MCP server or client itself.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"agentsid-scanner": {
"command": "npx",
"args": [
"-y",
"@agentsid/mcp-scanner"
]
}
}
}
Run commandnpx -y @agentsid/mcp-scanner

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@agentsid/mcp-scanner

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
targetstringYesThe MCP server to scan. An npx command (e.g. 'npx @modelcontextprotocol/server-github') or an HTTP URL (e.g. 'https://my-mcp-server.example.com/mcp'). Scans only the specified server.
envobjectNoOptional environment variables to pass to the server process, such as API keys the server requires to start.

Details

From the project README

AgentsID Scanner

The Lighthouse of agent security.
Scan any MCP server. Get a security report card.

AgentsID License


Your MCP server exposes tools to AI agents. How secure is it?

Most MCP servers ship with no authentication, no per-tool permissions, no input validation, and tool descriptions vulnerable to prompt injection. You just don't know it yet.

AgentsID Scanner tells you.

Quick Start

npx @agentsid/scanner -- npx @some/mcp-server

That's it. You get a letter grade and detailed findings.

What It Scans

CategoryWhat It ChecksWhy It Matters
InjectionTool descriptions for 11 prompt injection patternsMalicious tool descriptions can hijack agent behavior
PermissionsTool names classified by risk (destructive, execution, financial, credential)50 tools with no access control is a 50-surface attack
ValidationInput schemas for missing constraints, unbounded strings, optional-only paramsNo validation = arbitrary input to your tool handlers
AuthAuthentication indicators in tool surfaceNo auth tools = unauthenticated agents calling your tools
SecretsTools that may expose credentials in outputAPI keys, tokens, passwords leaked in responses
OutputUnfiltered file/data outputSensitive file contents returned without redaction

The Report

╔══════════════════════════════════════════════════════════════╗
║          AgentsID Security Scanner — Report                  ║
╚══════════════════════════════════════════════════════════════╝

Server: my-mcp-server v1.0.0
Tools:  23
Scanned: 2026-03-29T12:00:00.000Z

Overall Grade: D (42/100)

Category Grades:
  injection       A
  permissions     F
  validation      D
  auth            F
  output          B

Tool Risk Profile:
  destructive          ████ 4
  execution            ██ 2
  credential_access    █ 1

Findings: 31
  CRITICAL: 2
  HIGH: 8
  MEDIUM: 15
  LOW: 6

Recommendations:
  1. Address CRITICAL and HIGH findings immediately
  2. Add per-tool permission controls (agentsid.dev/docs)
  3. Implement input validation on all tool parameters
  4. Add authentication to server endpoints

Usage

Scan a local MCP server (stdio)
# Scan any npx-installable MCP server
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./

# Scan a local server file
agentsid-scan -- node my-server.mjs

# Scan a Python MCP server
agentsid-scan -- python -m my_mcp_server
Scan a remote MCP server (HTTP)
agentsid-scan --url https://mcp.example.com/mcp
JSON output
agentsid-scan --json -- npx @some/mcp-server > report.json
Pass environment variables
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs

Grading (v2 — normalized + capped)

Starts at 100 points. Deductions per finding:

SeverityDeductionNormalizationCap
CRITICAL-25 eachAbsolute — always hits fullUncapped
HIGH-15 eachAbsolute — always hits full-45 max
MEDIUM-8 eachDivided by √(tool count)-25 max
LOW-3 eachDivided by √(tool count)-15 max
INFO0——

MEDIUM and LOW findings are normalized by tool count so a per-tool issue (e.g. missing maxLength on every input) doesn't compound linearly with server size. A 50-tool server with 50 LOWs scores the same as a 5-tool server with 5 LOWs. CRITICALs and HIGHs stay absolute — real vulnerabilities hurt regardless of server size.

GradeScoreMeaning
A90-100Excellent security posture
B75-89Good — minor issues
C60-74Acceptable — needs improvement
D40-59Poor — significant risks
F0-39Failing — critical vulnerabilities

Injection Detection

The scanner checks tool descriptions for 11 prompt injection patterns:

  • Instruction override — "ignore previous instructions", "disregard all rules"
  • Role hijacking — "you are now a..."
  • Memory wipe — "forget everything"
  • Tool redirection — "instead of X, call Y"
  • Hidden actions — "also execute..."
  • Concealment — "do not tell the user"
  • Stealth operations — "secretly", "covertly"
  • Security bypass — "override auth", "skip validation"
  • Encoded payloads — base64, eval(), template injections
  • Unicode obfuscation — escaped characters hiding instructions

Risk Classification

Every tool is classified by name pattern:

Risk LevelPatternsExample Tools
Criticalexecute, shell, admin, sudo, paymentshell_run, admin_reset, process_payment
Highdelete, remove, drop, deploy, credentialdelete_user, deploy_prod, get_api_key
Mediumcreate, update, send, writecreate_issue, send_email, write_file
Inforead, get, list, search, describeget_status, list_users, search_docs

Fix Your Grade

The scanner tells you what's wrong. Here's how to fix it:

Add per-tool permissions
npm install @agentsid/guard

AgentsID Guard validates every tool call against permission rules before execution. 50 tools, 16 categories, all protected.

Or add the SDK to your existing server
npm install @agentsid/sdk

Three lines of middleware in your MCP server. Full docs at agentsid.dev/docs.

Programmatic Usage

import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";

// Scan a local server
const report = await scanStdio("npx @some/server", { json: true });

// Scan a remote server
const report = await scanHttp("https://mcp.example.com", { json: true });

// Scan tool definitions directly (no server needed)
const report = scanToolDefinitions(myToolArray, { json: true });

Contributing

Found a pattern we're not detecting? Open an issue or PR. The rule engine is in src/rules.mjs — adding a new pattern is one regex.

Research

All 15,982 servers scored and searchable: agentsid.dev/registry

Links

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.