Skip to main content

MISP-mcp

What is MCP?

The Model Context Protocol (MCP) is an open protocol designed to standardize how applications provide contextual information to large language models (LLMs). Much like how USB-C serves as a universal interface for connecting hardware devices, MCP acts as a universal connector between AI models and various data sources or tools. This standardization simplifies integration and enhances the adaptability and functionality of AI-powered applications.

Why MCP?

MCP helps you build agents and complex workflows on top of LLMs. LLMs frequently need to integrate with data and tools, and MCP provides:

  • A growing list of pre-built integrations that your LLM can directly plug into
  • The flexibility to switch between LLM providers and vendors
  • Best practices for securing your data within your infrastructure

General architecture

At its core, MCP follows a client-server architecture where a host application can connect to multiple servers:

image-20250409162936741

  • MCP Hosts: Programs like Claude Desktop, IDEs, or AI tools that want to access data through MCP
  • MCP Clients: Protocol clients that maintain 1:1 connections with servers
  • MCP Servers: Lightweight programs that each expose specific capabilities through the standardized Model Context Protocol
  • Local Data Sources: Your computer’s files, databases, and services that MCP servers can securely access
  • Remote Services: External systems available over the internet (e.g., through APIs) that MCP servers can connect to

Get started

  1. Clone the repository
git clone https://github.com/Eacus/misp-mcp.git
  1. Install Claude Desktop

    1. Follow the guide https://modelcontextprotocol.io/quickstart/user
    2. Add the following MCP configuration
    {
        "mcpServers": {
            "MISP-mcp":{
                        "command": "uv",
                "args": [
                    "--directory",
                    "<path_to_repo>/server/",
                    "run",
                    "server.py"
                ]
            }
        }
    }
    
  2. Restart Claude desktop

Basic Usage

Search Event by ID

Prompting with misp-mcp

Can you give to me the MISP event with id 119?

image-20250409160824466

GUI

image-20250409150858330

PyMISP

misp_url = 'https://127.0.0.1:8443'
misp_key = '<misp_key>'
# Should PyMISP verify the MISP certificate
misp_verifycert = False
r = misp.search(eventid=[119], metadata=True, pythonify=True)

Create an event

Prompting with misp-mcp

Create a new MISP event with the following parameters:

  • Info: This is my new MISP event
  • Distribution: 0 (Your organization only)
  • Threat Level ID: 2 (Medium)
  • Analysis Level: 1 (Ongoing)

image-20250409163209884

GUI

image-20250409150904842

PyMISP

from pymisp import MISPEvent

event = MISPEvent()

event.info = 'This is my new MISP event'  # Required
event.distribution = 0  # Optional, defaults to MISP.default_event_distribution in MISP config
event.threat_level_id = 2  # Optional, defaults to MISP.default_event_threat_level in MISP config
event.analysis = 1  # Optional, defaults to 0 (initial analysis)

print(event.to_json())

Administrative task

Create an user

image-20250409170428039

image-20250409170506173

Prompting with misp-mcp

Add a new user to the MISP instance using the following required fields:

  • email@email.com: the email address associated with the account
  • test_id: the ID of the organization the user belongs to
  • role_id: the ID of the role assigned to the user

GUI

image-20250409150913949

PyMisp

from pymisp import ExpandedPyMISP, MISPUser
from keys import misp_url, misp_key, misp_verifycert
import argparse


    misp = ExpandedPyMISP(misp_url, misp_key, misp_verifycert, 'json')

    user = MISPUser()
    user.email = <email>
    user.org_id = <org_id>
    user.role_id = <role_id>

    misp.add_user(user, pythonify=True)

Add AI Capabilities!

Summarise all information about the MISP events that happened yesterday?

image-20250409174116947

image-20250409174135317

image-20250409174212905

image-20250409174228425

Generate a report written in Markdown based on the MISP event with id 114

image-20250409172033250

# MISP Event Report: Configuration and Security Posture Issues

## Event Details

- **Event ID:** 114
- **UUID:** 9d8c6821-0db5-4745-bb58-aac4f04eab78
- **Date:** 2025-03-25
- **Status:** Not Published
- **Threat Level:** 4
- **Distribution:** 1 (Organization)
- **Analysis Status:** 0 (Initial)

## Organization Information

- **Organization:** ORG_Main
- **Organization UUID:** 3094f85b-a22f-475b-a68f-ae77c233bb72
- **Event Creator:** user88@org-admin.main.test

## Description

This event focuses on "Configuration and Security Posture Issues." It appears to be in an initial stage of analysis and has not yet been published within the MISP instance.

## Attributes

No attributes have been added to this event yet.

## Objects

No objects have been associated with this event.

## Related Events

No related events have been linked to this event.

## Galaxies

No galaxies have been associated with this event.

## Summary

This MISP event (ID: 114) is currently in development and focuses on configuration and security posture issues. The event has been created but does not yet contain any attributes, objects, or relationships with other events. The event is set to be shared only within the organization (ORG_Main).

## Recommendations

1. Add relevant attributes to provide context about the specific configuration and security posture issues being addressed
2. Consider adding objects to structure the information more effectively
3. Link to related events if applicable
4. Determine appropriate galaxies to categorize the threat information
5. Review the threat level assignment to ensure it accurately reflects the severity
6. Consider publishing the event when it contains sufficient information

------

*Report generated on April 9, 2025*

Metadata

Release files for iflow-mcp-eacus-misperer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp-eacus-misperer 0.1.0
File Size Uploaded
iflow_mcp_eacus_misperer-0.1.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp-eacus-misperer 0.1.0
File Interpreter ABI Platform
iflow_mcp_eacus_misperer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 kB

Release files / iflow_mcp_eacus_misperer-0.1.0.tar.gz

Download URL iflow_mcp_eacus_misperer-0.1.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d7c0edf13fdcf1dfd2ce4b31f39061e7114f83ee2b66603023d84e0ae325cb25
BLAKE2b-256 checksum
How to use checksums
d89924b6fb66c28ae5f1b02ba0bfa0f8d18f1e0518d5585a87da89b66dbe7b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_eacus_misperer-0.1.0-py3-none-any.whl

Download URL iflow_mcp_eacus_misperer-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b6797620552ad8c3ba4c7c091c3419c23a01440485c4df115c3b2ca0facad3a
BLAKE2b-256 checksum
How to use checksums
24ab10775e65e6ea98491479d265bb6d791156a65b1749c585b2625473ae72d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page