Skip to main content
Glama
mikewegmann

baramundi MCP Server

by mikewegmann

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BARAMUNDI_API_URLYesURL des baramundi Management Center API-Servers
BARAMUNDI_API_TOKENYesBearer Token für die Authentifizierung
BARAMUNDI_SSL_VERIFYNoOptional: SSL-Verifikation deaktivieren (true/false), Standardwert true

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA
    Gibt eine einzelne Seite der Geräteliste zurück — NUR für seitenweise Übersichten.
    NICHT für Suchen verwenden! Für Suchen nach Benutzer, Name, IP oder Gruppe
    stattdessen search_devices(query=...) nutzen — ein einziger Call, alle Geräte.

    Args:
        type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
        limit: Anzahl Geräte pro Seite (Standard: 50, Max: 100).
        page: Seitennummer, beginnend bei 0 (Standard: 0).

    Returns:
        Objekt mit 'data' (Geräteliste), 'totalItems', 'totalPages' und 'currentPage'.
    
get_deviceA
    Ruft alle Details zu einem einzelnen Gerät ab.
    Akzeptiert sowohl eine GUID als auch einen Hostnamen (z.B. 'PCSWIT1984').
    Enthält automatisch macmon NAC-Infos (VLAN, Sperrstatus), falls macmon konfiguriert ist.

    Args:
        device_id: GUID des Geräts (aus list_devices) ODER Hostname (z.B. 'PCSWIT1984').

    Returns:
        Vollständiges Geräte-Objekt mit allen Feldern inkl. Hardware,
        OS-Version, letzter Benutzer, Gruppe, Agent-Status und macmon NAC-Status.
    
get_software_inventoryA
    Gibt die installierte Software auf einem Gerät zurück.
    Akzeptiert Hostname (z.B. 'PCSWIT1984') oder GUID.

    Args:
        device_id: Hostname oder GUID des Geräts.
        query: Optionaler Suchbegriff im Software-Namen (z.B. 'Chrome', 'Office').
               Leer = alle installierten Programme.

    Returns:
        Objekt mit 'total' und 'software' (alphabetisch sortiert).
        Felder je Eintrag: name, version, publisher, installDate.
    
search_devicesA
    Sucht Geräte nach Hostname, IP-Adresse, Benutzer oder Gruppe.
    Die Suche ist case-insensitiv und prüft auf Teilübereinstimmung.

    Args:
        query: Suchbegriff — wird in Hostname, IP, registeredUser und
               logicalGroup gesucht (z.B. 'PCSWIT1984', '192.168.50', 'Köln').
        type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
        limit: Maximale Anzahl Ergebnisse (Standard: 20).

    Returns:
        Objekt mit 'data' (gefundene Geräte) und 'total'.
    
search_job_definitionsA
    Sucht Job-Definitionen nach Name oder Typ (Präfix).
    Jobs folgen der Namenskonvention: INST: (Installation), DEINST: (Deinstallation),
    RUN: (Skript/Aktion), UPD: (Update), SCAN:, OS:, REG:, INV:.

    Args:
        query: Suchbegriff im Job-Namen (z.B. 'Chrome', 'Edge', 'Office').
               Leer = alle Jobs des angegebenen Typs.
        type: Job-Typ als Präfix oder Kurzname:
              'install' / 'INST:', 'uninstall' / 'DEINST:', 'run' / 'RUN:',
              'update' / 'UPD:', 'scan' / 'SCAN:', 'os' / 'OS:'.
              Leer = alle Typen durchsuchen.
        limit: Maximale Anzahl Ergebnisse (Standard: 30).

    Returns:
        Objekt mit 'data' (Job-Liste) und 'total'.
        Felder: id, name, displayName, type, folder, category.
    
list_job_definitionsA
    Listet alle Job-Definitionen seitenweise auf (20 pro Seite).
    Für gezielte Suche besser search_job_definitions verwenden.

    Args:
        page: Seitennummer ab 0 (Standard: 0).

    Returns:
        Objekt mit 'data', 'totalItems' und 'totalPages'.
    
list_job_instancesA
    Listet die letzten Job-Ausführungen aller Geräte auf.

    Args:
        page: Seitennummer ab 0 (Standard: 0).

    Returns:
        Objekt mit 'data', 'totalItems' und 'totalPages'.
        Felder: jobDefinitionName, endpointName, state, stateDescription,
        start, lastAction, successfulExecutions, erroneousExecutions.
    
get_job_instanceA
    Gibt alle Details einer einzelnen Job-Ausführung zurück.

    Args:
        instance_id: GUID der Job-Instanz (id-Feld aus list_job_instances).

    Returns:
        Vollständiges Instanz-Objekt inkl. steps, Zeitstempel und Statusbeschreibung.
    
get_job_definitionA
    Gibt alle Details einer Job-Definition zurück.

    Args:
        definition_id: GUID der Job-Definition (id-Feld aus search_job_definitions).

    Returns:
        Vollständiges Definition-Objekt mit Typ, Ordner, Kategorie und Beschreibung.
    
start_jobA
    Startet einen Job auf einem Endpunkt (Softwareverteilung, Scan, Skript etc.).

    WICHTIG: Standardmäßig ist dry_run=True — der Job wird NICHT wirklich gestartet,
    sondern nur angezeigt, was passieren würde. Zum echten Starten dry_run=False setzen.
    Immer zuerst mit dry_run=True bestätigen lassen, bevor der echte Start erfolgt.

    Workflow:
      1. search_job_definitions(query='Chrome', type='install') → job_definition_id
      2. get_device(identifier='PCSWIT1234') oder search_devices(query='PCSWIT1234') → endpoint_id
      3. start_job(job_definition_id=..., endpoint_id=..., dry_run=True)  → Vorschau
      4. start_job(job_definition_id=..., endpoint_id=..., dry_run=False) → Ausführen

    Args:
        job_definition_id:        GUID der Job-Definition (aus search_job_definitions).
        endpoint_id:              GUID des Ziel-Endpunkts (aus get_device / search_devices).
        dry_run:                  True (Standard) = nur Vorschau, kein API-Aufruf.
                                  False = Job wird wirklich gestartet.
        start_if_already_assigned: True (Standard) = Job auch starten wenn bereits zugewiesen.
                                   False = nur starten wenn noch nicht zugewiesen.

    Returns:
        Bei dry_run=True: Vorschau-Objekt mit job- und endpoint-Details.
        Bei dry_run=False: Neue Job-Instanz von der API (id, state, start, ...).
    
report_os_distributionA
    Erstellt eine Übersicht der Betriebssystem-Versionen aller verwalteten Geräte.
    Hilfreich um veraltete OS-Versionen zu identifizieren (z.B. Windows 7 / Windows 10).

    Args:
        type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.

    Returns:
        Objekt mit 'total' und 'distribution' (Anzahl je OS-Version, absteigend sortiert).
    
report_inactive_devicesA
    Findet Geräte, die seit einer bestimmten Anzahl von Tagen nicht mehr gesehen wurden.

    Args:
        days: Schwellwert in Tagen (Standard: 30).
        type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.
        limit: Maximale Anzahl zurückgegebener Geräte (Standard: 50).

    Returns:
        Objekt mit 'total' und 'devices' (sortiert nach daysSinceLastSeen, absteigend).
    
report_agent_healthA
    Zeigt den Gesundheitsstatus des baramundi Client-Agenten über alle Geräte hinweg.
    Identifiziert Geräte mit gestopptem oder fehlendem Agent.

    Args:
        type: Gerätetyp — 'windows' (Standard), 'mac' oder 'linux'.

    Returns:
        Objekt mit 'total', 'byState' (Anzahl je Agent-Status) und
        'problematic' (Geräte mit nicht laufendem Agent).
    
report_failed_jobsA
    Listet Job-Instanzen mit Fehlern auf, sortiert nach Fehleranzahl.

    Args:
        limit: Maximale Anzahl zurückgegebener Einträge (Standard: 50).

    Returns:
        Objekt mit 'total' und 'instances' (sortiert nach erroneousExecutions, absteigend).
    
get_device_update_statusA
    Gibt den Windows-Update-Status eines einzelnen Geräts zurück.
    Zeigt fehlende Updates (Critical, Security, Other) sowie letzten Scan- und Update-Zeitpunkt.

    Args:
        device_id: Hostname (z.B. 'PCSWIT1984') oder GUID des Geräts.

    Returns:
        Objekt mit Update-Profil, Anzahl fehlender Updates je Kategorie,
        Zeitpunkt des letzten Inventars und letzten erfolgreichen Updates.
    
report_update_complianceA
    Zeigt eine Compliance-Übersicht aller Windows-Geräte nach Update-Status.
    Ideal um veraltete oder nicht gepatchte Geräte zu identifizieren.

    Args:
        min_missing: Mindestanzahl fehlender Updates, damit ein Gerät gelistet wird
                     (Standard: 1 — alle Geräte mit mindestens einem fehlenden Update).
        category: Welche Update-Kategorie berücksichtigt werden soll:
                  'critical', 'security', 'other' oder 'any' (Standard).
        limit: Maximale Anzahl Geräte im Ergebnis (Standard: 50).

    Returns:
        Objekt mit 'summary' (Gesamtübersicht) und 'devices' (sortiert nach fehlenden Updates).
    
get_vlan_statusA
    Fragt den VLAN- und NAC-Status eines Clients in macmon ab.
    Akzeptiert einen Hostnamen (z.B. 'PCSWIT1984') oder eine MAC-Adresse.
    Bei Hostnamen wird die MAC automatisch über baramundi ermittelt.

    Args:
        identifier: Hostname (z.B. 'PCSWIT1984') oder MAC-Adresse
                    (Format: 'AA:BB:CC:DD:EE:FF' oder 'AABBCCDDEEFF').

    Returns:
        Objekt mit:
        - mac: MAC-Adresse im macmon-Format
        - active: True = Client aktiv/erlaubt, False = gesperrt
        - authorizedVlans: Direkt am Client konfigurierte VLAN-IDs
        - activeVlans: Aktuell aktive VLANs aus laufender Netzwerk-Session
        - lastIp: Zuletzt gesehene IP-Adresse
        - online: Aktuell im Netz sichtbar?
        - endpointGroup: Zugewiesene Endpoint-Gruppe (bestimmt VLAN-Policy)
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikewegmann/baramundi_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server