Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Reputation for IPs, domains, URLs, hashes, emails, phones; CVEs; injection and email scans
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ISMALICIOUS_API_KEY, ISMALICIOUS_API_SECRET, ISMALICIOUS_API_BASE, ISMALICIOUS_TIMEOUT_MS, ISMALICIOUS_WEB_BASE, ISMALICIOUS_CACHE_TTL_S, ISMALICIOUS_PREWARM, AuthorizationValues 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 …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
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'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-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"ismalicious": {
"url": "https://api.ismalicious.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"ismalicious": {
"type": "http",
"url": "https://api.ismalicious.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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.
ISMALICIOUS_API_BASE envISMALICIOUS_TIMEOUT_MS envISMALICIOUS_WEB_BASE envISMALICIOUS_CACHE_TTL_S envISMALICIOUS_PREWARM envAuthorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
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
The registry name was verified against the domain ismalicious.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: ISMALICIOUS_API_KEY, ISMALICIOUS_API_SECRET, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.8.0) reached the registry 14 days ago.
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.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
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
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
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.
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.
{
"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).
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:
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.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.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).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.
| Tool | What it answers | Cost | ||
|---|---|---|---|---|
scan_before_use | Prompt-injection scan plus link reputation over a block of untrusted text. `block \ | warn \ | allow`. | 1 scan |
check_url | Reputation of one URL, domain or IP before fetching it. `block \ | warn \ | allow`. | 1 scan |
check_indicator | The 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_cve | One 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_cves | Latest CVEs, optional severity, at most 20. | 1 request | ||
search_indicators | Domains 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_indicators | Up 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_exposure | Whether 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