Install feast with the Redis extra and define a FeatureStore in feature_store.yaml pointing to a Redis online store and an offline source (e.g., BigQuery or Parquet)
Define an Entity (e.g., driver_id) and a FeatureView with a schema, source, and ttl in a Python feature definition file
Run feast apply to register the feature definitions and validate the schema against the offline source
Materialize features to the online store with feast materialize <start_datetime> <end_datetime> to populate Redis
Retrieve features at inference time using store.get_online_features(features=['driver_stats:trip_completed'], entity_rows=[{'driver_id': 1}]).to_dict()
Known gotchas
feast materialize is a full refresh for the specified time window — for incremental updates use feast materialize-incremental <end_datetime> which reads from the last materialization timestamp stored in the registry
The TTL on a FeatureView defines how old a feature value can be before it is considered stale at retrieval time, not how long Redis retains the key — Redis TTL must be configured separately
Feature names in get_online_features() must use the format 'feature_view_name:feature_name'; omitting the view prefix raises a FeatureNameCollisionError when multiple views share a feature name
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp