Skip to main content
Glama
NightSquawk

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: Velociraptor MCP Server

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/NightSquawk/tacticalrmm-mcp-server'

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