foundr.companyby Perea

foundr.work — full features

An opinionated declarative framework for stateful agents. Write a `worker.yaml`; the foundr-work npm package compiles it into a Foundr Worker — a long-running, resumable, MCP-native agent. Skills bundle drops into Claude Code or Codex so the framework writes itself. OSS at the core; the hosted runtime is the convenience tax, not the only path.

Pricing

Free via X. Solo at indie prices. Pro when you scale.

Same pricing model across the whole foundr.* family. No per-seat math. No enterprise quote theater.

What you get

Every feature, grouped by who it's for.

Core (declarative framework)

  • `worker.yaml` schema: `model`, `instructions`, `state` (typed via JSON Schema), `tools`, `triggers`, `memory`, `guardrails`, `lifecycle`, `version`
  • `foundr-work init` — scaffolds repo, `worker.yaml`, `.foundr/` state dir, skill-bundle hookup
  • `foundr-work compile` — emits the runnable worker, pinned to spec hash (TS or Python target)
  • `foundr-work run` — local execution loop with hot-reload on YAML change
  • `foundr-work test` — replay recorded runs against a new spec hash (regression test for prompts + state)
  • `foundr-work inspect` — REPL into a running worker's state, message history, tool calls
  • Spec-hash versioning: workers are content-addressed (`worker@<sha>`); state never tied to code commit
  • Stateful by default — `state` declared in spec, persisted by runtime, survives restarts + model swaps
  • Human-in-the-loop gates as a spec field: `lifecycle.paused: until <event>`

Agentic-first (MCP + token)

  • Every worker auto-exposes an MCP server at `<id>.foundr.work/mcp` — tools, state reads, resume actions become MCP tools/resources
  • MCP client built-in: spec field `tools: [{mcp: <url>}]` mounts external tools without code
  • A2A handoffs as a spec field: `handoffs: [<other-worker>]`
  • Streaming over MCP: tokens, step transitions, state deltas all emit as MCP notifications
  • Trigger surface declared in spec: HTTP, cron, MCP tool-call, webhook, A2A
  • Hosted runtime auth via OAuth bearer → MCP token; worker URL IS the MCP endpoint
  • Skill bundle for Claude Code + Codex: `/foundr-work-design`, `/foundr-work-add-tool`, `/foundr-work-add-state`, `/foundr-work-promote`

Solo-founder-shaped

  • `npm install foundr-work` — no account, no signup, no telemetry on the OSS path
  • BYO LLM key via env (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`); no model proxy in the middle
  • Specs are plain YAML — copy-paste a gist + `foundr-work run` works
  • One-line promote: `foundr-work deploy` pushes the spec to Hosted Solo
  • Solo tier has no "team" concept — one owner, one MCP token, no RBAC ceremony
  • No vendor lock: every worker exports as `{worker.yaml, .foundr/state/}` — the spec runs anywhere npm runs

Agentic-first

The MCP surface your agents call.

Add it once to Claude, Cursor, or any MCP host. Your bearer token unlocks every tier — no dashboard required.

# Install the server (one line, one time)
claude mcp add --transport http foundr-work https://foundr-work.foundr.company/api/mcp

Why this differs

The angles the incumbents won't ship.

  • 01

    YAML spec IS the artifact — not a config option (Pydantic AI, MS Agent Framework, AgentSpec offer YAML *alongside* code). foundr.work makes the YAML the worker; everything else is generated.

  • 02

    Compiled from a spec + a Claude Code / Codex skill bundle — uniquely meets the AI-native solo founder where they already live. No competitor ships "drop these skills into your coding agent and the framework writes itself."

  • 03

    Stateful by default. State, memory, and resumability are spec fields, not runtime decisions. LangGraph checkpointers are opt-in (and silently fail per Issue #10144); ours are the default.

  • 04

    Spec-hash versioning — the YAML hash IS the worker version. Reproducible workers, immutable history, trivially rollback-able. No competitor offers this.

  • 05

    MCP-native both ways — the worker IS an MCP server out of the box (consume + expose). LangGraph / CrewAI bolt this on.

  • 06

    No graph DAG, no role abstraction. Declarative spec → compiled state machine. Lower learning curve than LangGraph (graphs) or CrewAI (roles/goals/backstories).

  • 07

    Single-customer pricing shape. $29 Solo undercuts CrewAI Basic ($99), Mastra Teams ($250), Inngest Pro ($75), Temporal Essentials ($100) — sized for one builder, not a team.

Competitive landscape

Who's already here, and what they leave on the table.

Honest comparison. We do not pretend the space is empty.

Declare your first worker

`npm install foundr-work`, write a 20-line YAML spec, run it. The Claude Code skill bundle (`claude mcp add foundr-work`) is in the README's first command. Hosted runtime is optional — the framework runs anywhere npm runs.