Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Descripción del creador (original en inglés)
Action1 MCP server — endpoint inventory, patch visibility, and policy automation via REST API.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
ACTION1_API_KEY, ACTION1_SECRET, ACTION1_REGION, ACTION1_DEFAULT_ORG_ID, MCP_TRANSPORT, AUTH_MODE, LOG_LEVELLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"action1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTION1_API_KEY",
"-e",
"ACTION1_SECRET",
"-e",
"ACTION1_REGION",
"-e",
"ACTION1_DEFAULT_ORG_ID",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/action1-mcp:v1.1.9"
],
"env": {
"ACTION1_API_KEY": "your-value",
"ACTION1_SECRET": "your-value",
"ACTION1_REGION": "your-value",
"ACTION1_DEFAULT_ORG_ID": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add action1 --env ACTION1_API_KEY=your-value --env ACTION1_SECRET=your-value --env ACTION1_REGION=your-value --env ACTION1_DEFAULT_ORG_ID=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e ACTION1_API_KEY -e ACTION1_SECRET -e ACTION1_REGION -e ACTION1_DEFAULT_ORG_ID -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/action1-mcp:v1.1.9Completa los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"action1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTION1_API_KEY",
"-e",
"ACTION1_SECRET",
"-e",
"ACTION1_REGION",
"-e",
"ACTION1_DEFAULT_ORG_ID",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/action1-mcp:v1.1.9"
],
"env": {
"ACTION1_API_KEY": "your-value",
"ACTION1_SECRET": "your-value",
"ACTION1_REGION": "your-value",
"ACTION1_DEFAULT_ORG_ID": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"action1": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTION1_API_KEY",
"-e",
"ACTION1_SECRET",
"-e",
"ACTION1_REGION",
"-e",
"ACTION1_DEFAULT_ORG_ID",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/action1-mcp:v1.1.9"
],
"env": {
"ACTION1_API_KEY": "your-value",
"ACTION1_SECRET": "your-value",
"ACTION1_REGION": "your-value",
"ACTION1_DEFAULT_ORG_ID": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
ACTION1_REGION envACTION1_DEFAULT_ORG_ID envMCP_TRANSPORT envAUTH_MODE envLOG_LEVEL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub WYRE-AI, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: ACTION1_API_KEY, ACTION1_SECRET
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.1.9) llegó al registro hace 25 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Docker en tu computadora.
En la misma categoría: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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).
| 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.
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.
Install via the MCPB bundle from the latest release.
Required credentials (created in Action1 → Settings → API Credentials, non-recoverable on creation — copy immediately):
NorthAmerica default; also NorthAmerica-2, Europe, Australia)ACTION1_API_KEY=... \
ACTION1_SECRET=... \ ACTION1_REGION=NorthAmerica \ ACTION1_DEFAULT_ORG_ID=org-... \ npx -y github:WYRE-AI/action1-mcp
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.
Every HTTP request except /health must include X-Gateway-S2S when a secret is configured. The value is t= ,v1= , where the hex is HMAC-SHA256 of the literal string t= 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.
TS=$(date +%s)
SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}') curl -sS http://127.0.0.1:8080/ \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \ -H "X-Action1-API-Key: $ACTION1_API_KEY" \ -H "X-Action1-Secret: $ACTION1_SECRET" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
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.
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -p 127.0.0.1:8080:8080 \ ghcr.io/wyre-ai/action1-mcp:latest
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:
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up
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.
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -e AUTH_MODE=env \ -e ACTION1_API_KEY="$ACTION1_API_KEY" \ -e ACTION1_SECRET="$ACTION1_SECRET" \ -e ACTION1_REGION=NorthAmerica \ -p 127.0.0.1:8080:8080 \ ghcr.io/wyre-ai/action1-mcp:latest
Local HTTP without a secret is development-only. It binds 127.0.0.1 and logs a warning:
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start
src/
├── index.ts # stdio + HTTP transports, tool dispatch, S2S startup ├── s2s-verify.ts # X-Gateway-S2S HMAC-SHA256 check ├── 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.
npm install
npm run build npm test npm run dev # tsc --watch npm run lint # eslint npm run typecheck
Apache-2.0. See LICENSE.