npm @seldonframe/mcpstreamable-httpAGPL-3.0updated 8d ago
Sell AI front offices. Deploy them in minutes.
What can you do with seldonframe?
SeldonFrame
Sell AI front offices. Deploy them in minutes.
SeldonFrame is the agent-native, open-source alternative to GoHighLevel for agencies serving local businesses. Give your coding agent a client's URL and it can create a branded website, booking flow, intake, CRM, and AI agent in one workspace. Run evals, publish, and hand it off β then operate every client from one agency view.
Website Β· For agencies Β· For builders Β· Docs Β· Discord
Live demos: HVAC Β· Med spa Β· Med spa Β· Weight loss
Ship your first client front office
claude mcp add seldonframe -- npx -y @seldonframe/mcp
Or as an auto-updating Claude Code plugin:
/plugin marketplace add seldonframe/seldonframe
/plugin install seldonframe@seldonframe
> Build a branded AI front office for my HVAC client in New Orleans.
β Workspace ready at acme-hvac.app.seldonframe.com
Build the first client workspace before paying. Hosted Managed uses SeldonFrame's keys; Builder and Agency plans are BYOK. Your agency owns the client relationship, workspace data, and delivery margin.
See a real one β a live workspace, not a mockup:
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):
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.
The agency delivery loop
- Start with the client URL. SeldonFrame extracts the business facts and creates the workspace.
- Apply your agency playbook. Brand the site, booking flow, intake, CRM, and agent.
- Verify before handoff. Run evals and complete a real test booking.
- Publish and operate. Give the client a branded portal while your agency keeps the master view.
The same loop works from the dashboard, Claude Code, Cursor, Windsurf, or any MCP-compatible agent. See the agency workflow.
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:
- Trigger β when it runs: inbound (a call / chat / email / SMS arrives) Β· event (a domain event fires β
booking.completed,lead.created,invoice.paidβ¦) Β· schedule (a cron cadence). - Skill β what it does: receptionist Β· review-requester Β· speed-to-lead Β· win-back Β· digestβ¦
- Channel β how it speaks: voice Β· web chat Β· SMS Β· email Β· internal digest.
- Tools β what 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 | β Shipped | One 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 | πΊ Roadmap | Skip 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
One sentence builds it; triggers drive it; the ring is the loop running β Model β 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:
| 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 payouts β
seldonframe payoutmoves 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.
Operate every client 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 create or update a client workspace β website, booking page, intake form, CRM, and agent in one pass.
claude mcp add seldonframe -- npx -y @seldonframe/mcp
Or as a plugin (auto-updates, one-liner via the marketplace):
/plugin marketplace add seldonframe/seldonframe
/plugin install seldonframe@seldonframe
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"seldonframe": {
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
Add to settings.json:
{
"context_servers": {
"seldonframe": {
"source": "custom",
"command": "npx",
"args": ["-y", "@seldonframe/mcp"]
}
}
}
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 my client: [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 scale
Your agency hub is seldonframe.com/agencies β deploy branded client workspaces, set your own client pricing, and keep the master view. Builders can still publish portable agents through seldonframe.com/build and let other LLMs rent them over MCP.
Pricing β no surprises
| Self-host | $0 β AGPL-3.0, the entire monorepo Β· docker compose up and you're running |
| Builder | $29/mo Β· BYOK Β· workspaces for businesses you operate |
| Managed | $49/mo Β· SeldonFrame-managed AI Β· one workspace |
| Agency Starter | $99/mo Β· white-label Β· 10 client workspaces Β· 0% GMV |
| Agency Growth | $199/mo Β· 30 client workspaces Β· 0% GMV |
| Agency Scale | $299/mo Β· unlimited client workspaces Β· API/MCP + marketplace access Β· 0% GMV |
| Build before checkout | Create the first client workspace free, then choose the hosted plan that matches your delivery needs |
| Marketplace sales | 5% only when the marketplace brings the buyer |
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
- π¬ Discord β fastest way to get help, feedback, or just say hi
- π¦ @themaxthule on X β release notes, tips, dogfood notes
- π Docs β deeper guides than this README
- π Issues Β· π‘ Discussions
- βοΈ Partnerships: hello@seldonframe.com
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.
Install
Add seldonframe to your client. Pick the one you use.
{
"servers": {
"mcp": {
"type": "http",
"url": "https://mcp.seldonframe.com/v1"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp -- npx -y @seldonframe/mcpcodex mcp add mcp -- npx -y @seldonframe/mcpamp mcp add mcp -- npx -y @seldonframe/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@seldonframe/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@seldonframe/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @seldonframe/mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability0/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed AGPL-3.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 1.59.2Latest | Jul 3, 2026 |
| 1.59.1 | Jul 3, 2026 |