seldonframe

mcp
Security Audit
Warn
Health Warn
  • License — License: AGPL-3.0
  • No description — Repository has no description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Warn
  • process.env — Environment variable access in packages/cli/src/cli.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

README.md
SeldonFrame

SeldonFrame

Build almost any AI agent — from your IDE.

The open-source platform that gives your coding agent the primitives real production agents need: triggers, skills, channels, tools, an owned memory (the Brain), guardrails, evals, one-command deploy, and built-in money rails. Describe an agent in one sentence — minutes later it's answering a real business's phone, chat, and SMS, and booking real appointments. Free to build.

License: AGPL v3
npm version
GitHub stars
Discord
X

Website · For builders · Docs · Live demo · Discord


Ship your first agent in 60 seconds

claude mcp add seldonframe -- npx -y @seldonframe/mcp
> Build me an AI receptionist for an HVAC company in Phoenix.

  ✓ Live at acme-hvac.app.seldonframe.com

No API key. No signup form. Your first workspace is free forever. That one sentence stands up a hosted front office — website, booking page, intake form, CRM — with an AI agent already answering on chat and booking against the real calendar. Add a phone number and it answers calls too.

See a real one: this HVAC workspace was generated from a public Google Maps listing in about 3 minutes. The chatbot on it books real appointments.


What an agent is made of here

Most "agent frameworks" hand you a chat loop and wish you luck. SeldonFrame gives your IDE agent the full production anatomy:

The agent model — Trigger × Skill × Channel

An agent isn't a chatbot UI; it's three independent axes:

  • Triggerwhen it runs: inbound (a call / chat / email / SMS arrives) · event (a domain event fires — booking.completed, lead.created, invoice.paid…) · schedule (a cron cadence).
  • Skillwhat it does: receptionist · review-requester · speed-to-lead · win-back · digest…
  • Channelhow it speaks: voice · web chat · SMS · email · internal digest.
  • Toolswhat it can touch: native tools (book against the real calendar · read/write the CRM · send SMS & email · take a message) plus 1,000+ app integrations via Composio (Google Calendar, Sheets, Slack, HubSpot, Notion, …), bound per-agent.

surface: voice | chat (the old receptionist-only knob) is just one point in this space — trigger=inbound. One builder creates any agent; the marketplace sells any agent.

From agent to production loop

A production agent is a loop, not a single prompt:

Trigger → (Model + Tools + State) → Verify → Iterate, bounded by a Stop condition, improved by Evals, kept honest by Observability + Guardrails.

Two non-negotiables drive the roadmap: the checker must be separate from the maker (a model grading its own work is too generous a grader), and the loop must have brakes (or it bills you in silence). Where each primitive stands today:

Primitive Status What's there
Trigger ✅ Shipped Inbound + event triggers on the SeldonEvent bus. booking.completed → review-requester; lead.created → speed-to-lead, both sending outbound SMS/email.
State ✅ Shipped Agent loop-memory in Brain v2 — agents recall what they did before acting and record after. The review "ask once per customer" throttle is now a memory recall, not a bespoke flag.
Verify (maker ≠ checker) ✅ Shipped Deterministic validators grade every run — pass rates surface on each agent's health card and /runs; run_agent_evals replays scripted scenarios. Rolling out: the same checker as a hard pre-send gate + an LLM judge for judgment calls.
Guardrails / Stop ✅ Shipped Quote-guard (never invent prices), enforced read-back before booking, per-contact throttles, booking-policy enforcement (hours · duration · required fields), hard call/iteration caps. Rolling out: generic token-budget brakes for long-looping agents.
Generate-by-default 🗺 Roadmap One English sentence → trigger + skill + channel + guardrail + checker + state + stop, generated together. "text every customer for a Google review the day after their job — never twice, only if completed" emits all of it.

The loop, drawn

flowchart TD
    subgraph TRIG["Triggers"]
        direction LR
        TIn["Inbound<br/>call · chat · email · SMS"]
        TEv["Event<br/>booking.completed · lead.created"]
        TSch["Schedule<br/>cron cadence"]
    end

    subgraph LOOP["Agent loop"]
        direction TB
        Model["Model<br/>(reasoning + skill-pack)"]
        Tools["Tools<br/>Composio + native:<br/>book · update CRM · send SMS/email"]
        State["State<br/>Brain v2: recall &amp; record"]
        Verify{"Verify<br/>(separate checker)"}

        Model --> Tools
        Tools --> State
        State --> Verify
        Verify -- "fail: block / retry" --> Model
    end

    TIn --> Model
    TEv --> Model
    TSch --> Model

    Verify -- "pass" --> Act["Act"]

    subgraph OUT["Channels &amp; front office"]
        direction LR
        Chan["Voice · SMS · Email · Chat"]
        Office["Front office:<br/>site · booking · CRM"]
    end

    Act --> Chan
    Act --> Office

    Stop(["Stop<br/>budget · max iterations · no-progress"]) -. bounds .-> LOOP
    Obs[("Observability<br/>/runs + Brain")] -. observes .-> LOOP

    classDef wip stroke-dasharray:5 5,stroke-width:2px;
    class Verify,Stop wip;

Dashed nodes (Verify, Stop) are the in-progress primitives. Trigger and State are shipped today; the rest of the loop is landing next.


Deeper — the pre-wired stack, the architectural bet, the roadmap: docs/ARCHITECTURE.md.

Five agents you can ship today

Trigger × Skill × Channel are independent axes — pick one of each and you've architected an agent:

Agent Trigger Skill Channel The interesting part
AI receptionist inbound call qualify + book voice Books against the real calendar. Quote-guard, enforced read-back, take_message escalation to the owner.
Website chatbot inbound chat the same receptionist skill web embed Same blueprint, different channel — channels are swappable.
Speed-to-lead lead.created event first-touch + qualify SMS Fires seconds after a form submit, straight off the event bus.
Review requester booking.completed event review ask SMS / email Brain recall enforces "never ask the same customer twice."
Anything you describe any one English sentence any The Studio wizard adapts its questions to the primitives your agent needs.

The Brain — memory that compounds

Agents that forget are demos. Every SeldonFrame workspace owns a Brain:

  • The Soul — the single source of truth an agent grounds on (identity, services, hours, pricing). Install someone else's agent and it re-grounds on your Soul, never their facts.
  • Loop memory — agents recall before acting and record after. "Did I already ask this customer for a review?" is a memory recall, not a bespoke flag.
  • Notes → distilled rules — raw observations get compiled and promoted into durable knowledge on a schedule, so every run starts smarter than the last one ended.

Money rails, built in

Agents that do real work end up touching real money — so the rails are platform primitives, not an integration project:

  • A prepaid wallet ledger — UNIQUE idempotency keys and guarded never-negative decrements: a charge can't double-fire, a balance can't go below zero.
  • Stripe Connect payoutsseldonframe payout moves accrued earnings to a bank account.
  • Checkout that fulfills — a marketplace sale auto-provisions the deployment and re-grounds it on the buyer's business.
  • Per-use rental billing — every agent exposes a signed MCP endpoint; other LLMs can rent it and the ledger meters each use.
  • Real phone numbers — provision a number per agent (bring your own Twilio today; SF-managed metered numbers are rolling out).

Fee fine print: SeldonFrame takes a 5% GMV fee only when the marketplace brings the buyer, ~2% on sales through your own SeldonFrame storefront, and $0 anywhere else.


Use SeldonFrame from any IDE

One npm package — @seldonframe/mcp — runs as a local MCP server in every major AI-native editor. Pick yours, paste the snippet, and ask your agent to build a workspace — your own website, booking page, intake form, and CRM, with the agent wired in. First workspace is free and needs no API key.

Claude Code
claude mcp add seldonframe -- npx -y @seldonframe/mcp
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "seldonframe": {
      "command": "npx",
      "args": ["-y", "@seldonframe/mcp"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "seldonframe": {
      "command": "npx",
      "args": ["-y", "@seldonframe/mcp"]
    }
  }
}
VS Code (Copilot agent mode)

Add to .vscode/mcp.json:

{
  "servers": {
    "seldonframe": {
      "command": "npx",
      "args": ["-y", "@seldonframe/mcp"]
    }
  }
}
Zed

Add to settings.json:

{
  "context_servers": {
    "seldonframe": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@seldonframe/mcp"]
    }
  }
}
Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.seldonframe]
command = "npx"
args = ["-y", "@seldonframe/mcp"]

Or one line: codex mcp add seldonframe -- npx -y @seldonframe/mcp

Once connected, restart your IDE (MCP connectors load at session start), then just say:

> Build a workspace for [business name]. [city, state]. [services]. [phone, optional].

See the same six snippets, kept in sync, at seldonframe.com/build.



When you're ready to sell

Your builder hub is seldonframe.com/build — publish an agent, set the price (monthly, per-call, per-outcome, or one-time), and any LLM can rent it over MCP. Every published agent gets a free storefront: a public listing page with schema.org markup, a markdown twin, and llms.txt coverage — so both humans and AI agents can discover and buy it. We ship the commodity agents as everyone's free floor, we never build vertical agents that compete with yours, and we never train on your prompts or data.

Pricing — no surprises

Self-host $0 — AGPL-3.0, the entire monorepo
Hosted — first workspace Free forever, no card
Hosted — unlimited workspaces $29/mo flat (white-label + voice included)
Your AI tokens Bring your own key — we never mark up usage
When you sell 5% only when the marketplace brings the buyer · ~2% through your own storefront · $0 anywhere else

Contributing

The highest-leverage PR here is an agent template or a vertical skill-pack — merged templates ship to the marketplace where every SeldonFrame user can find them, and you can list your own paid variants alongside. Core, connector, and eval PRs are equally welcome.

  • Start with CONTRIBUTING.md, then issues labeled good first issue / help wanted
  • House rule: agent-behavior changes ship with eval scenarios; runtime changes ship with tests

Community

License

AGPL-3.0 for the whole monorepo. Self-host freely; if you modify it and run it as a network service, your modifications stay open. For closed-source embedding, the hosted plan is the commercial alternative — see LICENSING.md. Same dual model as Mattermost, Plausible, and Postiz.

Build an agent. Sell it. Get paid. — from your IDE.

If this is the platform you've been looking for, ⭐ star the repo — it helps more builders find it.

Reviews (0)

No results found