MCP security checks — WARDEN and HISTOR

Scan MCP tool definitions for poisoning, look up server history, count tool-list tokens. Free.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
93%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~740Tokens (tool definitions)
~939 BTypical response size
Moderate attention impact (0.58% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp-security": {
      "url": "https://modelmarket.dev/tools/mcp/security"
    }
  }
}

Remote endpoints

https://modelmarket.dev/tools/mcp/securitystreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢warden_scan(tools, server)

Scan an MCP server's tools/list with WARDEN, the open-source MCP firewall: static rules and a threat list over every name, description, schema and annotation. Returns allow or block and each finding with its rule and severity. Quoted fragments of the scanned text are left out of the answer.

Input Schema

{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "The server's tools/list result: [{name, description, inputSchema, ...}]"
    },
    "server": {
      "type": "object",
      "description": "Optional {name, url} to label the verdict"
    }
  },
  "required": [
    "tools"
  ]
}
🟢histor_check(endpoint, name)

Look up an MCP server in HISTOR, a public append-only log of MCP tool sets: when its tool set was first pinned, how often it changed, and what the pattern scan found. HISTOR answers from its own observations and never contacts the server.

Input Schema

{
  "type": "object",
  "properties": {
    "endpoint": {
      "type": "string",
      "description": "https URL of the MCP server"
    },
    "name": {
      "type": "string",
      "description": "Or its registry name, e.g. io.github.owner/server"
    }
  }
}
🟢tool_list_cost(tools, server)

How many tokens an MCP server's tool list adds to every model request, what that costs per 1,000 requests, the heaviest tools, and where it sits among 18,204 packages and 16,170 remote servers. Send a tools/list or name a server HISTOR observes.

Input Schema

{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "A tools/list result"
    },
    "server": {
      "type": "string",
      "description": "Or a server HISTOR observes: https endpoint, npm:<package>, pypi:<package> or registry name"
    }
  }
}
🟢x402_check(x_payment, requirements, authorization, signature, network)

Check a signed x402 USDC payment before submitting it: recovers the EIP-712 signer, runs USDC's own checks and the seller's terms, and when the signature fails names the domain it was really made for (e.g. Base Sepolia's 'USDC' used on Base, where USDC is 'USD Coin').

Input Schema

{
  "type": "object",
  "properties": {
    "x_payment": {
      "type": "string",
      "description": "The X-PAYMENT header (base64)"
    },
    "requirements": {
      "type": "object",
      "description": "The 402's accepts entry: payTo, amount, asset, network"
    },
    "authorization": {
      "type": "object",
      "description": "Instead of x_payment: from, to, value, validAfter, validBefore, nonce"
    },
    "signature": {
      "type": "string",
      "description": "With authorization: the 65-byte hex signature"
    },
    "network": {
      "type": "string",
      "description": "With authorization: base, base-sepolia, … or eip155:<id>"
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools