walkerOS Flow
Build, validate, simulate, and deploy walkerOS event pipelines
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
@walkeros/mcpclaude mcp add walkeros-flow -e 'WALKEROS_TOKEN=<your walkeros_token>' -e 'WALKEROS_PROJECT_ID=<WALKEROS_PROJECT_ID>' -e 'WALKEROS_APP_URL=<WALKEROS_APP_URL>' -- npx -y @walkeros/mcp@4.5.0
{
"mcpServers": {
"walkeros-flow": {
"command": "npx",
"args": [
"-y",
"@walkeros/mcp@4.5.0"
],
"env": {
"WALKEROS_TOKEN": "<your walkeros_token>",
"WALKEROS_PROJECT_ID": "<WALKEROS_PROJECT_ID>",
"WALKEROS_APP_URL": "<WALKEROS_APP_URL>"
}
}
}
}
Variables d'environnement
WALKEROS_TOKENsecret walkerOS API token. Optional, the local tools work without it and the auth tool can log in instead.WALKEROS_PROJECT_IDDefault walkerOS project id (proj_...) used by the cloud tools.WALKEROS_APP_URLBase URL override for the walkerOS app. Defaults to https://app.walkeros.io.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Event collection you own, version, and trust
From browser to BigQuery and ad platforms - warehouse-native, and ready for AI agents via MCP.
The problem
GA4, custom tags, ad pixels - each one a separate setup, none of them agreeing on the same numbers. When something breaks, you can't see where.
walkerOS is one collection layer for all of them.
Why walkerOS?
- Config-as-code - version control your tracking, review it in PRs, deploy with confidence
- Declarative tagging - tag your UI in HTML, not scattered JavaScript
- Consent-native - events queue until consent is given, then flush correctly to every destination
- Schema validation - catch bad events at collection time, not weeks later in a dashboard
- One layer, many destinations - send to your warehouse and ad platforms from a single event definition
- Warehouse-native - events land clean and structured in your data warehouse, ready to query
- MIT licensed - self-host anywhere, no vendor lock-in
How it works
- Sources: Where events come from (browser, dataLayer, Express, AWS Lambda, GCP Functions, and more)
- Collector: The processing engine (consent, validation, mapping, routing, enrichment)
- Destinations: Where events go (GA4, Google Ads, Meta CAPI, BigQuery, and more)
Two ways to install walkerOS
Choose one based on your workflow and integration possibilities:
| Mode | Description | Best For |
|---|---|---|
| Integrated | Import directly into your TypeScript application | React/Next.js apps, TypeScript projects |
| Bundled | Build a standalone script from JSON config with npx walkeros | Static sites, Docker deployments, CI/CD |
Integrated (import into your app):
import { startFlow } from '@walkeros/collector';
const { elb } = await startFlow({
destinations: {
console: {
code: {
type: 'console',
config: {},
push: (event) => console.log('Event:', event.name),
},
},
},
});
await elb({ name: 'page view', data: { title: 'Home' } });
// -> logs: Event: page view
Wire a real source and destination once you are ready:
import { startFlow } from '@walkeros/collector';
import { sourceBrowser } from '@walkeros/web-source-browser';
import { destinationGtag } from '@walkeros/web-destination-gtag';
await startFlow({
sources: {
browser: {
code: sourceBrowser,
config: { settings: { pageview: true } },
},
},
destinations: {
ga4: {
code: destinationGtag,
config: {
settings: { ga4: { measurementId: 'G-XXX' } },
},
},
},
});
Bundled (build from JSON config):
{
"version": 4,
"flows": {
"default": {
"config": {
"platform": "web",
"bundle": {
"packages": {
"@walkeros/collector": {},
"@walkeros/web-source-browser": {},
"@walkeros/web-destination-gtag": {}
}
}
},
"sources": {
"browser": {
"package": "@walkeros/web-source-browser",
"config": { "settings": { "pageview": true } }
}
},
"destinations": {
"ga4": {
"package": "@walkeros/web-destination-gtag",
"config": {
"settings": { "ga4": { "measurementId": "G-XXX" } }
}
}
}
}
}
}
Then: npx walkeros bundle flow.json
- Operating Modes
- Quickstart guide for React
- Full Documentation - Complete guides and API reference
- Destinations - GA4, Meta, BigQuery, and more
- React Demo
- Storybook
AI-ready via MCP
walkerOS exposes a Model Context Protocol (MCP) interface. AI agents can read your event schema, suggest tracking definitions, and generate integration code - making your event layer programmable, not just configurable.
In Claude Code, one plugin installs both MCP servers and the walkerOS skills:
/plugin marketplace add elbwalker/walkerOS
/plugin install walkeros@elbwalker
For any other MCP client, add the servers to its configuration:
{
"mcpServers": {
"walkeros-flow": {
"command": "npx",
"args": ["@walkeros/mcp"]
},
"walkeros-source-browser": {
"command": "npx",
"args": ["@walkeros/mcp-source-browser"]
}
}
}
Loading a flow, validating it, and simulating an event all run locally, no account needed. See the MCP docs.
Coming from Google Tag Manager? See walkerOS vs. GTM.
Contributing
⭐️ Help us grow and star us. See our Contributing Guidelines to get involved.
Support
Need help? Start a discussion, or reach out via email.
For more insights, visit the talks repository.
License
Licensed under the MIT License.
Questions fréquentes
Qu'est-ce que walkerOS Flow ?
Build, validate, simulate, and deploy walkerOS event pipelines
Comment installer walkerOS Flow ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add walkeros-flow -e 'WALKEROS_TOKEN=<your walkeros_token>' -e 'WALKEROS_PROJECT_ID=<WALKEROS_PROJECT_ID>' -e 'WALKEROS_APP_URL=<WALKEROS_APP_URL>' -- npx -y @walkeros/mcp@4.5.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour walkerOS Flow ?
Oui. Il attend WALKEROS_TOKEN, à renseigner dans sa configuration.
walkerOS Flow est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient walkerOS Flow ?
Il est publié par elbwalker. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.