← Discover MCPs and Agents
e
MCPAI & MLMCP Registry

example-mcp-app-security

Reference MCP App for Elastic Security — interactive SOC dashboards inside Claude, Cursor, and other MCP hosts.

Links

README

From the repo.

Elastic Security MCP App

Latest Release

Quick Demo

https://github.com/user-attachments/assets/cb62a569-1ef0-4fb0-90c7-587b98fb2049

An MCP App that brings interactive blue-team security operations directly into Claude, VS Code, and other MCP-compatible AI hosts. Built on the Model Context Protocol with interactive UI extensions that render inline in the conversation.

What are MCP Apps? MCP Apps extend the Model Context Protocol to let tool servers return interactive HTML interfaces — dashboards, forms, visualizations — that render inside the AI conversation. The LLM calls a tool, and instead of just returning text, an interactive UI appears alongside the response.

Alert Triage Dashboard

What This Does

This project provides six interactive security operations tools, each with a rich React-based UI that renders inline when Claude (or another MCP host) calls the tool:

ToolWhat It Does
Alert TriageFetch, filter, and triage security alerts with AI verdict cards, process tree, and network investigation
Attack DiscoveryAI-powered correlated attack chain analysis with confidence scoring, entity risk, and MITRE mapping
Case ManagementCreate, search, and manage SOC investigation cases with AI-assisted actions
Detection RulesBrowse, tune, and manage detection rules with KQL search and noisy rules analysis
Threat HuntES|QL workbench with clickable entities and a D3 investigation graph
Sample DataGenerate ECS security events for demos across 4 attack chain scenarios

See docs/features.md for a full breakdown of each tool's capabilities.

Quick Start

[!TIP] Just want to try it? Download example-mcp-app-security.mcpb and double-click it. No Node.js, no cloning, no config files.

Claude Desktop handles the rest — during install, fill in your Elasticsearch URL, Kibana URL, and API key. See Creating an API key if you need to generate one first.

For the API key's permissions, see Required permissions (stateful) or Serverless permissions (Elastic Cloud Serverless Security projects). The stateful Quickstart uses Kibana's built-in editor (full-featured) or viewer (read-only) role plus a small companion role for index access — fastest unless you need a fully scripted custom role.

For other hosts (Cursor, VS Code, Claude Code) or building from source, see Installation below.

How It Works

Interaction Flow

When a user asks Claude to triage alerts or run a threat hunt, Claude calls a model-facing tool on this server. The tool returns a compact text summary to Claude and an interactive React UI that renders inline in the conversation. The UI then calls app-only tools directly for all subsequent interactions — keeping the LLM context small while the UI has full data access.

See docs/architecture.md for details on how views are built, how the UI communicates with the server, and key design decisions.

Telemetry

The MCP App emits anonymised usage events via @elastic/ebt. Shipping is mirrored to the user's Kibana telemetry opt-in — nothing leaves the process unless Kibana reports optIn === true. See docs/telemetry.md for the event catalog, what's collected, and how to opt out.

Skills

The skills/ directory contains Claude SkillsSKILL.md files that teach Claude when and how to use the tools. See docs/setup-skills.md for installation instructions.

Installation

GuideDescription
Add to Claude DesktopInstall the MCP app via one-click .mcpb or manual config
Add to CursorConnect the MCP app via npx or a locally running server
Add to VS CodeConnect the MCP app via npx or a locally running server
Add to Claude CodeRegister the MCP app via the claude mcp add CLI
Add to Claude.aiExpose the MCP app via a cloudflared tunnel
Build and run locallyBuild the MCP server from source and run it on your machine
Install skillsInstall skills via npx, local clone, or zip upload
UpdatingHow to update to a newer release

Development

npm run dev          # Watch mode
npm run typecheck    # Type-check only
npm run build:views  # Build views only
npm run build:server # Build server only

Inspired By

License

Elastic-2.0

Collected info

  • 24 stars
  • 16 forks
  • Language: TypeScript
  • Source updated: 9/8/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.