MCP Server Malcolm logo

MCP Server Malcolm

by nagameTW

Read-only MCP access to Malcolm for network traffic searches, Suricata alerts, Arkime sessions, and NetBox asset lookups.

Install MCP Server Malcolm

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "nagametw-mcp-server-malcolm": {
      "command": "uvx",
      "args": [
        "mcp-server-malcolm"
      ],
      "env": {
        "MALCOLM_URL": "YOUR_VALUE_HERE",
        "MALCOLM_USERNAME": "YOUR_VALUE_HERE",
        "MALCOLM_PASSWORD": "YOUR_VALUE_HERE",
        "MALCOLM_SSL_VERIFY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings β†’ Developer β†’ Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-testedβ€” the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

nagameTW/mcp-server-malcolm connects AI agents to a Malcolm network traffic analysis instance over its HTTPS API. It exposes read tools for OpenSearch and Malcolm filters, Suricata alert searches, Arkime session analysis, NetBox lookups, service health, and related investigation data. The server runs over stdio, keeps write classes disabled by default, and can enable audited alerting, tagging, hunt, PCAP-upload, and view operations individually. Reach for it when an agent needs structured threat-hunting access to Malcolm rather than direct, unrestricted API calls.

Use cases

  • Investigate Suricata alerts tied to an IP address
  • Search Arkime sessions and inspect traffic relationships
  • Identify top network talkers by protocol or field
  • Resolve observed addresses to NetBox assets
  • Check Malcolm readiness and data freshness before a hunt

Key features

  • Malcolm and OpenSearch traffic queries
  • Suricata alert investigation
  • Arkime session and field analysis
  • NetBox asset resolution and REST queries
  • Read-only defaults with opt-in audited writes
  • Service health and data-coverage checks

Tools51

What MCP Server Malcolm lets your agent do. Expand a tool for its parameters.

Verified live~24.4k tokens of context

Security & health

What it can reach and how reliably it runs β€” from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

4/4 checks healthy over the last 76d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev Β· mcp-server-malcolm (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars2Stargazers on the source repository.
Last commit5d agoMost recent push to the default branch.
Tools exposed51Callable tools this server registers over MCP.
Directory activity9 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Server Malcolm works

What nagameTW/mcp-server-malcolm does

nagameTW/mcp-server-malcolm gives MCP-compatible agents an interface to a Malcolm deployment, the network analysis suite built around components including Zeek, Suricata, Arkime, OpenSearch, and optional NetBox services. Its read surface covers 51 tools for investigating retained traffic, checking system state, inspecting fields and values, reviewing detections, and relating observed addresses to inventory assets.

Queries can use Malcolm's field-filter format, raw OpenSearch DSL, or Arkime expressions. The available operations include document searches, counts, aggregations, field discovery, Suricata alert searches, Arkime session and connection analysis, PCAP metadata retrieval, NetBox queries, dashboard saved-object inspection, and service or data-coverage checks. Arkime session searches return IDs that can be passed to session-specific follow-up tools.

How it works

The process communicates with an MCP client through standard input and output, then sends authenticated HTTPS requests to Malcolm. It is read-only when installed with the default configuration. Five write classes can be enabled independently: alert creation, Arkime tags, hunt jobs, PCAP upload, and Arkime views. Disabled classes are not registered as MCP tools, so they do not appear in tool discovery. Each write attempt produces an audit line on stderr or in the configured audit file.

The tools preserve distinctions between Malcolm, Arkime, and OpenSearch field vocabularies. Field discovery tools help identify the correct names before a query is sent. Several operations return raw JSON from the underlying service, while others return plain text or CSV for field lists, distinct values, and session exports.

Setup and configuration

Install the package with Python 3.11 or later:

Terminal
pip install mcp-server-malcolm

A Malcolm instance must be reachable over HTTPS, and the MCP client must launch the server as a stdio process. Configure the Malcolm base URL and Basic Authentication credentials with MALCOLM_URL, MALCOLM_USERNAME, and MALCOLM_PASSWORD. MALCOLM_SSL_VERIFY accepts true, false, or a CA-bundle path. A remote deployment should use a CA bundle whose certificate subject alternative name matches the host. Disabling verification is intended only for an isolated lab.

The server can be registered with clients such as Claude Code, Claude Desktop, or Cursor. malcolm_ping provides a quick authentication and reachability check after registration. Optional write flags and tool-group filtering are available through environment variables.

Tools and capabilities

  • Search Malcolm traffic with field filters or OpenSearch DSL.
  • Count, aggregate, and profile indexed network data.
  • Search Suricata alerts and inspect Arkime sessions, graphs, values, and summaries.
  • Discover Malcolm and Arkime field names before constructing queries.
  • Retrieve PCAP metadata, export session tables, and compile Arkime expressions into DSL.
  • Check Malcolm service readiness, OpenSearch health, sensor freshness, and data coverage.
  • Resolve IPs, devices, and prefixes through NetBox or query other NetBox endpoints.
  • Inspect dashboards and other saved objects.

Limitations and notes

The transport is stdio; streamable HTTP is not included. Destructive operations, raw OpenSearch writes, and raw NetBox CRUD passthrough are excluded. PCAP retrieval returns metadata rather than raw packet bytes, and downloads above 500 MB are refused unless a URL-only mode is used. Tool schemas consume about 34,000 tokens by default, although unused read groups can be disabled.

Reviews

No reviews yet β€” be the first to share how it worked for you.

Frequently Asked Questions about MCP Server Malcolm

nagameTW/mcp-server-malcolm is an MCP server that connects AI agents to Malcolm over HTTPS. Its main tools search and aggregate network traffic, investigate Suricata alerts, browse Arkime sessions, inspect service health, and resolve NetBox assets. It communicates with MCP clients over stdio and is read-only unless write classes are enabled.

Install it with `pip install mcp-server-malcolm`, then register the `mcp-server-malcolm` command with an MCP client. Python 3.11 or newer, a reachable Malcolm HTTPS instance, and an MCP client are required.

Set `MALCOLM_URL`, `MALCOLM_USERNAME`, and `MALCOLM_PASSWORD` for the Malcolm endpoint and Basic Authentication credentials. Use `MALCOLM_SSL_VERIFY` for certificate verification or a CA-bundle path. The server also provides environment variables for write classes, auditing, and read-group filtering.

Yes. Cursor is named as a supported MCP client, along with Claude Code and Claude Desktop. The server uses the stdio transport, so it must be registered as a local command with the required Malcolm environment variables.

Enable a write class by setting its corresponding flag to `true`; write classes are off by default and disabled tools are not registered. The available classes cover alerting, Arkime tags, hunt jobs, PCAP upload, and Arkime views, and every write attempt is audited.

Related MCP servers

Add a badge to your READMEShow it’s listed β€” live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Server Malcolm AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/nagametw-mcp-server-malcolm?style=directory)](https://allmcps.com/mcp/nagametw-mcp-server-malcolm)
HTML Embed
<a href="https://allmcps.com/mcp/nagametw-mcp-server-malcolm"><img src="https://allmcps.com/api/badge/nagametw-mcp-server-malcolm?style=directory" alt="MCP Server Malcolm on AllMCPs" /></a>