walkerOS Flow
NPM · @WALKEROS/MCP · SCANNED SEP 21
Build, validate, simulate, and deploy walkerOS event pipelines
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 61 of 291 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to elbwalker/walkerOS). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 6 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5463 tokens (~210/item across 26 items; 17 tools + 9 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
- Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (35% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the walkerOS Flow MCP server?
walkerOS Flow runs locally as an npm package, launched with npx -y @walkeros/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @walkeros/mcp
claude mcp add io-walkeros-flow -- npx -y @walkeros/mcp
{
"mcpServers": {
"io-walkeros-flow": {
"command": "npx",
"args": [
"-y",
"@walkeros/mcp"
]
}
}
} {
"servers": {
"io-walkeros-flow": {
"command": "npx",
"args": [
"-y",
"@walkeros/mcp"
]
}
}
} codex mcp add io-walkeros-flow -- npx -y @walkeros/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-walkeros-flow": {
"type": "local",
"command": [
"npx",
"-y",
"@walkeros/mcp"
],
"enabled": true
}
}
} openclaw mcp add io-walkeros-flow --command npx --arg -y --arg @walkeros/mcp
mcp_servers:
io-walkeros-flow:
command: "npx"
args: ["-y", "@walkeros/mcp"] {
"McpServers": {
"io-walkeros-flow": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@walkeros/mcp"
]
}
}
} assistant mcp add io-walkeros-flow -t stdio -c npx -a -y @walkeros/mcp
{
"mcpServers": {
"io-walkeros-flow": {
"command": "npx",
"args": [
"-y",
"@walkeros/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +4
- Stability: unverified → 0.27 ▲ functional
- 3 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 2 Sept 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@walkeros/mcp@4.5.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | elbwalker/walkerOS |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/elbwalker/walkerOS/.github/workflows/release.yml@refs/heads/713-bot-context-mapping |
| Rekor log index | 2581554676 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:7ab143a65f68f03dce624d7a446bad394916bf19ff83bcb03da382fa2310a01ce2653c46f05290136448dabae0338dc5aca9bcbe25f817b6402960ccb |
Background: How many MCP packages publish verified provenance →
Dependencies 291 packages
| Packages resolved | 291 |
|---|---|
| Stale | 61 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
auth Authentication ~78
Manage walkerOS authentication. Check login status, log in via device code flow, or log out. No terminal or browser required, the MCP client handles the authorization URL.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Authentication action to perform |
| deviceCode | string | – | Device code from a previous pending login attempt. Provide to resume polling without requesting a new code. |
No output schema declared.
No examples provided.
deploy_manage Deploy Management ~357
Deploy walkerOS flows and manage deployments. deploy waits for the deployment to reach a terminal status by default (wait=true), with a 12-minute budget; pass wait=false to return immediately with the deployment id. A finished deployment carries its status and, on failure, an errorMessage with the user-facing reason; use the get action to re-read it. list supports cursor and limit for pagination. delete removes an active deployment. For get and delete pass flowId (required) plus optional slug to disambiguate when a flow has multiple active deployments. If a flow has >=2 active deployments and no slug is supplied, the tool returns a MULTIPLE_DEPLOYMENTS error with a details[] list showing each deployment's slug, type, status, and updatedAt.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Deployment action to perform |
| cursor | string | – | Pagination cursor from a previous list response. Only used with the list action. |
| flowId | string | – | Required for deploy, get, delete. |
| flowName | string | – | Flow name for multi-settings flows. Only used with deploy action. |
| limit | integer | – | Max items per page (1-100). Only used with the list action. |
| projectId | string | – | Project ID. Optional; falls back to the default project. |
| slug | string | – | Deployment slug. Optional disambiguator for get/delete when the flow has multiple active deployments. |
| status | string | – | Status filter for list. |
| type | string | – | Deployment type filter for list. |
| wait | boolean | – | Wait for the deployment to reach a terminal status (default true), with a 12-minute budget. Set false to return the deployment id immediately. Only used with deploy action. |
No output schema declared.
No examples provided.
diagnostics Diagnostics ~75
Report the MCP runtime surface: MCP and CLI versions, the resolved app URL and its source, app /api/health reachability, the bundled OpenAPI contract version, and which source served the last package catalog fetch. Read-only and callable when logged out; use it when a request fails to see which versions and backend you are on.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
feedback Send Feedback ~52
Send feedback about walkerOS
| Name | Type | Req | Description |
|---|---|---|---|
| anonymous | boolean | – | Include user/project info? false = include, true = anonymous. Only needed on first call if not yet configured. |
| text | string | yes | Your feedback text |
No output schema declared.
No examples provided.
flow_bundle Bundle Flow ~106
Bundle a walkerOS flow configuration into deployable JavaScript. Resolves all destinations, sources, and transformers, then outputs a tree-shaken production bundle. Returns bundle statistics.
| Name | Type | Req | Description |
|---|---|---|---|
| configPath | string | yes | Path to flow configuration file (JSON or JavaScript), URL, or inline JSON string |
| flow | string | – | Flow name for multi-flow configs |
| output | string | – | Output file path (defaults to config-defined) |
| stats | boolean | – | Return bundle statistics |
| Name | Type | Req | Description |
|---|---|---|---|
| buildTime | number | – | Build time in milliseconds |
| message | string | – | Status message |
| packages | array | – | Names of packages included in the bundle |
| success | boolean | yes | Whether bundling succeeded |
| totalSize | number | – | Total bundle size in bytes |
| treeshakingEffective | boolean | – | Whether tree-shaking was effective |
No examples provided.
flow_examples Flow Examples ~182
List all step examples in a walkerOS flow configuration. Shows example names, step locations, and in/out shapes. Inline examples on a step take precedence; steps without inline examples fall back to the examples shipped by their referenced package. Each result is tagged with its source ("inline" or "package"). Use this to discover available test fixtures and simulation data.
| Name | Type | Req | Description |
|---|---|---|---|
| configPath | string | yes | Path to flow configuration file, URL, or inline JSON string |
| flow | string | – | Flow name for multi-flow configs |
| full | boolean | – | Return full in/out/mapping data for each example (default: false, returns metadata only) |
| includeHidden | boolean | – | Include examples marked public: false (default: false). Set true for test/debug discovery. |
| step | string | – | Filter to a specific step (e.g., "destination.gtag") |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Number of examples found |
| examples | array | yes | Step examples |
| flow | string | yes | Flow name |
No examples provided.
flow_load Load or Create Flow ~134
Load an existing flow configuration from a local file path, URL, or walkerOS API (by flow ID). Or create a new empty flow by specifying a platform (web or server). Use the add-step prompt to add sources, destinations, transformers, or stores to the flow.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | – | Platform for new flows. Required when source is omitted. web = browser tracking, server = Node.js HTTP. |
| source | string | – | Flow source: local file path (./flow.json), URL (https://...), inline JSON string, or API flow ID (cfg_...). Omit to create a new flow. |
| Name | Type | Req | Description |
|---|---|---|---|
| flows | object | yes | Flow entries |
| version | number | yes | Flow config version |
No examples provided.
flow_manage Flow Management ~580
Manage walkerOS flows and their previews. List/get/create/update/delete/duplicate flows, or create/inspect/delete preview bundles and mint activation grants (preview_regrant) for testing flow changes on live sites.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Flow management action to perform |
| content | object | – | Flow.Json content. Used for create and update. |
| cursor | string | – | Pagination cursor from a previous list response. Only used with the list action. |
| fields | array | – | Dot-path selectors for get to return only specific fields. |
| flowId | string | – | Flow ID (flow_...) or config ID (cfg_...). Required for get, update, delete, duplicate, preview_list, preview_get, preview_create, preview_delete, preview_regrant. |
| flowName | string | – | Used by preview_create — provide one of flowName or flowSettingsId (preview_create also requires flowId). |
| flowSettingsId | string | – | Used by preview_create — provide one of flowName or flowSettingsId (preview_create also requires flowId). |
| includeDeleted | boolean | – | Include soft-deleted flows in list results. |
| limit | integer | – | Max items per page (1-100). Only used with the list action. |
| name | string | – | Flow name. Required for create. Optional for update (to rename) and duplicate. |
| order | string | – | Sort order for list. |
| origins | array | – | Site origins (bare https://host[:port]) to mint a preview activation grant for. Used by preview_regrant; the returned activationUrl targets the first origin. |
| patch | boolean | – | Merge-patch for update (default true). When true, only provided fields are updated. |
| previewId | string | – | Preview ID (prv_...). Required for preview_get, preview_delete, and preview_regrant (all also require flowId). |
| projectId | string | – | Project ID. Optional filter for list (omit to list all projects). Required for create if no default project set. |
| sessionId | string | – | Observe session id — when set, preview_regrant mints an activation/forwarding grant PAIR: the returned activationUrl both activates the web preview and lets the page forward events to the session con… |
| siteUrl | string | – | Optional site URL (e.g. https://shop.example.com) for preview_create. When provided, the activation grant is minted for that origin so the returned activationUrl works there. |
| sort | string | – | Sort field for list. |
| source | – | – | What the preview should run, for preview_create: the flow's draft (default) or a deployed version's stored config (kind 'deployment-version' with its deploymentVersionId). |
No output schema declared.
No examples provided.
flow_push Push Events ~111
Push a real event through a walkerOS flow to actual destinations. Makes real API calls to real endpoints. Best suited for server-side flows — web flows should use flow_simulate for testing.
| Name | Type | Req | Description |
|---|---|---|---|
| configPath | string | yes | Path to flow configuration file |
| event | object | yes | Event object, e.g. { name: "page view", data: { title: "Home" } } |
| flow | string | – | Flow name for multi-flow configs |
| platform | string | – | Override platform detection |
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | yes | Push duration in milliseconds |
| elbResult | – | – | Push result from the collector |
| error | string | – | Error message if push failed |
| success | boolean | yes | Whether push succeeded |
No examples provided.
flow_simulate Simulate Flow ~421
Simulate events through a walkerOS flow without making real API calls. For destinations: event is a walkerOS event { name: "entity action", data: {...} }. For sources: event is { content, trigger?: { type?, options? } }, where content is the walkerOS event { name: "entity action", data: {...} }. step (required) targets the step to simulate, e.g. "destination.gtag". Use flow_examples to discover available test data. IMPORTANT: Destinations with require (e.g. require: ["consent"]) stay pending until that collector event fires — simulation will error "not found" if require is not satisfied. Remove require from config or provide consent/user events before simulating. Separately, destinations with consent (e.g. consent: { marketing: true }) only receive events where the event includes matching consent. Mapping transforms event names and data at the destination level. Policy redacts or injects fields before mapping runs.
| Name | Type | Req | Description |
|---|---|---|---|
| configPath | string | yes | Path to flow configuration file, URL, or inline JSON string |
| event | – | – | For destinations: { name, data, consent? }. Include consent (e.g. { marketing: true }) to satisfy destination consent requirements. For sources: { content, trigger? } where content is the walkerOS ev… |
| flow | string | – | Flow name for multi-flow configs |
| ingest | object | – | Pipeline context a transformer reads via ctx.ingest, e.g. { url } for a request decoder. Only used for transformer steps. |
| platform | string | – | Override platform detection |
| state | object | – | Collector-state snapshot for collector steps: consent/user/globals/timing. Seeds the collector before enrichment runs. |
| step | string | yes | Required. Target step as "type.name" — e.g. "source.demo", "destination.gtag", "transformer.router". |
| verbose | boolean | – | Include full payload per destination (default: false) |
| Name | Type | Req | Description |
|---|---|---|---|
| capturedEvents | array | – | Events captured by source simulation |
| destinations | object | – | Per-destination results |
| duration | number | – | Simulation duration in ms |
| error | string | – | Error message if failed |
| success | boolean | yes | Whether simulation succeeded |
| summary | string | yes | One-line result summary |
No examples provided.
flow_validate Validate Flow ~140
Validate walkerOS events, flow configurations, mapping rules, or data contracts. Accepts JSON strings, file paths, or URLs as input. Returns validation results with errors, warnings, and details.
| Name | Type | Req | Description |
|---|---|---|---|
| flow | string | – | Flow name for multi-flow configs |
| input | string | yes | JSON string, file path, or URL to validate |
| path | string | – | Entry path for package schema validation (e.g., "destinations.snowplow"). When provided, validates the entry against its package JSON Schema instead of using --type. |
| type | string | yes | Validation type: "event", "flow", "mapping", or "contract" |
| Name | Type | Req | Description |
|---|---|---|---|
| details | object | yes | Additional validation details |
| errors | array | yes | Validation errors |
| type | – | yes | What was validated |
| valid | boolean | yes | Whether validation passed |
| warnings | array | yes | Validation warnings |
No examples provided.
observe_journeys Observe Journeys ~288
Read the assembled, cross-runtime journeys for a flow that is currently being observed (an active Observe session). Pass flowId; the active session is resolved for you (a flow has at most one). Each journey is one traced event reconstructed end to end across web and server: its ordered hops (source, transformer, collector, destination), each hop status (pending/done/skipped/error), captured in/out payloads, consent, and vendor calls. Use this to see what actually happened to live events: which destinations fired, what mapping ran, where an event was skipped or errored, and whether records were lost (gaps + a journey `lossy` flag). When the flow has no active session the result is `{ sessionId: null, journeys: [], gaps: [] }` — start an Observe session in the app and drive traffic first, then read again. Narrow with traceId (one trace) and limit (page cap, most recent kept; default 50). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| flowId | string | yes | Flow to read journeys for (its active Observe session). |
| limit | integer | – | Max journeys to return (1-100, most recent kept). Defaults to 50. |
| projectId | string | – | Project ID. Optional; falls back to the default project. |
| traceId | string | – | Return only the journeys for this trace id. |
No output schema declared.
No examples provided.
observe_session Observe Session ~325
Open, inspect, or end an Observe session: a time-boxed window on one flow that runtimes attach to as arms. A preview arm streams from a browser, a container arm runs server-side, and both feed ONE shared journeys feed. start opens the window (arms picks which runtimes attach), status reports per-arm state plus recordsReceived and expiresAt, stop ends the whole session including every arm. A flow has at most one session, so status/stop resolve it from flowId when sessionId is omitted. Read the events with observe_journeys; this tool never returns event data and never judges whether events are correct.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | start opens a session, status reports arm state, stop ends the whole session. |
| arms | object | – | Which runtimes attach. Omit to attach the default preview arm; a web settings that references a server flow brings its container arm with it. |
| flowId | string | yes | Flow the Observe session runs on. |
| level | string | – | Container observation verbosity. Defaults to the app's own. |
| origins | array | – | Bare https origins (https://host[:port]) the session may ingest web events from. |
| projectId | string | – | Project ID. Optional; falls back to the default project. |
| replace | boolean | – | Replace the flow's existing window instead of attaching to it. Re-provisions from the new config. |
| sessionId | string | – | Session to act on for status/stop. Optional; the flow has at most one session and it is resolved for you. |
No output schema declared.
No examples provided.
package_get Get Package ~133
Requires exact package name: do not guess names, use package_search first to find them. Returns schemas + hint texts + example summaries by default (lightweight). Use section parameter for full content: "hints" (with code blocks), "examples" (full in/out data), or "all".
| Name | Type | Req | Description |
|---|---|---|---|
| package | string | yes | Exact npm package name (e.g., @walkeros/web-destination-snowplow) |
| section | string | – | Section to expand with full content. Default: summary view with schemas + hint texts + example descriptions |
| version | string | – | Package version (default: latest) |
No output schema declared.
No examples provided.
package_search Search Package ~128
Start here for package discovery. Never guess package names: use this tool first to find exact names. Without package name: returns catalog filtered by type/platform. With package name: returns metadata, hint keys, and example summaries.
| Name | Type | Req | Description |
|---|---|---|---|
| package | string | – | Exact npm package name for detailed lookup (e.g., @walkeros/web-destination-snowplow) |
| platform | string | – | Filter by platform (browse mode, includes universal packages) |
| type | string | – | Filter by package type (browse mode) |
| version | string | – | Package version for detailed lookup (default: latest) |
No output schema declared.
No examples provided.
project_manage Project Management ~122
Manage walkerOS projects. List, create, update, delete projects, or set a default project for CLI operations.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Project management action to perform |
| cursor | string | – | Pagination cursor from a previous list response. Only used with the list action. |
| limit | integer | – | Max items per page (1-100). Only used with the list action. |
| name | string | – | Required for create and update (update also requires projectId). |
| projectId | string | – | Required for get, update, delete, set_default. |
No output schema declared.
No examples provided.
secret_manage Secret Management ~278
Manage a flow’s managed secrets (the $secret.<NAME> values its steps reference at deploy/run time). Actions: list (metadata only), set (create), update (rotate value), delete. Secrets are write-mostly: values are encrypted at rest and are NEVER returned, listed, or echoed. Reference a secret from a flow step as $secret.<NAME>. Credentials, tokens, and private keys must use $secret, not $env: the deploy pipeline only injects values referenced as $secret.<NAME> into the server runner. Server flows only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Secret management action to perform |
| flowId | string | yes | Flow ID (flow_...) or config ID (cfg_...). Required for list, set, update, and delete: secrets are flow-scoped. |
| name | string | – | Secret name (UPPER_SNAKE_CASE). Required for set. Referenced in flows as $secret.<NAME>. |
| projectId | string | – | Project ID. Optional: falls back to the default project when omitted. |
| secretId | string | – | Secret ID (sec_...). Required for update and delete. Use action "list" to find it. |
| value | string | – | Secret value (1-65536 chars). Required for set and update. Write-only: never returned or logged. |
No output schema declared.
No examples provided.
What is the walkerOS Flow MCP server?
walkerOS Flow is an MCP server listed in the public MCP registry as io.walkeros/flow. Build, validate, simulate, and deploy walkerOS event pipelines. This page covers its npm package (@walkeros/mcp).
Is the walkerOS Flow MCP server safe to use?
walkerOS Flow scores 90 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the walkerOS Flow MCP server expose?
walkerOS Flow exposes 17 tools: auth, project_manage, flow_manage, deploy_manage, secret_manage, and 12 more. Their descriptions and schemas cost roughly 3,510 tokens of context every time the server is loaded.
Is the walkerOS Flow MCP server still maintained?
walkerOS Flow is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the walkerOS Flow MCP server under?
walkerOS Flow declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.