Skip to main content
Glama
tacticalrmm-mcp-server

tacticalrmm-mcp-server

by NightSquawk

TacticalRMM MCP Server

npm version npm downloads OpenSSF Scorecard License: AGPL-3.0 Node

An MCP (Model Context Protocol) server for TacticalRMM, connecting your self-hosted RMM instance to AI tools.

Quick start

Claude

Download for Claude Desktop

bash (macOS/Linux):

TACTICALRMM_BASE_URL="https://api.yourdomain.com"
TACTICALRMM_API_KEY="your-api-key"

claude mcp add tacticalrmm \
  --env TACTICALRMM_BASE_URL="$TACTICALRMM_BASE_URL" \
  --env TACTICALRMM_API_KEY="$TACTICALRMM_API_KEY" \
  -- npx -y @nightsquawktech/tacticalrmm-mcp-server

PowerShell (Windows):

$TACTICALRMM_BASE_URL = "https://api.yourdomain.com"
$TACTICALRMM_API_KEY = "your-api-key"

claude mcp add tacticalrmm `
  --env "TACTICALRMM_BASE_URL=$TACTICALRMM_BASE_URL" `
  --env "TACTICALRMM_API_KEY=$TACTICALRMM_API_KEY" `
  -- npx -y @nightsquawktech/tacticalrmm-mcp-server

Cursor

Add to Cursor

Or put the mcp.json block in .cursor/mcp.json, then verify with:

agent mcp list

(The Cursor CLI manages configured servers but has no mcp add; install is via the button or mcp.json.)

VS Code

Install in VS Code

bash (macOS/Linux):

TACTICALRMM_BASE_URL="https://api.yourdomain.com"
TACTICALRMM_API_KEY="your-api-key"

code --add-mcp '{"name":"tacticalrmm","command":"npx","args":["-y","@nightsquawktech/tacticalrmm-mcp-server"],"env":{"TACTICALRMM_BASE_URL":"'"$TACTICALRMM_BASE_URL"'","TACTICALRMM_API_KEY":"'"$TACTICALRMM_API_KEY"'"}}'

PowerShell (Windows):

$TACTICALRMM_BASE_URL = "https://api.yourdomain.com"
$TACTICALRMM_API_KEY = "your-api-key"

$config = @{
  name = "tacticalrmm"
  command = "npx"
  args = @("-y", "@nightsquawktech/tacticalrmm-mcp-server")
  env = @{
    TACTICALRMM_BASE_URL = $TACTICALRMM_BASE_URL
    TACTICALRMM_API_KEY = $TACTICALRMM_API_KEY
  }
} | ConvertTo-Json -Compress

code --add-mcp $config

Codex

bash (macOS/Linux):

TACTICALRMM_BASE_URL="https://api.yourdomain.com"
TACTICALRMM_API_KEY="your-api-key"

codex mcp add tacticalrmm \
  --env TACTICALRMM_BASE_URL="$TACTICALRMM_BASE_URL" \
  --env TACTICALRMM_API_KEY="$TACTICALRMM_API_KEY" \
  -- npx -y @nightsquawktech/tacticalrmm-mcp-server

PowerShell (Windows):

$TACTICALRMM_BASE_URL = "https://api.yourdomain.com"
$TACTICALRMM_API_KEY = "your-api-key"

codex mcp add tacticalrmm `
  --env "TACTICALRMM_BASE_URL=$TACTICALRMM_BASE_URL" `
  --env "TACTICALRMM_API_KEY=$TACTICALRMM_API_KEY" `
  -- npx -y @nightsquawktech/tacticalrmm-mcp-server

Or add it to ~/.codex/config.toml under [mcp_servers.tacticalrmm].

mcp.json

Every environment variable the server reads, with recommended values:

{
  "mcpServers": {
    "tacticalrmm": {
      "command": "npx",
      "args": ["-y", "@nightsquawktech/tacticalrmm-mcp-server"],
      "env": {
        "TACTICALRMM_BASE_URL": "https://api.yourdomain.com",
        "TACTICALRMM_API_KEY": "your-api-key",
        "TACTICALRMM_TIMEOUT_MS": "30000"
      }
    }
  }
}

File locations: .mcp.json in your project root (Claude Code), claude_desktop_config.json (Claude Desktop), .cursor/mcp.json (Cursor).

Related MCP server: trmm-mcp

Configuration

Variable

Required

Default

Purpose

TACTICALRMM_BASE_URL

yes

Your TacticalRMM API URL, e.g. https://api.yourdomain.com

TACTICALRMM_API_KEY

yes

API key from Settings > Global Settings > API Keys

TACTICALRMM_TIMEOUT_MS

no

30000

HTTP timeout for API requests, minimum 1000

Security & write safety

TacticalRMM credentials: create a dedicated API key in Settings > Global Settings > API Keys, scoped to a read-only user role if your instance uses roles.

  • This server exposes zero write operations. It cannot modify agents, run scripts, or change anything on your RMM.

  • All requests go directly from your machine to your TacticalRMM instance; nothing passes through third parties.

IMPORTANT

The tool surface is a guardrail, not a security boundary. The env vars in your MCP config are real credentials, and an AI agent with shell access can bypass the MCP tools and call the TacticalRMM API directly with them. If you need hard read-only, enforce it at the source: scope the API key's user role to read-only permissions in TacticalRMM.

Tools

tacticalrmm_get_server_info               TacticalRMM server version and info
tacticalrmm_list_clients                  List clients
tacticalrmm_list_sites                    List sites
tacticalrmm_list_agents                   List agents with filters
tacticalrmm_get_agent                     Get one agent's details
tacticalrmm_list_agent_checks             Checks on an agent
tacticalrmm_list_agent_tasks              Automated tasks on an agent
tacticalrmm_list_agent_services           Windows services on an agent
tacticalrmm_list_agent_software           Installed software on an agent
tacticalrmm_list_agent_notes              Notes on an agent
tacticalrmm_list_agent_history            Command/script history for an agent
tacticalrmm_list_agent_pending_actions    Pending actions for an agent
tacticalrmm_list_win_updates              Windows updates for an agent
tacticalrmm_list_checks                   List checks across agents
tacticalrmm_get_check_history             History datapoints for a check
tacticalrmm_list_alerts                   List alerts
tacticalrmm_list_tasks                    List automated tasks
tacticalrmm_list_policies                 List automation policies
tacticalrmm_list_scripts                  List scripts
tacticalrmm_list_pending_actions          Pending actions across all agents
tacticalrmm_get_custom_fields             Custom field definitions
tacticalrmm_get_audit_logs                Query audit logs

API coverage

22 operations covered. All read-only; TacticalRMM uses PATCH request bodies for some query endpoints (alerts, check history, audit logs).

Category

Operations

Agents

10

Monitoring

3

Automation

3

Organization

2

System

4

Method

Path

Tool

GET

/agents/

tacticalrmm_list_agents

GET

/agents/{agent_id}/

tacticalrmm_get_agent

GET

/agents/{agent_id}/checks/

tacticalrmm_list_agent_checks

GET

/agents/{agent_id}/tasks/

tacticalrmm_list_agent_tasks

GET

/services/{agent_id}/

tacticalrmm_list_agent_services

GET

/software/{agent_id}/

tacticalrmm_list_agent_software

GET

/agents/{agent_id}/notes/

tacticalrmm_list_agent_notes

GET

/agents/{agent_id}/history/

tacticalrmm_list_agent_history

GET

/agents/{agent_id}/pendingactions/

tacticalrmm_list_agent_pending_actions

GET

/winupdate/{agent_id}/

tacticalrmm_list_win_updates

Method

Path

Tool

GET

/checks/

tacticalrmm_list_checks

PATCH

/checks/{check_id}/history/

tacticalrmm_get_check_history

PATCH

/alerts/

tacticalrmm_list_alerts

Method

Path

Tool

GET

/tasks/

tacticalrmm_list_tasks

GET

/scripts/

tacticalrmm_list_scripts

GET

/automation/policies/

tacticalrmm_list_policies

Method

Path

Tool

GET

/clients/

tacticalrmm_list_clients

GET

/clients/sites/

tacticalrmm_list_sites

Method

Path

Tool

GET

/core/version/ + /core/dashinfo/

tacticalrmm_get_server_info

GET

/core/customfields/

tacticalrmm_get_custom_fields

GET

/logs/pendingactions/

tacticalrmm_list_pending_actions

PATCH

/logs/audit/

tacticalrmm_get_audit_logs

Contributing

Contributions and issues are welcome. Please open an issue first before submitting a PR.

License

AGPL-3.0: free for personal and open-source use. Organizations that cannot comply with the AGPL can purchase a commercial license, and hosted/managed versions are available. See COMMERCIAL.md or contact hello@nightsquawk.tech.

For copyright concerns or takedown requests, contact hello@nightsquawk.tech.

Available Tools

22 tools
tacticalrmm_get_agentGet TacticalRMM AgentA
Read-onlyIdempotent

Get one TacticalRMM agent record by agent_id from /agents/<agent_id>/. This tool is read-only.

Inputs: agent_id (required), response_format.

tacticalrmm_get_audit_logsGet TacticalRMM Audit LogsA
Read-onlyIdempotent

Query TacticalRMM audit logs from /logs/audit/. This is a read-only audit-log query; TacticalRMM examples use a PATCH request body for filters.

Inputs: page, actions, sort_by, agent_ids, +3 more.

tacticalrmm_get_check_historyGet TacticalRMM Check HistoryA
Read-onlyIdempotent

Read history for one TacticalRMM check from /checks/<check_id>/history/. This tool is read-only.

Inputs: check_id (required), limit, offset, response_format.

tacticalrmm_get_custom_fieldsGet TacticalRMM Custom FieldsA
Read-onlyIdempotent

List TacticalRMM custom fields from /core/customfields/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_get_server_infoGet TacticalRMM Server InfoA
Read-onlyIdempotent

Read TacticalRMM server version and dashboard information from /core/version/ and /core/dashinfo/.

Inputs: response_format.

tacticalrmm_list_agent_checksList TacticalRMM Agent ChecksA
Read-onlyIdempotent

List checks assigned to one TacticalRMM agent from /agents/<agent_id>/checks/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_agent_historyList TacticalRMM Agent HistoryA
Read-onlyIdempotent

List history for one TacticalRMM agent from /agents/<agent_id>/history/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_agent_notesList TacticalRMM Agent NotesA
Read-onlyIdempotent

List notes for one TacticalRMM agent from /agents/<agent_id>/notes/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_agent_pending_actionsList TacticalRMM Agent Pending ActionsA
Read-onlyIdempotent

List pending actions for one TacticalRMM agent from /agents/<agent_id>/pendingactions/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_agentsList TacticalRMM AgentsA
Read-onlyIdempotent

List agents visible to the TacticalRMM API key from /agents/ with optional client, site, monitoring_type, and detail filters.

Inputs: site, limit, client, detail, +3 more.

tacticalrmm_list_agent_servicesList TacticalRMM Agent ServicesA
Read-onlyIdempotent

List Windows service inventory for an agent from /services/<agent_id>/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_agent_softwareList TacticalRMM Agent SoftwareA
Read-onlyIdempotent

List software inventory for a TacticalRMM agent from /software/<agent_id>/. This tool is read-only.

Inputs: agent_id (required), response_format.

tacticalrmm_list_agent_tasksList TacticalRMM Agent TasksA
Read-onlyIdempotent

List automated tasks assigned to one TacticalRMM agent from /agents/<agent_id>/tasks/. This tool is read-only.

Inputs: agent_id (required), limit, offset, response_format.

tacticalrmm_list_alertsList TacticalRMM AlertsA
Read-onlyIdempotent

List TacticalRMM alerts from /alerts/. This tool is read-only; TacticalRMM expects a PATCH query for alert filters.

Inputs: limit, offset, response_format.

tacticalrmm_list_checksList TacticalRMM ChecksB
Read-onlyIdempotent

List TacticalRMM checks from /checks/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_list_clientsList TacticalRMM ClientsA
Read-onlyIdempotent

List clients visible to the TacticalRMM API key from /clients/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_list_pending_actionsList TacticalRMM Pending ActionsA
Read-onlyIdempotent

List global pending actions from /logs/pendingactions/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_list_policiesList TacticalRMM PoliciesA
Read-onlyIdempotent

List automation policies from /automation/policies/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_list_scriptsList TacticalRMM ScriptsA
Read-onlyIdempotent

List scripts from the TacticalRMM script library at /scripts/. This tool is read-only and does not run scripts.

Inputs: limit, offset, response_format.

tacticalrmm_list_sitesList TacticalRMM SitesB
Read-onlyIdempotent

List TacticalRMM sites from /clients/sites/. This tool is read-only.

Inputs: limit, offset, response_format.

tacticalrmm_list_tasksList TacticalRMM TasksA
Read-onlyIdempotent

List TacticalRMM automated tasks from /tasks/. This tool is read-only and does not run tasks.

Inputs: limit, offset, response_format.

tacticalrmm_list_win_updatesList TacticalRMM Windows UpdatesA
Read-onlyIdempotent

List Windows Update inventory for an agent from /winupdate/<agent_id>/. This tool is read-only and does not scan or install updates.

Inputs: agent_id (required), limit, offset, response_format.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 22 tools

    Disambiguation5/5

    Each tool targets a distinct resource type (server info, clients, agents, sites, software, services, Windows updates, alerts, checks, tasks, scripts, policies, history, notes, pending actions, custom fields, audit logs). The only potential overlap is list_agents vs get_agent, but the singular vs plural and argument requirement make them clearly different.

    Naming Consistency5/5

    All 22 tools follow a consistent tacticalrmm_<verb>_<object> pattern using snake_case and only two verbs (get and list). This uniformity makes tool names highly predictable and easy to navigate.

    Tool Count4/5

    22 tools is slightly above the ideal 3-15 range, but the broad scope of TacticalRMM resources justifies the number. The set could feel repetitive since all tools are read-only list/get operations, but each endpoint is distinct and relevant to the domain.

    Completeness2/5

    The tool set is entirely read-only, offering no create, update, delete, execute, or run operations. For an RMM platform, this is a significant gap that prevents agents from taking management actions, limiting the server's usefulness beyond monitoring and reporting.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A read-only MCP server for Cisco Meraki Dashboard, enabling LLMs to discover devices, check health, troubleshoot, and generate reports via natural language.
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      MCP server that gives AI assistants read-only access to TacticalRMM fleet data (agents, checks, alerts, services, processes, etc.) and, with explicit approval, lets them run commands on managed machines.
      20
      36 PyPI
      4
      AGPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides read-only access to Tactical RMM, enabling agent searches, detailed agent information, audit log queries, and execution of information-gathering PowerShell scripts on agents, with Entra ID authentication and a strict read-only guard.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP clients to query homelab infrastructure such as Proxmox VE, NetBox, systemd services, Grafana, InfluxDB, AdGuard Home, ping logs, and configured HTTP JSON endpoints through read-only tools.
      AGPL 3.0