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

isMalicious threat intelligence for AI agents

by hexablobversion 0.8.0i★ –iComputer or cloud
Registry namecom.ismalicious/mcp-server

Install

Overview

Description from the maker (original English)

Reputation for IPs, domains, URLs, hashes, emails, phones; CVEs; injection and email scans

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: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Chat & email
  • You need to fill in: ISMALICIOUS_API_KEY, ISMALICIOUS_API_SECRET, Authorization

Install

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

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: ISMALICIOUS_API_KEY, ISMALICIOUS_API_SECRET, ISMALICIOUS_API_BASE, ISMALICIOUS_TIMEOUT_MS, ISMALICIOUS_WEB_BASE, ISMALICIOUS_CACHE_TTL_S, ISMALICIOUS_PREWARM, Authorization

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

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

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

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

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

{
  "mcpServers": {
    "ismalicious": {
      "command": "npx",
      "args": [
        "-y",
        "@ismalicious/mcp-server"
      ],
      "env": {
        "ISMALICIOUS_API_KEY": "your-value",
        "ISMALICIOUS_API_SECRET": "your-value",
        "ISMALICIOUS_API_BASE": "your-value",
        "ISMALICIOUS_TIMEOUT_MS": "your-value",
        "ISMALICIOUS_WEB_BASE": "your-value",
        "ISMALICIOUS_CACHE_TTL_S": "your-value",
        "ISMALICIOUS_PREWARM": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http ismalicious https://api.ismalicious.com/mcp --header 'Authorization: your-value'

Or run it on your computer

claude mcp add ismalicious --env ISMALICIOUS_API_KEY=your-value --env ISMALICIOUS_API_SECRET=your-value --env ISMALICIOUS_API_BASE=your-value --env ISMALICIOUS_TIMEOUT_MS=your-value --env ISMALICIOUS_WEB_BASE=your-value --env ISMALICIOUS_CACHE_TTL_S=your-value --env ISMALICIOUS_PREWARM=your-value -- npx -y @ismalicious/mcp-server

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": {
    "ismalicious": {
      "url": "https://api.ismalicious.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "ismalicious": {
      "command": "npx",
      "args": [
        "-y",
        "@ismalicious/mcp-server"
      ],
      "env": {
        "ISMALICIOUS_API_KEY": "your-value",
        "ISMALICIOUS_API_SECRET": "your-value",
        "ISMALICIOUS_API_BASE": "your-value",
        "ISMALICIOUS_TIMEOUT_MS": "your-value",
        "ISMALICIOUS_WEB_BASE": "your-value",
        "ISMALICIOUS_CACHE_TTL_S": "your-value",
        "ISMALICIOUS_PREWARM": "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": {
    "ismalicious": {
      "type": "http",
      "url": "https://api.ismalicious.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "ismalicious": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ismalicious/mcp-server"
      ],
      "env": {
        "ISMALICIOUS_API_KEY": "your-value",
        "ISMALICIOUS_API_SECRET": "your-value",
        "ISMALICIOUS_API_BASE": "your-value",
        "ISMALICIOUS_TIMEOUT_MS": "your-value",
        "ISMALICIOUS_WEB_BASE": "your-value",
        "ISMALICIOUS_CACHE_TTL_S": "your-value",
        "ISMALICIOUS_PREWARM": "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 address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

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

Values you fill in

  • ISMALICIOUS_API_KEY secret env
    API key from https://ismalicious.com/app/account. Optional: without it the server starts in bootstrap mode and offers bootstrap_key.
  • ISMALICIOUS_API_SECRET secret env
    API secret paired with the key
  • ISMALICIOUS_API_BASE env
    API base URL (defaults to https://ismalicious.com/api; https://api.ismalicious.com reaches the API host directly)
  • ISMALICIOUS_TIMEOUT_MS env
    Replaces every tool's timeout, in milliseconds (defaults: gate 15000, check_indicator 25000, CVE and exploited_cves 10000, search_indicators 20000, check_indicators 60000, check_password_exposure 100…
  • ISMALICIOUS_WEB_BASE env
    Base URL for bootstrap_key, a route only https://ismalicious.com/api serves (defaults to ISMALICIOUS_API_BASE, or https://ismalicious.com/api when that is api.ismalicious.com)
  • ISMALICIOUS_CACHE_TTL_S env
    Result cache: 0 turns it off; N caps every tool's cache lifetime at N seconds (never raises one)
  • ISMALICIOUS_PREWARM env
    0 (or false, off, no) skips the one unauthenticated GET /health sent after initialize to open the connection
  • Authorization secret required HTTP header
    Bearer : , the key pair from https://ismalicious.com/app/account. Every tool but check_password_exposure (local only) and bootstrap_key.

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

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

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 against the domain ismalicious.com (the registry checks domain ownership)

  • … 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 checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Chat & emaili

  • More stars than 0% of the other 1774 servers in this category
  • Published to the registry more recently than 67% of the other 1774 servers in this category
  • Basic checks equal to or better than 100% of the other 1774 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 isMalicious threat intelligence for AI agents 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: ISMALICIOUS_API_KEY, ISMALICIOUS_API_SECRET, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

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

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

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

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 31 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
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.

@ismalicious/mcp-server

A zero-dependency Model Context Protocol server that gives an AI agent isMalicious threat intelligence: reputation verdicts for IP addresses, domains, URLs, file hashes, email addresses and phone numbers, the CVE catalog, the isinjected gate that scans untrusted content for prompt injection before the agent acts on it, and a scanner that reads one whole email message for phishing and malware.

Install

{

"mcpServers": { "ismalicious": { "command": "npx", "args": ["-y", "@ismalicious/mcp-server"], "env": { "ISMALICIOUS_API_KEY": "your-api-key", "ISMALICIOUS_API_SECRET": "your-api-secret" } } } }

Keys: https://ismalicious.com/app/account. Free keys exist. Without the two variables the server still starts, offering only bootstrap_key, which mints a free key from an email address and uses it for the session (see below).

Registry name: com.ismalicious/mcp-server (https://registry.modelcontextprotocol.io/v0/servers?search=ismalicious).

Remote (Streamable HTTP)

The same server runs at https://api.ismalicious.com/mcp, for clients that connect to a URL instead of starting a process. Send the key pair with every request:

Authorization: Bearer <apiKey>:<apiSecret>

The base64 of : , or an X-API-KEY header carrying it, works too. Claude Code:

claude mcp add --transport http ismalicious https://api.ismalicious.com/mcp \

--header "Authorization: Bearer : "

Clients that take a JSON entry (Cursor and others):

{

"mcpServers": { "ismalicious": { "url": "https://api.ismalicious.com/mcp", "headers": { "Authorization": "Bearer : " } } } }

What differs from the local server:

  • No `check_password_exposure`. Its promise is that the password never leaves your machine; over HTTP it would reach ours whole. Run the local server for it.
  • No `bootstrap_key`. Get a free key at https://ismalicious.com/app/account.
  • Listing needs no key, calling does. Without a key, initialize, tools/list and ping answer (so directory crawlers see the tools) and any tool call gets 401. A key that is sent is checked against GET /gate/quota, which bills nothing, and a refused one gets 401 on any request; an accepted one is not checked again for 5 minutes.
  • Stateless. Each POST carries one JSON-RPC message (or a batch of up to 10, run in order, with at most one tools/call), answered as application/json; no session, no SSE stream (GET answers 405). A request needs a string or number id: without one only notifications/* are handled, and anything else is dropped unanswered. Without a key, a body is limited to 64 KiB. A notifications/cancelled arrives in another request and cancels nothing; closing the connection cancels the call it carries. The ismalicious://quota resource reports the scan meter, never the request headers of earlier calls.
  • Deadlines. check_indicators stops at 50 s instead of 60 s, under the edge's own timeout; the others keep theirs. A call the client stopped waiting for is still billed, so give the client at least 60 s per call (OpenSRE's MCP gateway: timeout_seconds of 90, since its 30 s default covers a listing session and a calling session together).
  • Billing is the same. Each tool call costs what it costs locally, and the result cache (see Latency) is shared across your requests for the same key, so a repeat within its lifetime is still free. The environment variables below do not apply.

Every lookup tool is read-only (readOnlyHint: true). For a gateway that only lets certified read-only tools run without confirmation, such as OpenSRE's MCP gateway, nine remote tools qualify: scan_before_use, check_url, check_indicator, get_cve, recent_cves, search_indicators, check_indicators, scan_email, exploited_cves. The three vulnerability-monitoring tools added in 0.8.0 change the account and say so (readOnlyHint: false, destructiveHint: false): watch_domain and watch_dependencies start watching a source (idempotentHint: true: adding it again returns the one already watched), ack_finding sets a finding's status.

To serve it yourself, @ismalicious/mcp-server/streamable-http exports handleStreamableHttp(request, options) on web-standard Request and Response.

Tools

ToolWhat it answersCost
scan_before_usePrompt-injection scan plus link reputation over a block of untrusted text. `block \warn \allow`.1 scan
check_urlReputation of one URL, domain or IP before fetching it. `block \warn \allow`.1 scan
check_indicatorThe one tool for any single indicator: IP, domain, URL, file hash (MD5, SHA-1, SHA-256), email address or phone number, defanged or not. verdict (malicious/suspicious/clean/unknown — never clean for an email address or phone number), a headline you can relay verbatim, recommendedAction (block/review/allow/unverified), risk 0-100, citing threat blocklists, up to three evidence reasons, infrastructure (cloud, CDN, Tor exit…), first/last seen, network, registration or file context. fast by default (no live DNS, WHOIS or OTX call; a cold hash may wait ~2.5 s on CIRCL). Under 4 KB.1 request
get_cveOne CVE by id: description, CVSS, EPSS, CISA KEV status and due date, exploitation evidence where recorded (SSVC, Exploit-DB, Nuclei, MSRC), affected packages and fixed versions (OSV.dev), vendor advisories (CSAF), references. No recorded evidence is not proof of no exploitation. The only CVE path.1 request
recent_cvesLatest CVEs, optional severity, at most 20.1 request
search_indicatorsDomains the corpus lists that look like a brand or domain — typosquats, homoglyphs, other TLDs or hosts, phishing-word combinations — most dangerous first. total_hits counts the upstream sample; truncated is true when omission is known, null when unknown. Follow up with check_indicators for verdicts.1 request on api.ismalicious.com; burst limit only on the default base
check_indicatorsUp to 100 indicators of any of the six kinds in one call: per row malicious, recommendedAction (block/escalate/review/monitor/allow/unverified), risk, blocklist count, categories, lookupStatus, infrastructure. Each unique indicator sent charges one request, including rows the API cannot type; SHA-512, TLSH and ssdeep rows are refused locally and cost nothing. Plans cap the batch (Free 10, Basic 50, Pro 100).1 request per indicator
check_password_exposureWhether a password, or its SHA-1 or NTLM hash, is in known breach dumps (Have I Been Pwned's Pwned Passwords) and how many times. A password is hashed locally; only the first 5 hex digits of the hash are sent.1 request

| scan_email | Scan one email message for phishing and malware: raw eml or parsed message. verdict (malicious/suspicious/clean/inconclusive), recommendedAction (quarantine/review/warn/deliver), risk 0-100, a headline to relay, the strongest reasons, coverage.skipped. malicious needs a listing in the dataset; clean needs your own system's DMARC pass and a sender domain the dataset knows as established; deliver

Only the beginning is shown; read the rest in the repo

Ask PopNx