Skip to main content
Glama
UltraProbe

UltraProbe

MISP MCP Server

npm version License: MIT MCP

A Model Context Protocol server for MISP (Malware Information Sharing Platform), with built-in prompt injection defense powered by prompt-defense-audit.

Why this exists: MISP holds operational threat intel β€” IOCs, threat actor profiles, attack patterns. When you connect an LLM agent to MISP via MCP, two new attack surfaces emerge:

  1. Adversarial seeding. A threat actor who can submit content into your MISP instance (or a federated feed) can plant prompt-injection payloads designed to hijack downstream LLM agents.

  2. Sensitive intel leakage. A manipulated LLM can be coerced into returning intel above its authorized TLP level.

This server wraps every outgoing MISP response in prompt-defense-audit's output scanner, blocking high-risk patterns before they reach the LLM. Read-only by design β€” no write tools exposed.

Tracks: MISP/MISP#10745 β€” MCP server for MISP


Features

  • πŸ›‘οΈ Defense built in β€” every MISP response scanned for prompt-injection / XSS / shell-injection patterns before being returned

  • πŸ”’ Read-only by design β€” no event/attribute mutation tools; an LLM cannot modify your threat-intel platform

  • 🧰 8 high-utility tools covering events, attributes, search, tags, feeds, galaxies

  • ⚑ Zero-config beyond MISP_URL and MISP_API_KEY

  • πŸͺΆ Stdio transport β€” works with Claude Desktop, Cursor, Continue, Cline, any MCP client

  • πŸ“‹ MIT license β€” fork freely, use commercially


Related MCP server: Cyberbro MCP Server

Quick start

1. Install

npm install -g @ultralab/misp-mcp-server

Or use npx directly in your MCP client config (no install needed).

2. Configure your MCP client

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%/Claude/claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "misp": {
      "command": "npx",
      "args": ["-y", "@ultralab/misp-mcp-server"],
      "env": {
        "MISP_URL": "https://misp.your-org.example",
        "MISP_API_KEY": "your_misp_api_key_here"
      }
    }
  }
}

Cursor / Continue / Cline β€” similar pattern, see your client's MCP config docs.

3. Restart your MCP client and start asking

"What MISP events are tagged tlp:white from the last 7 days?"
"Show me event 12345 β€” I'm investigating a phishing report."
"What threat actor galaxies do we have configured?"
"Find all attributes matching the IP 198.51.100.42."

Tools exposed

Tool

Purpose

misp_version

Health check + server version

misp_list_events

Paginated event headers

misp_get_event

Full event with attributes (scanned for injection)

misp_search_events

Search by tag / type / value / date range

misp_search_attributes

Direct IOC lookup

misp_list_tags

All configured tags (TLP, taxonomy, etc.)

misp_list_feeds

Configured threat-intel feeds

misp_list_galaxies

Threat actor / campaign clusters

Mutation tools intentionally not included. An LLM with write access to MISP is a supply-chain compromise vector. If you need agent-driven MISP mutations, build a per-tool allowlist with human-in-the-loop confirmation.


Defense layer

Every tool response is run through prompt-defense-audit's scanOutput before being returned to the LLM client.

High-risk patterns (critical / high severity) β€” response is blocked and replaced with a safe summary. Example trigger patterns:

  • Script-tag injection (<script>...</script>)

  • Iframe / object injection

  • JavaScript URLs (javascript:)

  • Shell-command patterns in unexpected contexts

  • Known prompt-injection vector signatures from prompt-defense-audit's 17+ vector library

Low/medium-risk patterns β€” response annotated with a [defense] prefix listing matched patterns but still returned.

PROMPT_DEFENSE_DISABLED=true

Use only if you fully trust your MISP instance + all federated feeds and need raw response fidelity for a specific debugging scenario.


Environment variables

Variable

Required

Default

Notes

MISP_URL

βœ…

β€”

Base URL of your MISP instance (e.g. https://misp.example.com)

MISP_API_KEY

βœ…

β€”

MISP automation API key (Profile β†’ Auth Keys)

MISP_INSECURE_TLS

❌

false

Set to true only for self-signed dev instances

PROMPT_DEFENSE_DISABLED

❌

false

Set true to skip output scanning (NOT recommended)


For enterprise users

The free OSS defense layer ships with prompt-defense-audit (17+ regex-based vectors, ~3ms latency, deterministic).

For deployments that need:

  • πŸ” Persistent audit logs of every MISP query an LLM has made

  • πŸ‘₯ Team policies (per-role allowlists, per-TLP gating, escalation flows)

  • 🌏 Jurisdictional compliance (EU GDPR / TW 個資法 / δΈ­εœ‹ PIPL data-residency)

  • 🚨 Live threat intel updates to the defense ruleset (new injection vectors pushed daily)

  • πŸ“Š SLA-backed uptime and response

β†’ Upgrade path: route MCP server through Quartz Cloud β€” Taiwan-domiciled runtime AI firewall, drop-in passthrough.


Development

git clone https://github.com/ppcvote/misp-mcp-server.git
cd misp-mcp-server
npm install
npm test            # smoke tests, no live MISP
npm run dev         # tsx watch mode
npm run build       # produce dist/

Architecture

LLM client (Claude Desktop, Cursor, etc.)
    β”‚ stdio
    β–Ό
@ultralab/misp-mcp-server
    β”‚
    β”œβ”€ src/tools.ts       β€” 8 read-only tool definitions + dispatch
    β”œβ”€ src/misp-client.ts β€” minimal MISP REST API wrapper
    └─ src/index.ts       β€” MCP Server + scanOutput() defense layer
    β”‚
    β–Ό
MISP REST API (/events, /attributes, /tags, /feeds, /galaxies)

Project context

Built by Ultra Lab β€” a one-person AI products company in Taiwan, focused on AI safety, threat intel, and the supply chain between LLM agents and operational security tooling.

This server is part of a broader thesis: the MCP ecosystem will be a major prompt-injection vector unless servers default to defensive output handling. We're shipping reference implementations for high-leverage targets (MISP first, OpenCTI / TheHive / Vault next) to anchor the standard.

Companion projects:

  • prompt-defense-audit β€” the underlying detection engine

  • ultraprobe β€” CLI scanner for AI app system prompts

  • quartz.tw β€” paid runtime firewall (audit logs, team policies, jurisdictional moat)


License

MIT Β© 2026 Ultra Lab β€” see LICENSE.

Contributing

PRs welcome. Please:

  1. Keep the read-only invariant. Mutation tools must be argued explicitly with a threat-model writeup.

  2. Add a test for any new tool.

  3. If you add new MISP API coverage, link to the relevant OpenAPI spec section in your PR.

For discussion, see MISP/MISP#10745.

Available Tools

8 tools
misp_get_eventA

Fetch a single MISP event by id, including its attributes (IOCs). The response is scanned for prompt-injection payloads before being returned.

Inputs: id (required).

misp_list_eventsA

List MISP events (most recent first). Returns event headers (id, info, date, threat level, tags). For detailed attributes, call misp_get_event with an id. Default page size is 20; max 100.

Inputs: limit, page.

misp_list_feedsA

List configured MISP threat-intel feeds (enabled and disabled). Use this to understand which external sources are feeding the instance.

Inputs: no named parameters.

misp_list_galaxiesA

List MISP galaxies (threat actor profiles, campaign clusters, technique catalogs). Galaxies are MISP's structured representation of MITRE ATT&CK, threat actors, etc.

Inputs: no named parameters.

misp_list_tagsA

List all tags configured on the MISP instance. Useful for discovering taxonomy values (TLP levels, malware families, campaign names) before running a tag-scoped search.

Inputs: no named parameters.

misp_search_attributesA

Search MISP attributes (IOCs) directly. Faster than searching events when you have a specific IOC type/value pair to look up.

Inputs: value, type, category, tag, +1 more.

misp_search_eventsA

Search MISP events by tag, type, value, category, or date range. Useful for threat hunting (e.g. all events tagged with a CVE, or matching an IOC value).

Inputs: value, type, category, tag, +3 more.

misp_versionA

Health check β€” return the MISP server version and capability flags. Use this to verify connectivity before issuing other queries.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct operation: event retrieval, listing, feed listing, galaxy listing, tag listing, attribute search, event search, and health check. No overlap in purpose.

    Naming Consistency5/5

    All tools follow a consistent 'misp_verb_noun' pattern using snake_case, with clear verbs (get, list, search) and nouns describing the resource.

    Tool Count5/5

    8 tools is appropriate for a read-focused MISP client, covering key browsing and search operations without being excessive or insufficient.

    Completeness3/5

    Covers essential reading operations (events, attributes, feeds, galaxies, tags) but lacks any creation, update, or deletion tools, limiting its usefulness for full MISP workflows.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that integrates with the MISP (Malware Information Sharing Platform) to provide threat intelligence capabilities to Large Language Models.
      13
      -
    • A
      license
      A
      quality
      B
      maintenance
      An MCP server that extracts Indicators of Compromise (IoCs) from unstructured text and checks their reputation across multiple threat intelligence services. It enables real-time analysis of IPs, domains, hashes, and URLs, providing enriched context for security workflows within LLMs.
      5
      34 PyPI
      19
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      An MCP server that enables LLMs to interact with MISP for threat intelligence sharing, IOC lookups, and event management. It provides tools for investigating indicators, discovering correlations, and exporting intelligence in formats like STIX and Suricata.
      36
      33 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for AI agent security guardrails. Provides input validation, prompt injection detection, PII redaction, output filtering, policy enforcement, rate limiting, and comprehensive audit logging.
      66 npm
      1
      MIT