Skip to main content

MCP servers

walkerOS provides Model Context Protocol servers for AI assistant integration.

PackagePurpose
@walkeros/mcpFlow development: tools, reference resources, guided prompts, cloud API
@walkeros/mcp-source-browserHTML tagging: generate, parse, and validate data-elb attributes

Claude Code plugin

The recommended way to get started in Claude Code. One plugin installs both MCP servers and 18 skills that teach Claude how to build sources, destinations, transformers, and flows.

Step 1: add the marketplace:

/plugin marketplace add elbwalker/walkerOS

Step 2: install the plugin:

/plugin install walkeros@elbwalker-walkerOS

That's it. Claude Code will reload with the MCP tools and skills active.

Quick start

For Claude Desktop or other MCP clients, add servers to your configuration manually:

Loading...

Each server starts on STDIO and registers its tools automatically.

Environment variables

VariableUsed byRequiredDefaultPurpose
WALKEROS_TOKENmcpNononeBearer token fallback (alternative to auth tool login)
WALKEROS_PROJECT_IDmcpNononeActive project ID (proj_...)
WALKEROS_APP_URLmcpNohttps://app.walkeros.ioBase URL override

@walkeros/mcp-source-browser works without any environment variables. All tools are always registered. To authenticate with the walkerOS cloud, use the auth tool (device code flow) or set WALKEROS_TOKEN as a fallback.


@walkeros/mcp (flow development)

Unified server for flow development, package discovery, reference resources, guided prompts, and cloud API. Replaces the previous separate @walkeros/mcp-cli and @walkeros/mcp-api packages.

Installation

Loading...

Tools (12)

flow_load

Load an existing flow configuration from a local file path, URL, or walkerOS API, or create a new empty flow by specifying a platform.

ParameterTypeRequiredDescription
sourcestringNoFlow source: file path, URL, or API flow ID. Omit to create new.
platform"web" | "server"NoPlatform for new flows. Required when source is omitted.

flow_validate

Validate walkerOS events, flow configurations, mapping rules, or data contracts.

ParameterTypeRequiredDescription
type"event" | "flow" | "mapping" | "contract"YesValidation type
inputstringYesJSON string, file path, or URL to validate
flowstringNoFlow name for multi-flow configs
pathstringNoEntry path for package schema validation

flow_bundle

Bundle a walkerOS flow configuration into deployable JavaScript.

ParameterTypeRequiredDescription
configPathstringYesPath to flow configuration file
flowstringNoFlow name for multi-flow configs
statsbooleanNoReturn bundle statistics (default: true)
outputstringNoOutput file path
remotebooleanNoUse remote cloud bundling (requires authentication). Default: false
contentobjectNoFlow.Config JSON content (required when remote: true)

flow_simulate

Simulate events through a walkerOS flow without making real API calls. Returns summarized per-destination results.

ParameterTypeRequiredDescription
configPathstringYesPath to flow configuration file
eventstringNoEvent as JSON string, file path, or URL
flowstringNoFlow name for multi-flow configs
platform"web" | "server"NoOverride platform detection
examplestringNoLoad event from a step example
stepstringNoStep to use with example parameter

flow_push

Push a real event through a walkerOS flow to actual destinations. This makes real API calls. Best for server-side flows. Web destinations require browser globals not available in Node.js.

ParameterTypeRequiredDescription
configPathstringYesPath to flow configuration file
eventstringYesEvent as JSON string, file path, or URL
flowstringNoFlow name for multi-flow configs
platform"web" | "server"NoOverride platform detection

flow_examples

List all step examples in a walkerOS flow configuration.

ParameterTypeRequiredDescription
configPathstringYesPath to flow configuration file
flowstringNoFlow name for multi-flow configs
stepstringNoFilter to a specific step (e.g., "destination.gtag")
fullbooleanNoReturn full in/out/mapping data (default: false, metadata only)

Browse walkerOS packages or look up a specific one. Without package name: returns catalog filtered by type/platform. With package name: returns metadata.

ParameterTypeRequiredDescription
packagestringNoExact npm package name for lookup
type"source" | "destination" | "transformer" | "store"NoFilter by type (browse)
platform"web" | "server"NoFilter by platform (browse)
versionstringNoPackage version (default: latest)

package_get

Fetch walkerOS package details from npm. By default returns schemas + hint texts + example summaries. Use section parameter for full content.

ParameterTypeRequiredDescription
packagestringYesExact npm package name
versionstringNoPackage version (default: latest)
section"hints" | "examples" | "all"NoSection to expand with full content

auth

Authenticate with the walkerOS cloud. Uses device code flow — the user receives a URL to open in a browser to complete login.

ParameterTypeRequiredDescription
action"status" | "login" | "logout"YesAuth action
deviceCodestringNoDevice code from a previous pending login. Provide with action: "login" to resume polling without requesting a new code.

project_manage

Manage walkerOS projects in the cloud.

ParameterTypeRequiredDescription
action"list" | "get" | "create" | "update" | "delete" | "set_default"YesProject action
projectIdstringNoProject ID (proj_...). Required for: get, update, delete, set_default. Falls back to WALKEROS_PROJECT_ID env.
namestringNoName for create/update operations

flow_manage

Manage walkerOS flow configurations and previews in the cloud.

ParameterTypeRequiredDescription
action"list" | "get" | "create" | "update" | "delete" | "duplicate" | "preview_list" | "preview_get" | "preview_create" | "preview_delete"YesFlow action
projectIdstringNoProject ID (proj_...). Optional filter for list. Required for create if no default project set. Falls back to WALKEROS_PROJECT_ID env.
flowIdstringNoFlow ID (flow_...) or config ID (cfg_...). Required for: get, update, delete, duplicate, preview_list, preview_get, preview_create, preview_delete.
namestringNoFlow name. Required for create. Optional for update (to rename) and duplicate.
contentobjectNoFlow.Config JSON content. Used for create and update.
patchbooleanNoMerge-patch for update (default: true). When true, only provided fields are updated.
fieldsstring[]NoDot-path selectors for get to return only specific fields.
sort"name" | "updated_at" | "created_at"NoSort field for list.
order"asc" | "desc"NoSort order for list.
includeDeletedbooleanNoInclude soft-deleted flows in list results.
previewIdstringNoPreview ID (prv_...). Required for: preview_get, preview_delete.
flowNamestringNoFlow settings name. Used by preview_create as an alternative to flowSettingsId.
flowSettingsIdstringNoFlow settings ID. Used by preview_create as an alternative to flowName.
siteUrlstringNoOptional site URL for preview_create. When provided, the response includes full activationUrl and deactivationUrl the user can click.

deploy_manage

Deploy walkerOS flows and manage deployments.

ParameterTypeRequiredDescription
action"deploy" | "list" | "get" | "delete"YesDeployment action
flowIdstringConditionalFlow ID. Required for: deploy, get, delete. Optional filter for list.
slugstringNoDeployment slug. Optional disambiguator for get/delete when the flow has multiple active deployments.
projectIdstringNoProject ID. Optional; falls back to the default project.
type"web" | "server"NoDeployment type filter for list.
statusstringNoStatus filter for list.
waitbooleanNoWait for deploy to complete (default: true). Only used with deploy.
flowNamestringNoFlow name for multi-settings flows. Only used with deploy.

When a flow has more than one active deployment and no slug is supplied, get and delete return a MULTIPLE_DEPLOYMENTS error with a details[] list so the caller can pick a specific deployment. Soft-deleted deployments are always excluded.

{
"error": "Flow flow_abc has 2 active deployments; pass slug to disambiguate",
"code": "MULTIPLE_DEPLOYMENTS",
"details": [
{ "slug": "abc123456789", "type": "web", "status": "active", "updatedAt": "2026-04-20T00:00:00.000Z" },
{ "slug": "def987654321", "type": "web", "status": "active", "updatedAt": "2026-04-21T00:00:00.000Z" }
]
}

Resources

URIDescription
walkeros://reference/flow-schemaFlow.Config structure and connection rules
walkeros://reference/event-modelEvent naming, properties, auto-populated fields
walkeros://reference/mappingMapping syntax (data/map/loop/set/condition/consent/policy)
walkeros://reference/consentConsent model (destination/rule/field level)
walkeros://reference/variablesVariable patterns ($var/$env/$def/$code/$store)
walkeros://reference/contractEvent schemas, wildcards, inheritance
walkeros://reference/openapiOpenAPI 3.1 specification
walkeros://reference/packagesFull package catalog
walkeros://schema/{packageName}Per-package JSON schemas

Prompts

PromptDescription
add-stepAdd a source, destination, transformer, or store to a flow
setup-mappingConfigure event mapping for a step
manage-contractCreate/update event contracts (bidirectional with mappings)
use-definitionsExtract shared patterns into definitions and variables

@walkeros/mcp-source-browser (HTML tagging tools)

Generate, parse, and validate walkerOS data-elb HTML attributes using real DOM parsing (JSDOM). No API token or CLI dependency required.

Installation

Loading...

Tools (3)

generate_tagging

Generate walkerOS data-elb HTML attributes from structured input. Returns attribute key-value pairs and an example HTML snippet.

ParameterTypeRequiredDescription
entitystringNoEntity name (creates data-elb="entity")
dataobjectNoEntity properties as key:value pairs
actionobjectNoTrigger:action pairs for data-elbaction (nearest entity)
actionsobjectNoTrigger:action pairs for data-elbactions (all entities)
contextobjectNoContext properties for data-elbcontext
globalsobjectNoGlobal properties for data-elbglobals
linkobjectNoLink relationships for data-elblink
prefixstringNoCustom prefix (default: data-elb)

At least one parameter must be provided.

parse_tagging

Parse HTML with data-elb attributes using real DOM parsing (JSDOM). Extracts all walkerOS events and globals.

ParameterTypeRequiredDescription
htmlstringYesHTML snippet with data-elb attributes
prefixstringNoCustom prefix (default: data-elb)

validate_tagging

Validate HTML data-elb tagging for common mistakes. Checks for orphan actions, missing entities, unknown triggers, orphan properties, and entities without actions.

ParameterTypeRequiredDescription
htmlstringYesHTML snippet to validate
prefixstringNoCustom prefix (default: data-elb)

Resources

URIDescription
walkeros://docs/tagging/html-attributesComplete guide to data-elb HTML attribute tagging
walkeros://docs/tagging/taggercreateTagger() fluent API reference

Example workflows

Create and validate a flow

Ask your AI assistant:

"Create a new web flow, add a GA4 destination, then validate it."

The assistant uses flow_load to create a skeleton, the add-step prompt to add GA4, and flow_validate to check the result.

Simulate events

"Simulate a page view event through my flow at ./flow.json."

The assistant calls flow_simulate and returns per-destination results showing which destinations received the event.

Deploy a flow

"Deploy flow cfg_abc123 and wait for it to finish."

The assistant calls deploy_manage({ action: "deploy", flowId: "cfg_abc123" }) and streams progress updates through bundling, publishing, and activation.

Preview a flow on a live site

"Create a preview of my demo settings on flow_abc123 and give me the link to open on https://example.com."

The assistant calls flow_manage({ action: "preview_create", flowId: "flow_abc123", flowName: "demo", siteUrl: "https://example.com" }) and returns the activationUrl the user clicks to activate preview mode on their site. Running flow_manage({ action: "preview_delete", … }) later removes the bundle; the production walker self-heals on visitors' next page load.

Set up event mapping

"Help me set up mapping for the gtag destination in my flow."

The assistant uses the setup-mapping prompt, reads the mapping reference resource, fetches package examples, and generates mapping rules.

Generate HTML tagging

"Generate data-elb attributes for a promotion entity with name 'Summer Sale' and a click action."

The assistant calls generate_tagging with entity: "promotion", data: { name: "Summer Sale" }, and action: { click: "click" }, returning ready-to-use HTML attributes.

Discover a package

"What configuration does the Snowplow destination need?"

The assistant calls package_search for @walkeros/web-destination-snowplow, then package_get to fetch schemas, hints, and examples.

Next steps

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)