tacticalrmm-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tacticalrmm-mcp-server list all agents with their status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TacticalRMM MCP Server
An MCP (Model Context Protocol) server for TacticalRMM, connecting your self-hosted RMM instance to AI tools.
Quick start
Claude
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-serverPowerShell (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-serverCursor
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
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 $configCodex
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-serverPowerShell (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-serverOr 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 |
| yes | Your TacticalRMM API URL, e.g. | |
| yes | API key from Settings > Global Settings > API Keys | |
| no |
| 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.
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 logsAPI 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 |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
GET |
|
|
Method | Path | Tool |
GET |
|
|
PATCH |
|
|
PATCH |
|
|
Method | Path | Tool |
GET |
|
|
GET |
|
|
GET |
|
|
Method | Path | Tool |
GET |
|
|
GET |
|
|
Method | Path | Tool |
GET |
|
|
GET |
|
|
GET |
|
|
PATCH |
|
|
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.
Copyright
For copyright concerns or takedown requests, contact hello@nightsquawk.tech.
Available Tools
22 toolstacticalrmm_get_agentGet TacticalRMM AgentARead-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 LogsARead-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 HistoryARead-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 FieldsARead-onlyIdempotent
List TacticalRMM custom fields from /core/customfields/. This tool is read-only.
Inputs: limit, offset, response_format.
tacticalrmm_get_server_infoGet TacticalRMM Server InfoARead-onlyIdempotent
Read TacticalRMM server version and dashboard information from /core/version/ and /core/dashinfo/.
Inputs: response_format.
tacticalrmm_list_agent_checksList TacticalRMM Agent ChecksARead-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 HistoryARead-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 NotesARead-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 ActionsARead-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 AgentsARead-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 ServicesARead-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 SoftwareARead-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 TasksARead-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 AlertsARead-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 ChecksBRead-onlyIdempotent
List TacticalRMM checks from /checks/. This tool is read-only.
Inputs: limit, offset, response_format.
tacticalrmm_list_clientsList TacticalRMM ClientsARead-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 ActionsARead-onlyIdempotent
List global pending actions from /logs/pendingactions/. This tool is read-only.
Inputs: limit, offset, response_format.
tacticalrmm_list_policiesList TacticalRMM PoliciesARead-onlyIdempotent
List automation policies from /automation/policies/. This tool is read-only.
Inputs: limit, offset, response_format.
tacticalrmm_list_scriptsList TacticalRMM ScriptsARead-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 SitesBRead-onlyIdempotent
List TacticalRMM sites from /clients/sites/. This tool is read-only.
Inputs: limit, offset, response_format.
tacticalrmm_list_tasksList TacticalRMM TasksARead-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 UpdatesARead-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
Scored across 22 tools
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.
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.
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.
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
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Read-only search over 2,065+ AI agent tools and 276 MCP servers. Free, no sign-up needed.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server for Cisco Meraki Dashboard, enabling LLMs to discover devices, check health, troubleshoot, and generate reports via natural language.MIT
- AlicenseBqualityBmaintenanceMCP 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.2036 PyPI4AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceProvides 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
- AlicenseNot gradedqualityBmaintenanceEnables 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