mcp-server-action1
This server gives you read access to an Action1 RMM/patching environment (plus one opt-in patch-approval write), all as MCP tools.
Discover capabilities —
action1_search_capabilitieslists what the server can do and when to use each tool.Scope to organizations —
action1_list_organizationsreturns the orgs your credential can access; most tools need anorgId(many accept"all").Inspect endpoints —
action1_list_endpoints(inventory, OS, agent status, last seen, update/vulnerability status, reboot-required, status filters, extrafields) andaction1_get_endpoint(one endpoint, optionally with its missing updates).Manage groupings —
action1_list_endpoint_groupslists groups, a single group, or its member endpoints (contents=true).Review patches —
action1_list_updatesshows available updates with approval status (New/Approved/Declined), severity, affected endpoints, andonlyLatest.Hunt vulnerabilities —
action1_list_vulnerabilitieslists CVEs with scores and remediation status, or drills into affected endpoints/remediations for one CVE.Audit software —
action1_get_installed_software(org-wide or per endpoint) andaction1_list_software_repository(deployable packages, read-only).Read automation & scripting metadata —
action1_list_scripts(library contents only) andaction1_list_automations(schedules, run history, per-endpoint results) — both read-only.Pull reporting & audit data —
action1_list_reports,action1_get_report_data, andaction1_get_audit_log(enterprise-wide or org-scoped).Approve/decline patches (opt-in write) —
action1_set_update_approvalschanges approval status for one org (up to 100 records); disabled unlessACTION1_ENABLE_WRITES=trueandorgId="all"is refused.Navigate large result sets — list tools support
limit,from/nextFrompagination, case-insensitivefilter, andsortby.What it will not do — no running/creating automations or scripts (no remote code execution), no remote-desktop sessions, no repo or endpoint mutations, no user/role/org management, no enterprise closure.
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., "@mcp-server-action1 list endpoints with missing patches"
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.
mcp-server-action1
MCP server for the Action1 endpoint management (RMM/patching) REST API 3.0.
Disclaimer: This is an independent, unofficial project by Borgels. Borgels is not affiliated with, endorsed by, or supported by Action1. "Action1" and the Action1 API are referenced only to describe what this server talks to. You need your own Action1 credentials, and use of the Action1 API is subject to Action1's own terms.
Tools
Read (always on): organizations, managed endpoints (inventory, status filters, missing updates), endpoint groups, updates/patches (approval status, severity), vulnerabilities (CVEs, affected endpoints, remediations), installed software, software repository, script library, automations (schedules and run history with per-endpoint results), reports + report data, enterprise audit log, capability discovery.
Write (opt-in via ACTION1_ENABLE_WRITES=true): action1_set_update_approvals — approve/decline updates for one organization (the patch-approval workflow). orgId="all" is refused.
Deliberately absent (RMM safety): creating or running automations (run_script/deploy/reboot — remote code execution on endpoints), remote-desktop sessions, software-repository modification (supply-chain risk), endpoint delete/move, user/role/organization management, enterprise closure. If script execution is ever needed it should be a separate duty-gated commit tool.
Related MCP server: action1-mcp
Auth & regions
OAuth2 client-credentials against {base}/oauth2/token; tokens live exactly 3600 s and are cached/renewed automatically. Credentials are created in the Action1 console under Configuration → Users & API Credentials. Set ACTION1_BASE_URL to your data-center region (EU: https://app.eu.action1.com/api/3.0).
Pagination & rate limits
Lists return {items, total_items, from, nextFrom} — pass nextFrom as from to continue. Action1 recommends staying under ~30 requests/minute per enterprise; 429 responses surface retry-after.
Run
npm install
npm run dev # stdio
npm run dev:http # streamable HTTP on :3000/mcp (stateless)
npm testDocker images: ghcr.io/borgels/mcp-server-action1 (published on push to main).
Security notes
Set
MCP_HTTP_TOKENfor the HTTP transport; the bearer token is compared in constant time.Caller-supplied ids are validated before they are placed in API paths (strict id /
CVE-YYYY-NNNNpatterns, no dot segments or separators), and every request URL must stay under the configuredACTION1_BASE_URLpath.Audit log entries (
ACTION1_AUDIT_LOG) include acallerfield taken from theX-MCP-Userheader when the gateway forwards one. It is informational and only trustworthy when the server is reachable solely through that gateway (useMCP_HTTP_TOKEN).
Deploy
See deploy/ for the docker-compose service block, hosts.json entries, a reverse-proxy
site block, and example env files — one instance per Action1 organization you want to
expose, fronted by whatever OAuth-aware gateway/reverse-proxy sits in front of your fleet.
Available Tools
15 toolsaction1_get_audit_logGet Audit Log (Action1)ARead-onlyIdempotent
Enterprise-wide audit events, or org-scoped logs with orgId.
Inputs: from, limit, orgId, filter, +1 more.
action1_get_endpointGet Endpoint (Action1)ARead-onlyIdempotent
Fetch one managed endpoint; includeMissingUpdates=true also returns its missing updates.
Inputs: orgId (required), endpointId (required), includeMissingUpdates.
action1_get_installed_softwareGet Installed Software (Action1)ARead-onlyIdempotent
Installed software inventory for the organization, or one endpoint with endpointId.
Inputs: orgId (required), from, limit, filter, +2 more.
action1_get_report_dataGet Report Data (Action1)BRead-onlyIdempotent
Fetch the data rows of a report for an organization.
Inputs: orgId (required), reportId (required), from, limit, +2 more.
action1_list_automationsList Automations (Action1)ARead-onlyIdempotent
Scheduled automations (kind=schedules) or run history (kind=instances); endpointResults=true lists per-endpoint outcomes for one instance. Read-only — creating/running automations is deliberately not exposed.
Inputs: kind (required), orgId (required), from, limit, +4 more.
action1_list_endpoint_groupsList Endpoint Groups (Action1)ARead-onlyIdempotent
List endpoint groups, one group (groupId), or its member endpoints (contents=true).
Inputs: orgId (required), from, limit, filter, +3 more.
action1_list_endpointsList Endpoints (Action1)ARead-onlyIdempotent
Inventory of managed endpoints: name, OS, agent status, last seen, update/vulnerability status, reboot-required. All status filters accept the values shown in the Action1 console. fields="*" adds extended data.
Inputs: orgId (required), from, limit, fields, +8 more.
action1_list_organizationsList Organizations (Action1)ARead-onlyIdempotent
List the Action1 organizations this credential can access. Start here — other tools need an orgId.
Inputs: from, limit, filter, sortby.
action1_list_reportsList Reports (Action1)ARead-onlyIdempotent
List available built-in and custom reports.
Inputs: from, limit, filter, sortby.
action1_list_scriptsList Script Library (Action1)ARead-onlyIdempotent
The script library, read-only. This server can NOT run or edit scripts by design.
Inputs: from, limit, filter, sortby, +1 more.
action1_list_software_repositoryList Software Repository (Action1)BRead-onlyIdempotent
Deployable packages in the software repository (read-only).
Inputs: orgId (required), from, limit, filter, +2 more.
action1_list_updatesList Updates/Patches (Action1)BRead-onlyIdempotent
Available updates with approval status, severity, and affected endpoints. Filters: approvalStatus (New/Approved/Declined), securitySeverity, onlyLatest. packageId fetches a single update.
Inputs: orgId (required), from, limit, custom, +8 more.
action1_list_vulnerabilitiesList Vulnerabilities (Action1)ARead-onlyIdempotent
CVEs across endpoints with score and remediation status. cveId fetches one CVE; detail=endpoints|remediations lists affected machines or available fixes.
Inputs: orgId (required), from, cveId, limit, +6 more.
action1_search_capabilitiesSearch Action1 CapabilitiesARead-onlyIdempotent
Search the Action1 MCP server capabilities and examples. Use this first when deciding which tool to call.
Inputs: limit, query.
action1_set_update_approvalsSet Update Approvals (Action1)A
Approve/decline updates for ONE organization. Approved updates are what scheduled automations deploy — confirm the list with the user before approving. Requires write access on this instance; orgId="all" is refused.
Inputs: orgId (required), approvals (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Each tool targets a distinct resource or action, with no overlapping purposes. The addition of action1_search_capabilities helps agents disambiguate further.
All tools follow a consistent 'action1_verb_noun' pattern using snake_case, with verbs limited to 'list', 'get', 'search', and 'set'.
15 tools cover the core capabilities of the Action1 platform (endpoints, updates, vulnerabilities, reports, etc.) without unnecessary bloat or deficiency.
The tool surface is comprehensive for viewing and reading data, and includes a critical write operation (set_update_approvals). However, it lacks tools for deploying software or running scripts, though this is by design.
Maintenance
Related MCP Connectors
Scopable MSP API: clients, quotes, assessments, compliance, QBRs. OAuth 2.1, read-only or read-write
Read endpoints, missing updates, CVE vulnerabilities, installed software and reports in Action1.
Browse OfficeRnD members, bookings, memberships, invoices and tickets, with optional write access.
Read-only access to PRRO.cloud fiscal cash registers, shifts, tasks, billing and webhooks.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to investigate threats, pull reports, manage security policies, and administer deployment infrastructure through the Cisco Secure Access REST API.-
- AlicenseAqualityDmaintenanceRead-only MCP server for the Action1 RMM REST API, enabling access to endpoints, missing updates, vulnerabilities, installed software, policies, automations, and reports.21Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables read-only MCP access to Tactical RMM, allowing agents to query devices, clients, sites, audit logs, software, and pending actions without any mutating capabilities.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to manage WatchGuard Cloud MSP accounts, activate devices and licenses, and administer operator users through the WatchGuard Cloud REST API.13Apache 2.0