Sponsored by Deepsite.site

SeldonFrame

Created By
seldonframea month ago
SeldonFrame is an open-source, MCP-native Business OS. One conversation in Claude Code or Cursor creates a live workspace — website, booking page, intake form, CRM, and an AI receptionist — on a real subdomain in about 3 minutes.
Overview
Seldon

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 smithery badge

Website · For builders · Docs · Discord

Live demos: HVAC · Med spa · Med spa · Weight loss


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 New Orleans.

  ✓ 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 — a live workspace, not a mockup:

A live SeldonFrame workspace — generated website with quote intake and the chat agent (bottom right) The same workspace's booking page — the real calendar the agent books against
The generated site — quote intake, reviews, and the chat agent (bottom right)Its booking page — the real calendar the agent books against

And here's the agent on that site handling a real inbound — checking the live calendar, and, when asked for a price, refusing to invent one (that's the quote-guard, not a scripted reply):

A real conversation with the site's chat agent — it offers same-day scheduling and declines to guess a price

A genuine exchange with the chatbot on the live site — nothing scripted:

  • It reads the real calendar. "Today's fully booked — here are tomorrow's 9/10/11 AM slots."
  • It won't lie about price. Asked what a visit costs, it says "I don't have exact rates on hand, but I'll have a technician confirm the cost before any work starts" — the quote-guard in action, not a canned line.
  • It qualifies to book. Asks for the service address to confirm you're in-area, then locks the slot.

Same agent answers on SMS and voice too — the channel is just a config knob.

Click any screenshot — this HVAC workspace is live and books real appointments. More live workspaces: Metro MedSpa · SKINNEY Medspa · Vive Ageless Weight Loss — and more on seldonframe.com.


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:

PrimitiveStatusWhat's there
Trigger✅ ShippedInbound + event triggers on the SeldonEvent bus. booking.completed → review-requester; lead.created → speed-to-lead, both sending outbound SMS/email.
State✅ ShippedAgent 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)✅ ShippedDeterministic 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✅ ShippedQuote-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✅ ShippedOne English sentence → trigger + skill + channel + tool bindings + guardrails, generated together. "text every customer for a Google review the day after their job — never twice, only if completed" compiles into a real agent. The generate_agent MCP tool and the Studio wizard both run this pipeline.
Record → Agent🗺 RoadmapSkip describing it — screen-share your workflow once. SeldonFrame watches, compiles the steps into a draft agent (skill + tool bindings + eval scenarios derived from the recording), and you deploy in minutes. Live behind a flag at /record; becoming the default on-ramp next.

The loop, drawn

The agent loop: one build command in a terminal; Inbound / Event / Schedule triggers feed a running agent loop (Model · Tools · State · Verify) with native + Composio tools orbiting the core and Stop brakes bounding it; each pass produces a real action — books the calendar, texts the lead back, answers the phone.

One sentence builds it; triggers drive it; the ring is the loop runningModel → Tools → State → Verify — with tools orbiting the core, /runs + Brain observing, and the Stop brakes bounding every pass. Everything in the diagram is shipped today. (Animated SVG — if your viewer freezes it, the still frame reads the same.)


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:

AgentTriggerSkillChannelThe interesting part
AI receptionistinbound callqualify + bookvoiceBooks against the real calendar. Quote-guard, enforced read-back, take_message escalation to the owner.
Website chatbotinbound chatthe same receptionist skillweb embedSame blueprint, different channel — channels are swappable.
Speed-to-leadlead.created eventfirst-touch + qualifySMSFires seconds after a form submit, straight off the event bus.
Review requesterbooking.completed eventreview askSMS / emailBrain recall enforces "never ask the same customer twice."
Anything you describeanyone English sentenceanyThe 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.


Self-host the whole thing

Prefer to run it yourself? The entire monorepo is AGPL-3.0 — and there's a prebuilt image, so you don't even build it:

git clone https://github.com/seldonframe/seldonframe.git && cd seldonframe
cp .env.docker.example .env.docker   # add your ANTHROPIC_API_KEY or OPENAI_API_KEY
docker compose -f docker-compose.yml -f docker-compose.ghcr.yml up   # pulls the prebuilt image

Brings up Postgres, migrations, and the app on localhost:3000 — the same dashboard, generated public sites, and API as the hosted version. Multi-arch image (amd64 + arm64) at ghcr.io/seldonframe/seldonframe; or docker compose up --build to build from source. Bring your own LLM key (Anthropic or OpenAI); SMS/voice (Twilio), email (Resend), and 1,000+ integrations (Composio) are add-your-own-key. Full guide: QUICKSTART.md.


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 · docker compose up and you're running
Hosted — first workspaceFree forever, no card
Hosted — unlimited workspaces$29/mo flat (white-label + voice included)
Your AI tokensBring your own key — we never mark up usage
When you sell5% only when the marketplace brings the buyer · ~2% through your own storefront · $0 anywhere else

Tech stack

  • Next.js 16 (App Router) + React 19 + TypeScript — one deployable app: dashboard, generated public sites, and API
  • Drizzle ORM on Postgres (Neon in production; any Postgres 15+ when self-hosting)
  • Tailwind CSS 4
  • pnpm workspaces + Turborepo (monorepo)
  • MCP server@seldonframe/mcp, plain Node, runs locally inside your IDE
  • Anthropic / OpenAI (bring your own key) · Stripe payments · Twilio voice/SMS · Resend email

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.

Server Config

{
  "mcpServers": {
    "seldonframe": {
      "command": "npx",
      "args": [
        "-y",
        "@seldonframe/mcp@latest"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
CursorThe AI Code Editor
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Tavily Mcp
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
ChatWiseThe second fastest AI chatbot™
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Playwright McpPlaywright MCP server
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Amap Maps高德地图官方 MCP Server
DeepChatYour AI Partner on Desktop
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
WindsurfThe new purpose-built IDE to harness magic
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Serper MCP ServerA Serper MCP Server