Feature flags · remote config · MCP-native

Give your agents the flag desk.
Keep the revoke switch.

Wagle is a multi-project, multi-environment feature-flag and typed remote-config service where AI agents are first-class principals: 15 MCP tools to create, target, flip, and verify flags, every write audited under the agent's own identity, on the same trail as yours. Humans work the same flags from the console. Evaluation stays in your process: in memory, no database on the hot path.

15 mcp tools · revocable principals · evals localWhy & how it works, including where it's less strong →
Why wagle

A control desk for every rollout.

Agents work the desk over MCP

15 tools on /mcp: full flag and segment CRUD, state flips, targeting rules and % rollouts, history, and evaluate_flag returning the exact value and reason an SDK would compute. Agent-only, enforced server-side: a user token on the MCP path gets permission_denied.

Revoke once, kill it twice

An agent holds one static bearer; wagle exchanges it server-side for short 24h tokens, so no long-lived access token rides the wire. Revoke the agent and future exchanges fail while its live token dies on the blocklist. Every write bumps a per-project version and lands in history under the agent's own identity, never a shared key.

No database on the hot path

Every flag lives in an in-memory, (project, environment)-partitioned index. SDKs pull one snapshot and evaluate locally: a hash and a table lookup, no round-trip, ever. Server-only flags never leave the server.

Deterministic bucketing

xxHash64 over {project}:{env}:{flag}:{entity}, mod 10000. The same entity always lands in the same bucket, so a 5% rollout is a stable 5%.

Targeting, segments & rules

Compose rules over segments and attributes with an ordered fall-through to a default variation. Typed values, not just booleans.

Multi-project, multi-environment

Flags are keyed by (project, environment) day one. Same flag set across dev, staging, prod, with a different rollout in each, promoted explicitly.

The desk, live

What you actually get.

Untouched screenshots of the console working a real project: one bool flag, one string flag with a rolling split, one JSON config with a rule and a rollout, and the history those edits leave behind.

The flag list showing three typed flags with variation counts and rollout bars
1 · The desk One project in production: three typed flags and a segment. Everything the rest of this tour touches is on this screen.
The flag editor on a simple boolean flag, enabled in production
2 · Start simple Start simple: a boolean kill-switch, enabled in production, serving its default.
The segment editor showing the beta-testers segment with its conditions
3 · Define who Define the audience once: a segment is a reusable predicate, one level deep on purpose. Beta testers, spelled out.
Close-up of a rollout rule splitting traffic 60/25/15 across three variations
4 · Split the rest Beta testers get the invite; everyone else rolls 60/25/15. Deterministic per entity: the same id always lands in the same slot.
The flag editor on a JSON flag with four variations, a targeting rule and a rollout
5 · Compose Then compose the full thing: a JSON config with four variations, an IF rule, and a rollout fallthrough. Typed, not stringly.
The Evaluate tool showing an entity's deterministic bucket and the lit serving path in the targeting graph
6 · Verify Verify exactly who gets what: type an entity, bucket 9194 of 10000, the lit path shows what serves and why. Same id, same bucket, every SDK.
The flag history timeline showing versioned, attributed edits with path-level JSON diffs
7 · Audit Everything above left a trail: every write versioned and attributed, JSON edits diffed down to the inner key.
The flag editor with the dev panel open on the MCP tab, showing the agent tool call for the current flag
8 · Automate Your AI agents work the same desk: the dev panel shows the MCP tool call for the flag on screen. Agents are revocable principals, not shared keys.
The SDK demo resolving a flag locally, showing reason, bucket, snapshot version and a local no-network source
9 · Ship it And this is how it reaches your app: the real SDK live in the page, seeded once, kept fresh on its poll, every eval local with no network hop. Server-only flags never leave the server.
Pricing

Priced on syncs. Evals always free.

A sync is the single call that ever reaches wagle: your SDK asking for its (project, environment) config. Every evaluation runs locally in your process and is free, always. Nothing else is metered: not flags, not environments, not projects, not seats. Signing up puts you on Free with 500,000 syncs a month and no card.

evals free · flags unlimited · seats unlimited · no overage

Every plan is a capped bucket and there is no overage on any of them: outgrow one and we move you to the plan that fits. Your config keeps being served either way. SDK counts below are always-on instances at the SDK’s own 30-second default poll, about 87,600 syncs each per month.

How many syncs will you run?

Two inputs, one estimate. No usage archaeology at month end.

concurrent processes holding a snapshot: servers, pods, average concurrent browser sessions

seconds

how often each instance re-pulls (SDK default: 30s)

syncs / month = instances × (2,628,000 ÷ interval)

syncs / month87,600
Cheapest planFree $0 / mo

Evaluations never count: they run inside your process and are free, always. Only the config pull reaches wagle, so the estimate above is your whole billable volume.

Free

What every account starts on: room for five always-on SDKs at the default poll.

$0per month, no card
Start free

Not a trial and not a subscription: it's what an account without one gets. No card, ever.

  • 500,000 SDK syncs / month
  • about 5 always-on SDKs at the 30s default
  • No overage: we move you to the plan that fits
  • Unlimited local evaluations
  • Unlimited flags & segments
  • Unlimited projects & environments
  • Full config history
  • No support commitment: docs and self-serve
Most popular

Starter

Side projects and small apps: a couple of dozen always-on SDKs.

$9per month
Sign up & subscribe

No card at signup: subscribe when ready. Billed from day one, cancel anytime.

  • 2,000,000 SDK syncs / month
  • about 22 always-on SDKs at the 30s default
  • No overage: we move you to the plan that fits
  • Unlimited local evaluations
  • Unlimited flags & segments
  • Unlimited projects & environments
  • Full config history
  • Email support, best effort: no response-time promise

Pro

A real production fleet: around ninety always-on SDKs across your services.

$29per month
Sign up & subscribe

No card at signup: subscribe when ready. Billed from day one, cancel anytime.

  • 8,000,000 SDK syncs / month
  • about 91 always-on SDKs at the 30s default
  • No overage: we move you to the plan that fits
  • Unlimited local evaluations
  • Unlimited flags & segments
  • Unlimited projects & environments
  • Full config history
  • Email support, best effort: no response-time promise

Team

Several services and hundreds of pods, polling as fast as you like.

$99per month
Sign up & subscribe

No card at signup: subscribe when ready. Billed from day one, cancel anytime.

  • 30,000,000 SDK syncs / month
  • about 342 always-on SDKs at the 30s default
  • No overage: we move you to the plan that fits
  • Unlimited local evaluations
  • Unlimited flags & segments
  • Unlimited projects & environments
  • Full config history
  • Priority support

Enterprise

For contractual guarantees: an uptime SLA, your own instance, your own database.

Customguarantees, not volume
  • Contractual uptime SLA
  • Dedicated instance & database
  • Unlimited history retention
  • Named-contact priority support
  • Invoicing & security review
Contact sales