oci ghcr.io/wyre-ai/action1-mcp:v1.1.7stdioApache-2.0updated 8d ago
MCP server for Action1 — endpoint inventory, patch visibility, and policy automation via the Model Context Protocol.
What can you do with Action1?
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
| Tool | Description |
|---|---|
action1_navigate |
Discover available tools by domain (organizations / endpoints / policies / updates) |
action1_list_organizations |
List Action1 tenants accessible to the configured credentials |
action1_list_endpoints |
List managed devices in an organization |
action1_get_endpoint |
Get a single endpoint by id |
action1_list_missing_updates |
List missing OS/application patches across endpoints — Action1's headline value-prop |
action1_list_policies |
List automation / policy / remediation rules |
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; alsoEurope,AsiaPacific,Australia) - Optional default organization id (for single-tenant use)
Stdio (direct)
ACTION1_API_KEY=... \
ACTION1_SECRET=... \
ACTION1_REGION=NorthAmerica \
ACTION1_DEFAULT_ORG_ID=org-... \
npx -y github:WYRE-AI/action1-mcp
HTTP (gateway mode)
MCP_TRANSPORT=http PORT=8080 AUTH_MODE=gateway \
docker run -p 8080:8080 ghcr.io/wyre-ai/action1-mcp:latest
Per-request credentials via headers:
X-Action1-API-KeyX-Action1-SecretX-Action1-RegionX-Action1-Default-Org-Id
Architecture
src/
├── index.ts # stdio + HTTP transports, tool dispatch
├── card.builder.ts # MCP Apps device-card normalization + brand injection
├── resources.ts # resources/list + resources/read (ui:// device card)
├── generated/
│ └── device-card-html.ts # committed vite single-file bundle (npm run build:ui)
├── sdk/
│ └── action1-client.ts # embedded REST + OAuth client (factor-out candidate
│ # if surface crosses ~20 tools / 2+ domains)
├── utils/
│ ├── client.ts # credential resolution (env vs gateway headers)
│ └── types.ts # DomainHandler interface
├── domains/ # one file per resource type
│ ├── organizations.ts
│ ├── endpoints.ts
│ ├── policies.ts
│ └── updates.ts
└── __tests__/ # domain tests + MCP Apps contract tests
ui/ # device-card source (index.html + device-card.ts)
Per-request credential isolation via AsyncLocalStorage — concurrent requests in HTTP mode never share credentials through process.env.
Development
npm install
npm run build
npm test
npm run dev # tsc --watch
npm run lint # eslint
npm run typecheck
License
Apache-2.0. See LICENSE.
Install
Add Action1 to your client. Pick the one you use.
claude mcp add ghcr-io-wyre-ai-action1-mcp-v1-1-7 -- docker run -i --rm ghcr.io/wyre-ai/action1-mcp:v1.1.7codex mcp add ghcr-io-wyre-ai-action1-mcp-v1-1-7 -- docker run -i --rm ghcr.io/wyre-ai/action1-mcp:v1.1.7amp mcp add ghcr-io-wyre-ai-action1-mcp-v1-1-7 -- docker run -i --rm ghcr.io/wyre-ai/action1-mcp:v1.1.7{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"ghcr-io-wyre-ai-action1-mcp-v1-1-7","command":"docker","args":["run","-i","--rm","ghcr.io/wyre-ai/action1-mcp:v1.1.7"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"ghcr-io-wyre-ai-action1-mcp-v1-1-7": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/action1-mcp:v1.1.7"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm ghcr.io/wyre-ai/action1-mcp:v1.1.7Run `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
6 tools
Action1 exposes 6 tools to a connected agent.
- action1_navigate
- Discover available tools by domain (organizations / endpoints / policies / updates)
- action1_list_organizations
- List Action1 tenants accessible to the configured credentials
- action1_list_endpoints
- List managed devices in an organization
- action1_get_endpoint
- Get a single endpoint by id
- action1_list_missing_updates
- List missing OS/application patches across endpoints — Action1's headline value-prop
- action1_list_policies
- List automation / policy / remediation rules
Score
81 / 100
Excellent
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability9/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.1.7Latest | Aug 28, 2026 |
| 1.1.6 | Aug 26, 2026 |