0nmcp 4.5.0 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,6 +13,7 @@ Connect any AI to any API. Natural language. Zero configuration.<br>
13
13
  [![npm downloads](https://img.shields.io/npm/dm/0nmcp.svg?style=flat-square)](https://www.npmjs.com/package/0nmcp)
14
14
  [![License: BSL 1.1](https://img.shields.io/badge/License-BSL%201.1-blue.svg?style=flat-square)](./LICENSE)
15
15
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen?style=flat-square)](https://nodejs.org)
16
+ [![Spectra Assure Community Badge](https://secure.software/npm/badge/0nmcp)](https://secure.software/npm/packages/0nmcp)
16
17
  [![MCP](https://img.shields.io/badge/MCP-Compatible-blueviolet?style=flat-square)](https://modelcontextprotocol.io)
17
18
  [![Tools](https://img.shields.io/badge/tools-14500%2B-orange?style=flat-square)](#tool-count-breakdown)
18
19
  [![Services](https://img.shields.io/badge/services-867-blue?style=flat-square)](#all-96-services)
package/catalog.js CHANGED
@@ -3504,6 +3504,245 @@ export const SERVICE_CATALOG = {
3504
3504
  authHeader: (creds) => ({ "Authorization": `Bearer ${creds.apiKey}`, "Content-Type": "application/json" }),
3505
3505
  },
3506
3506
 
3507
+ // ── shadcn/ui registry ─────────────────────────────────────
3508
+ shadcn: {
3509
+ name: "shadcn/ui",
3510
+ type: "design-system",
3511
+ description: "shadcn/ui component registry — search, recommend, and install official primitives + curated blocks. The default UI system across the 0n ecosystem.",
3512
+ baseUrl: "https://ui.shadcn.com",
3513
+ authType: "none",
3514
+ credentialKeys: [],
3515
+ capabilities: [
3516
+ { name: "list_components", actions: ["list"], description: "List all official shadcn primitives, grouped by purpose" },
3517
+ { name: "search_components", actions: ["search"], description: "Fuzzy search components by name or description" },
3518
+ { name: "get_component", actions: ["get"], description: "Fetch live component schema (files, deps, source) from the registry" },
3519
+ { name: "install_command", actions: ["build"], description: "Generate `npx shadcn@latest add <name>` install command" },
3520
+ { name: "list_blocks", actions: ["list"], description: "List curated block patterns (login, dashboard, pricing, FAQ, etc.)" },
3521
+ { name: "recommend", actions: ["recommend"], description: "Recommend components for a free-text use case" },
3522
+ { name: "theme", actions: ["get"], description: "Return brand-themed @theme inline CSS for Tailwind v4" },
3523
+ { name: "init", actions: ["build"], description: "One-shot bootstrap commands for new projects" },
3524
+ ],
3525
+ endpoints: {
3526
+ get_component_schema: { method: "GET", path: "/r/styles/new-york/{name}.json" },
3527
+ get_index: { method: "GET", path: "/r/styles/new-york/index.json" },
3528
+ },
3529
+ authHeader: () => ({ "User-Agent": "0nMCP/4.10", "Accept": "application/json" }),
3530
+ },
3531
+
3532
+ // ============================================================
3533
+ // v4.10.0 — 0nCore product surface (UCP, Marketplace, builders)
3534
+ // Each wraps the corresponding onork-app HTTP endpoint.
3535
+ // ============================================================
3536
+
3537
+ // ── UCP — Universal Commerce Protocol ─────────────────────
3538
+ ucp: {
3539
+ name: "UCP — Universal Commerce Protocol",
3540
+ type: "commerce",
3541
+ description: "Universal commerce: discover, list, and check out any product/app/download from the unified 0n catalog. One protocol, every store.",
3542
+ baseUrl: "https://0ncore.com",
3543
+ authType: "bearer_or_session",
3544
+ credentialKeys: ["onToken"],
3545
+ capabilities: [
3546
+ { name: "list_offers", actions: ["list"], description: "List all active products, downloads, and plans" },
3547
+ { name: "create_checkout", actions: ["create"], description: "Generate a Stripe Checkout session for a product slug" },
3548
+ { name: "get_download_link", actions: ["get"], description: "Verify entitlement and return a signed download URL" },
3549
+ { name: "list_purchases", actions: ["list"], description: "List the user's completed purchases" },
3550
+ ],
3551
+ endpoints: {
3552
+ list_offers: { method: "GET", path: "/api/commerce/offers", query: ["category", "limit"] },
3553
+ create_checkout: { method: "POST", path: "/api/commerce/checkout", body: { slug: "", quantity: 1 } },
3554
+ get_download_link: { method: "GET", path: "/api/commerce/download", query: ["slug"] },
3555
+ },
3556
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3557
+ },
3558
+
3559
+ // ── Marketplace — .0n App Marketplace ─────────────────────
3560
+ marketplace: {
3561
+ name: ".0n App Marketplace",
3562
+ type: "marketplace",
3563
+ description: "Browse, install, and execute .0n apps + first-party 0nCore products. Unified catalog of UCP products and marketplace apps with plan-aware install + Stripe checkout.",
3564
+ baseUrl: "https://0ncore.com",
3565
+ authType: "bearer_or_session",
3566
+ credentialKeys: ["onToken"],
3567
+ capabilities: [
3568
+ { name: "list_apps", actions: ["list"], description: "Browse the unified catalog (UCP products + apps)" },
3569
+ { name: "install_app", actions: ["install"], description: "Install a free app for the current location" },
3570
+ { name: "checkout_app", actions: ["create"], description: "Stripe checkout for a paid app" },
3571
+ { name: "execute_app", actions: ["run"], description: "Execute an installed .0n app" },
3572
+ { name: "list_installed",actions: ["list"], description: "List apps installed on the current location" },
3573
+ ],
3574
+ endpoints: {
3575
+ list_apps: { method: "GET", path: "/api/widgets/marketplace/catalog", query: ["locationId", "mode"] },
3576
+ install_app: { method: "POST", path: "/api/widgets/marketplace/install", body: { slug: "", source: "" } },
3577
+ checkout_app: { method: "POST", path: "/api/widgets/marketplace/checkout", body: { slug: "", source: "" } },
3578
+ execute_app: { method: "POST", path: "/api/marketplace/execute/{appId}", body: {} },
3579
+ list_installed: { method: "GET", path: "/api/marketplace/my-apps" },
3580
+ },
3581
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3582
+ },
3583
+
3584
+ // ── Course Builder — AI course generator ──────────────────
3585
+ course_builder: {
3586
+ name: "0n Course Builder",
3587
+ type: "ai-builder",
3588
+ description: "Generate complete courses from a description. Outline + lesson content + quizzes + sales page, published into the connected courses platform. Radial-burst lesson generation; graceful publish fallback.",
3589
+ baseUrl: "https://0ncore.com",
3590
+ authType: "bearer_or_session",
3591
+ credentialKeys: ["onToken"],
3592
+ capabilities: [
3593
+ { name: "generate_course", actions: ["create"], description: "End-to-end course generation: outline + all lessons + sales page" },
3594
+ { name: "list_courses", actions: ["list"], description: "List previously-generated courses" },
3595
+ { name: "publish_course", actions: ["create"], description: "Publish a generated course (graceful fallback if rejected)" },
3596
+ ],
3597
+ endpoints: {
3598
+ generate_course: { method: "POST", path: "/api/course-builder/courses", body: { topic: "", audience: "", lessonCount: 6, includeQuizzes: true, learningOutcome: "", tone: "professional" } },
3599
+ list_courses: { method: "GET", path: "/api/course-builder/courses", query: ["status", "limit"] },
3600
+ publish_course: { method: "POST", path: "/api/course-builder/courses/{id}/publish", body: { priceCents: 0 } },
3601
+ },
3602
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3603
+ },
3604
+
3605
+ // ── Lead Magnet — viral growth loop ───────────────────────
3606
+ lead_magnet: {
3607
+ name: "0n Lead Magnet",
3608
+ type: "marketing",
3609
+ description: "Run viral growth loops. Landing page + opt-in + ebook delivery + recommendations modal + builtwith page. Every funnel grows the customer's list AND grows the platform.",
3610
+ baseUrl: "https://0ncore.com",
3611
+ authType: "bearer_or_session",
3612
+ credentialKeys: ["onToken"],
3613
+ capabilities: [
3614
+ { name: "list_funnels", actions: ["list"], description: "List the user's funnels with subscriber stats" },
3615
+ { name: "create_funnel", actions: ["create"], description: "Create a new lead-magnet funnel" },
3616
+ { name: "update_funnel", actions: ["update"], description: "Update funnel config (offer, copy, redirects)" },
3617
+ { name: "set_recommendations", actions: ["update"], description: "Bulk-replace the modal's ordered recommendation list" },
3618
+ { name: "record_optin", actions: ["create"], description: "Record a public opt-in (used by landing pages)" },
3619
+ { name: "get_recommendations", actions: ["get"], description: "Read the modal's config + active recommendations" },
3620
+ ],
3621
+ endpoints: {
3622
+ list_funnels: { method: "GET", path: "/api/lead-magnet/funnels" },
3623
+ create_funnel: { method: "POST", path: "/api/lead-magnet/funnels", body: { funnel_name: "", offer_title: "", offer_description: "", offer_file_url: "" } },
3624
+ get_funnel: { method: "GET", path: "/api/lead-magnet/funnels/{funnelId}" },
3625
+ update_funnel: { method: "PUT", path: "/api/lead-magnet/funnels/{funnelId}", body: {} },
3626
+ set_recommendations: { method: "PUT", path: "/api/lead-magnet/funnels/{funnelId}/recommendations", body: { recommendations: [] } },
3627
+ record_optin: { method: "POST", path: "/api/lead-magnet/opt-in", body: { email: "", funnel_id: "default" } },
3628
+ get_recommendations: { method: "GET", path: "/api/lead-magnet/recommendations", query: ["funnel_id"] },
3629
+ },
3630
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3631
+ },
3632
+
3633
+ // ── Automation Builder — visual + agentic ─────────────────
3634
+ automation_builder: {
3635
+ name: "0n Automation Builder",
3636
+ type: "ai-builder",
3637
+ description: "Generate, test, save, schedule, and run automations from natural language. Backed by the visual workflow canvas + .0n SWITCH file format. Mutations gated by user confirmation.",
3638
+ baseUrl: "https://0ncore.com",
3639
+ authType: "bearer_or_session",
3640
+ credentialKeys: ["onToken"],
3641
+ capabilities: [
3642
+ { name: "generate_workflow", actions: ["create"], description: "Natural language → .0n workflow JSON (non-mutating)" },
3643
+ { name: "test_workflow", actions: ["create"], description: "Dry-run a workflow against sample input (non-mutating)" },
3644
+ { name: "activate_workflow", actions: ["create"], description: "Save + register trigger (cron or webhook) + activate" },
3645
+ { name: "run_workflow", actions: ["create"], description: "Execute a saved workflow on-demand" },
3646
+ { name: "list_workflows", actions: ["list"], description: "List the user's saved workflows" },
3647
+ { name: "suggest", actions: ["create"], description: "AI-powered next-capability suggestions for a workflow-in-progress" },
3648
+ ],
3649
+ endpoints: {
3650
+ generate_workflow: { method: "POST", path: "/api/automations/generate", body: { description: "" } },
3651
+ test_workflow: { method: "POST", path: "/api/automations/execute", body: { workflow: {}, dryRun: true } },
3652
+ activate_workflow: { method: "POST", path: "/api/automations/activate", body: { workflow: {} } },
3653
+ run_workflow: { method: "POST", path: "/api/automations/execute", body: { workflow: {} } },
3654
+ list_workflows: { method: "GET", path: "/api/automations/list" },
3655
+ suggest: { method: "POST", path: "/api/automations/suggest", body: { currentNodes: [] } },
3656
+ },
3657
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3658
+ },
3659
+
3660
+ // ── SaaS Factory — full SaaS provisioning ─────────────────
3661
+ saas_factory: {
3662
+ name: "0n SaaS Factory",
3663
+ type: "ai-builder",
3664
+ description: "One-shot provisioning of a complete SaaS for a customer or sub-account: brand-themed landing page, auth, billing pipeline, custom domain wiring, CRM mirror. The same factory that ships RocketPost-style apps.",
3665
+ baseUrl: "https://0ncore.com",
3666
+ authType: "bearer_or_session",
3667
+ credentialKeys: ["onToken"],
3668
+ capabilities: [
3669
+ { name: "provision_saas", actions: ["create"], description: "Provision a new SaaS instance with brand, auth, billing, domain" },
3670
+ { name: "deploy_snapshot", actions: ["create"], description: "Deploy a starter snapshot (custom fields, tags, pipelines, custom values) to a sub-account" },
3671
+ { name: "configure_billing", actions: ["update"], description: "Configure Stripe products + tier mapping for a SaaS instance" },
3672
+ ],
3673
+ endpoints: {
3674
+ provision_saas: { method: "POST", path: "/api/provision", body: { brand: "", domain: "" } },
3675
+ deploy_snapshot: { method: "POST", path: "/api/snapshot/deploy", body: { locationId: "", version: 0 } },
3676
+ configure_billing: { method: "POST", path: "/api/marketplace/onboard", body: {} },
3677
+ },
3678
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3679
+ },
3680
+
3681
+ // ── App Builder — .0n app generator ───────────────────────
3682
+ app_builder: {
3683
+ name: "0n App Builder",
3684
+ type: "ai-builder",
3685
+ description: "Generate a .0n app from a description. Produces a packaged .0n bundle that installs via the marketplace and runs against the universal capability surface.",
3686
+ baseUrl: "https://0ncore.com",
3687
+ authType: "bearer_or_session",
3688
+ credentialKeys: ["onToken"],
3689
+ capabilities: [
3690
+ { name: "generate_app", actions: ["create"], description: "Build a complete .0n app from a description" },
3691
+ { name: "publish_app", actions: ["create"], description: "Publish a generated app to the marketplace" },
3692
+ { name: "execute_app", actions: ["run"], description: "Execute an installed .0n app for a location" },
3693
+ ],
3694
+ endpoints: {
3695
+ generate_app: { method: "POST", path: "/api/app-builder/generate", body: { description: "", capabilities: [] } },
3696
+ publish_app: { method: "POST", path: "/api/marketplace/publish", body: {} },
3697
+ execute_app: { method: "POST", path: "/api/marketplace/execute/{appId}",body: {} },
3698
+ },
3699
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3700
+ },
3701
+
3702
+ // ── Website Builder — landing + multi-page generator ──────
3703
+ website_builder: {
3704
+ name: "0n Website Builder",
3705
+ type: "ai-builder",
3706
+ description: "Generate landing pages and multi-page sites from a description. 5 curated shadcn themes, brand-aware copy, one-shot Vercel deploy. Powered by the landing_pages service.",
3707
+ baseUrl: "https://0ncore.com",
3708
+ authType: "bearer_or_session",
3709
+ credentialKeys: ["onToken"],
3710
+ capabilities: [
3711
+ { name: "list_themes", actions: ["list"], description: "List the 5 curated shadcn themes" },
3712
+ { name: "generate_page",actions: ["create"], description: "Generate a landing page from brand + theme" },
3713
+ { name: "render_page", actions: ["create"], description: "Render a generated page to HTML" },
3714
+ { name: "deploy_page", actions: ["create"], description: "One-shot Vercel deploy of a generated page" },
3715
+ ],
3716
+ endpoints: {
3717
+ list_themes: { method: "GET", path: "/api/landing-pages/themes" },
3718
+ generate_page: { method: "POST", path: "/api/landing-pages/generate", body: { theme: "", brand: {}, prompt: "" } },
3719
+ render_page: { method: "POST", path: "/api/landing-pages/render", body: { page: {} } },
3720
+ deploy_page: { method: "POST", path: "/api/landing-pages/deploy", body: { page: {}, domain: "" } },
3721
+ },
3722
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3723
+ },
3724
+
3725
+ // ── Agentic Automation Generator ──────────────────────────
3726
+ agentic_automation: {
3727
+ name: "Agentic Automation Generator",
3728
+ type: "agentic-ai",
3729
+ description: "Tell it what you want done. The agent breaks it down, picks tools, configures inputs, runs the workflow, and reports outcomes. Combines automation_builder + 0nMCP's full tool catalog into a self-driving generator.",
3730
+ baseUrl: "https://0ncore.com",
3731
+ authType: "bearer_or_session",
3732
+ credentialKeys: ["onToken"],
3733
+ capabilities: [
3734
+ { name: "generate_plan", actions: ["create"], description: "Decompose an outcome into a step plan with tool selections" },
3735
+ { name: "execute_plan", actions: ["run"], description: "Execute a generated plan with confirmation gating on mutations" },
3736
+ { name: "iterate_plan", actions: ["update"], description: "Refine a plan based on user feedback" },
3737
+ ],
3738
+ endpoints: {
3739
+ generate_plan: { method: "POST", path: "/api/agentic/plan", body: { outcome: "", context: {} } },
3740
+ execute_plan: { method: "POST", path: "/api/agentic/execute", body: { planId: "", autoApprove: false } },
3741
+ iterate_plan: { method: "POST", path: "/api/agentic/iterate", body: { planId: "", feedback: "" } },
3742
+ },
3743
+ authHeader: (creds) => ({ "Authorization": `Bearer ${creds.onToken}`, "Content-Type": "application/json" }),
3744
+ },
3745
+
3507
3746
  };
3508
3747
 
3509
3748
  // ── Helpers ────────────────────────────────────────────────
package/index.js CHANGED
@@ -34,6 +34,9 @@ import { unsealedCache } from "./vault/cache.js";
34
34
  import { registerEngineTools, registerTrainingTools, registerFeedTools, registerCouncilTools, registerSxoWriterTools } from "./engine/index.js";
35
35
  import { registerBrainTools } from "./engine/brain.js";
36
36
  import { registerLocalAITools } from "./engine/local-ai.js";
37
+ import { registerLandingPageTools } from "./landing_pages/index.js";
38
+ import { registerShadcnTools } from "./shadcn.js";
39
+ import { registerProgrammaticDesignTools } from "./pwd.js";
37
40
  import { CapabilityProxy } from "./capability-proxy.js";
38
41
  import { SERVICE_CATALOG } from "./catalog.js";
39
42
 
@@ -103,6 +106,30 @@ registerContainerTools(server, z);
103
106
 
104
107
  registerDeedTools(server, z);
105
108
 
109
+ // ============================================================
110
+ // LANDING PAGES (shadcn themes -> AI generate -> render -> deploy)
111
+ // First add-on after the ".0n app" pattern: lives here at the
112
+ // 0nMCP source, then gets surfaced as a billable add-on in 0nCore.
113
+ // ============================================================
114
+
115
+ registerLandingPageTools(server, { groqKey: process.env.GROQ_API_KEY });
116
+
117
+ // ============================================================
118
+ // SHADCN/UI REGISTRY (search + recommend + install + 0n theme)
119
+ // shadcn becomes a first-class 0nMCP service so any AI editor
120
+ // connected to 0nMCP can discover and install components without
121
+ // leaving the conversation.
122
+ // ============================================================
123
+
124
+ registerShadcnTools(server, z);
125
+
126
+ // ============================================================
127
+ // 0n PROGRAMMATIC WEBSITE DESIGN COMPONENTS
128
+ // (the 0n shadcn-compatible registry hosted at 0nmcp.com/r/*)
129
+ // ============================================================
130
+
131
+ registerProgrammaticDesignTools(server, z);
132
+
106
133
  // ============================================================
107
134
  // START SERVER (stdio transport)
108
135
  // ============================================================
package/lib/stats.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "generated": "2026-04-20T15:07:46.869Z",
2
+ "generated": "2026-04-28T13:22:04.612Z",
3
3
  "catalogVersion": "3.0.0",
4
4
  "services": 96,
5
5
  "tools": 1280,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "0nmcp",
3
- "version": "4.5.0",
3
+ "version": "4.10.0",
4
4
  "mcpName": "io.github.0nork/0nMCP",
5
5
  "description": "Universal AI API Orchestrator — 1554 tools, 96 services, portable AI Brain bundles + machine-bound vault encryption + Application Engine. The most comprehensive MCP server available. Free and open source from 0nORK.",
6
6
  "type": "module",
@@ -220,6 +220,6 @@
220
220
  "triggers": 310,
221
221
  "totalCapabilities": 2073,
222
222
  "categories": 21,
223
- "lastUpdated": "2026-04-20T15:07:46.869Z"
223
+ "lastUpdated": "2026-04-28T13:22:04.612Z"
224
224
  }
225
225
  }