
Action1
io.github.WYRE-AIPublished by GitHub account WYRE-AIv1.1.9Updated Oct 24, 2026
Action1 MCP server — endpoint inventory, patch visibility, and policy automation via REST API.
Overview
Read-only MCP server for Action1 endpoint management: browse organizations, devices, missing patches and policies through the Action1 REST API.
- What you can do
- Discover available tool domains (organizations, endpoints, policies, updates)
- List Action1 tenants and managed endpoints, and fetch a single endpoint by id
- List missing OS and application patches across endpoints
- List automation, policy and remediation rules
- Render an interactive read-only device card in MCP Apps hosts
- When to use it
- Useful when an assistant needs to answer questions about an Action1-managed device fleet: which endpoints exist, what patches they are missing, and which policies apply. It is read-only, so it suits auditing and reporting rather than remediation.
- Requirements
- Runs locally over stdio (npx from the GitHub repo) or as a container image; an Action1 API key and secret created under Settings → API Credentials are required via ACTION1_API_KEY and ACTION1_SECRET, plus a region (ACTION1_REGION) and optionally a default organization id. HTTP mode additionally needs CONDUIT_S2S_SECRET and X-Gateway-S2S signing, or gateway headers.
Installation
In SourceWeft
- Open Action1 in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Action1 MCP Server
MCP server for Action1 — endpoint inventory, patch visibility, and policy automation via the Model Context Protocol.
Read-only in v1. Deploy / automation surface is intentionally separated to a later release for blast-radius reasons (a bad policy push can brick endpoint fleets).
Tools
API surface maps to PSAction1 (Action1's MIT-licensed PowerShell module). When the v1 surface earns its keep, write tools (deploy, requery, package upload) come in v2 behind separate review.
Interactive Device Card (MCP Apps)
action1_get_endpoint renders as an interactive device-summary card in MCP
Apps hosts (Claude Desktop/web) — status, OS, user, IP, agent version,
reboot-required, and missing-update counts at a glance; plain-JSON behavior is
unchanged in other hosts. The card is read-only (matching the v1 tool surface),
neutral by default, and brandable via window.__BRAND__ injection or
MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL,
MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG,
MCP_BRAND_TEXT) — no rebuild needed.
Usage
Claude Desktop (MCPB)
Install via the MCPB bundle from the latest release.
Required credentials (created in Action1 → Settings → API Credentials, non-recoverable on creation — copy immediately):
- API Key (Client ID)
- Secret
- Region (
NorthAmericadefault; alsoNorthAmerica-2,Europe,Australia) - Optional default organization id (for single-tenant use)
Stdio (direct)
HTTP
CONDUIT_S2S_SECRET is required. If it is empty or a known placeholder (changeme, replace-with-a-real-secret, and similar), the HTTP server logs an error and exits non-zero. It never prints the secret. Generate one with openssl rand -hex 32.
MCP_HTTP_HOST defaults to 127.0.0.1 when unset. Set 0.0.0.0 only when CONDUIT_S2S_SECRET is set. The container image does that and sets AUTH_MODE=gateway. MCP_HTTP_PORT (or PORT) selects the port and defaults to 8080.
MCP_ALLOW_INSECURE_DEV=1 starts HTTP without CONDUIT_S2S_SECRET, logs a warning, skips X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST (including 0.0.0.0) refuses to start. A placeholder secret is still rejected. Local development only.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
X-Gateway-S2S
Every HTTP request except /health must include X-Gateway-S2S when a secret is configured. The value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.
Gateway mode (AUTH_MODE=gateway)
The Docker image and Compose file default to gateway mode. Every request must include:
X-Action1-API-KeyX-Action1-SecretX-Action1-Region(optional)X-Action1-Default-Org-Id(optional)
A request missing the API key or secret gets 401 and does not fall back to ACTION1_API_KEY / ACTION1_SECRET in the process environment. Those headers are the only credential source for that request.
Compose refuses to start when CONDUIT_S2S_SECRET is unset, publishes 127.0.0.1:8080:8080, and does not pass static Action1 credentials into the container:
Single-tenant HTTP (AUTH_MODE=env)
Requests still require a valid X-Gateway-S2S header. Vendor credentials come from ACTION1_API_KEY and ACTION1_SECRET when the request does not carry those headers.
Local HTTP without a secret is development-only. It binds 127.0.0.1 and logs a warning:
Architecture
Per-request credential isolation via AsyncLocalStorage — concurrent requests in HTTP mode never share credentials through process.env.
Development
License
Apache-2.0. See LICENSE.
Source: README.md at commit 8df2bcc
Tools
0Version history
3- v1.1.9LatestOct 14, 2026
- v1.1.8Oct 5, 2026
- v1.1.7Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts