Member Junction
    Preparing search index...

    Member Junction

    MemberJunction

    The open-source, AI-native data platform.

    Unify your data. Add intelligence. Build AI-native apps on top of it.

    License npm version TypeScript GitHub Stars Documentation Issues


    MemberJunction is a metadata-driven application platform that turns your database into a fully functional application — complete with auto-generated APIs, forms, security, and deep AI integration. Define your schema, and MJ generates everything else: typed entity classes, GraphQL endpoints, Angular UI components, validation, and audit trails.

    What makes it different: 290+ modular TypeScript packages that work together or independently, 15+ AI providers behind a single abstraction layer, and an agent framework for building autonomous workflows — all driven by metadata, not boilerplate.

    It's two things in one. A data platform for unifying and reasoning over your data — and a full-stack framework for building AI-native applications on top of it, where agents, prompts, and RAG operate directly on your entities. And because the whole stack is TypeScript with one object model that runs identically on the server, in the browser, in the CLI, and inside agents, you write your data and business logic once and run it on every tier.

    Already getting your data into MJ and wondering what else you can build? MJ is a first-class platform for building AI-native applications on your unified data. Start with Building Applications on MemberJunction — the developer's hub that walks the schema-to-app model and links every layer — and the framework comparison vs. Next.js/Vercel, Supabase, Rails, and Django.

    // Three lines to load, modify, and save any entity — fully typed, validated, and audited
    const md = new Metadata();
    const customer = await md.GetEntityObject<CustomerEntity>('Customers');
    await customer.Load(customerId);
    customer.Status = 'Active';
    await customer.Save(); // Triggers validation, audit logging, and downstream actions automatically
    // Swap AI providers with zero code changes
    const ai = new AIEngine();
    const result = await ai.ChatCompletion({
    model: 'gpt-4o', // or 'claude-sonnet-4-5-20250929', 'gemini-pro', 'llama-3', ...
    messages: [{ role: 'user', content: 'Summarize this quarter\'s metrics' }],
    data: await rv.RunView({ EntityName: 'Quarterly Reports', ResultType: 'simple' })
    });

    • Auto-generated APIs — GraphQL endpoints from database schema
    • Typed entity classes — Full TypeScript with validation and change tracking
    • Dynamic UI — Angular forms, grids, and dashboards generated from metadata
    • Row-level security — Fine-grained access control with field-level permissions
    • Audit trail — Every change tracked automatically via Record Changes
    • 15+ AI providers — OpenAI, Anthropic, Google, Mistral, Groq, and more
    • Agent framework — Autonomous multi-step workflows with sub-agent delegation
    • Vector operations — Embedding, semantic search, duplicate detection, and sync
    • MCP + A2A protocols — Interop with Claude Desktop, Cursor, and external agents
    • Prompt engine — Hierarchical templates with model selection and execution tracking
    • Multi-channel messaging — Email (SendGrid, Gmail, MSGraph), SMS (Twilio)
    • Actions framework — Metadata-driven business logic for workflows and agents
    • Scheduled jobs — Cron-based scheduling with distributed locking
    • Template engine — Nunjucks templates with AI-powered content generation
    • 290+ npm packages — Use the whole platform or just the pieces you need
    • Code generation — Entity classes, stored procedures, views, and Angular forms
    • CLI tooling — Command-line tools for codegen, metadata sync, and AI operations
    • Docker support — Containerized deployment with Flyway migrations
    • Claude Code pack — Curated AI-assistant context (CLAUDE.md + slash commands + skills) ships with every install; refresh with mj update:claude

    # Clone and install
    git clone https://github.com/MemberJunction/MJ.git && cd MJ
    npm install

    # Configure your database and auth
    cp install.config.json.example install.config.json
    # Edit install.config.json with your SQL Server connection and auth settings

    # Initialize the database
    node InstallMJ.js

    # Start the platform
    npm run start:api # GraphQL API on port 4000
    npm run start:explorer # Angular UI on port 4200

    Prerequisites: Node.js 20+, npm 9+, SQL Server 2019+ (or Azure SQL), Angular CLI 21+

    Full documentation: docs.memberjunction.org


    flowchart TD
        subgraph Client["Client Layer"]
            EX["MJExplorer
    Angular 21 UI"] CLI["MJCLI
    Command Line"] MCP["MCP Clients
    Claude Desktop, Cursor"] end subgraph API["API Layer"] GQL["GraphQL API
    @memberjunction/server"] MCPS["MCP Server"] A2A["A2A Server"] end subgraph Core["Core Engine"] META["Metadata Engine
    @memberjunction/core"] ENT["Entity Framework
    Typed classes, validation, audit"] ACT["Actions Engine
    Workflows, scheduling"] end subgraph AI["AI Layer"] AIE["AI Engine
    Provider routing"] AGT["Agent Framework
    Autonomous workflows"] VEC["Vectors
    Embeddings, search, sync"] PRV["15+ Providers
    OpenAI, Anthropic, Google..."] end subgraph Data["Data Layer"] SQL["SQL Server
    Data Provider"] COMM["Communication
    Email, SMS, Push"] end EX --> GQL CLI --> GQL MCP --> MCPS MCPS --> META A2A --> AGT GQL --> META META --> ENT META --> ACT ENT --> SQL ACT --> AIE AIE --> PRV AIE --> AGT AGT --> VEC ACT --> COMM style Client fill:#2d6a9f,stroke:#1a4971,color:#fff style API fill:#2d8659,stroke:#1a5c3a,color:#fff style Core fill:#b8762f,stroke:#8a5722,color:#fff style AI fill:#7c5295,stroke:#563a6b,color:#fff style Data fill:#64748b,stroke:#475569,color:#fff

    Full package directory with 290+ packages | packages/ overview


    Connect to any major AI service through a unified API — swap providers with zero code changes:

    Provider Capabilities Package
    OpenAI GPT-4o, o1/o3 reasoning, DALL-E, Whisper, embeddings @memberjunction/ai-openai
    Anthropic Claude 4 family, streaming, prompt caching, extended thinking @memberjunction/ai-anthropic
    Google Gemini Gemini Pro/Flash, native multimodal, long context @memberjunction/ai-gemini
    Azure OpenAI Enterprise Azure-hosted models @memberjunction/ai-azure
    Amazon Bedrock Multi-model access via AWS @memberjunction/ai-bedrock
    Google Vertex Vertex AI platform integration @memberjunction/ai-vertex
    Mistral Open-source and commercial models, embeddings @memberjunction/ai-mistral
    Groq Ultra-fast LPU inference @memberjunction/ai-groq
    Ollama Local inference, no API keys @memberjunction/ai-ollama
    + 6 more Cerebras, Fireworks, OpenRouter, LM Studio, xAI, Cohere All providers →

    Specialized: ElevenLabs (TTS) · HeyGen (video) · BlackForestLabs (image gen) · Pinecone (vectors)


    Build autonomous AI agents that orchestrate complex, multi-step workflows:

    • AI Agents — Core execution engine with hierarchical prompt composition, sub-agent delegation, and automatic context compression
    • LoopAgentType — Iterative agents with ForEach/While operations (90% token reduction for batch tasks)
    • FlowAgentType — Deterministic workflow graphs with conditional branching and parallel execution
    • MCP Server — Expose MJ entities and agents as tools for Claude Desktop, Cursor, and other MCP clients
    • A2A Server — Google's Agent-to-Agent protocol for cross-platform agent interop
    • Prompt Engine — Hierarchical templates, model selection, effort level control, and execution tracking

    # Docker
    docker build -f docker/MJAPI/Dockerfile -t memberjunction/api .
    docker-compose up -d

    # Database migrations (Flyway)
    # Versioned migrations in /migrations/v2/ run automatically on startup

    Security: Pluggable authentication — Auth0, Azure AD (MSAL), Okta, AWS Cognito, Google, and WorkOS (AuthKit) — plus row-level security, field permissions, GraphQL query depth limiting, and complete audit logging.


    • v5.0 Upgrade Guide — Breaking changes, automated migration tools, and step-by-step instructions for upgrading from v4.x
    • General Upgrade Procedure — Standard process for upgrading across environments (dev/stage/prod)

    We welcome contributions!

    • GitHub Issues — Bug reports and feature requests
    • Discussions — Questions and ideas
    • Documentation — Full platform docs
    • Development Guide — See CLAUDE.md for coding standards, naming conventions, and architecture guidelines

    MemberJunction is open source under the ISC License.


    Every package in the MemberJunction monorepo, organized by directory. Click any package to jump to its README.

    Metadata-driven action framework for workflows, agents, and automation (15 packages).

    Package npm Description
    Engine @memberjunction/actions Main library for MemberJunction Actions. This library is only intended to be imported on the server side.
    Base @memberjunction/actions-base Base classes and interfaces for the Actions framework. Used on both server and network nodes.
    CoreActions @memberjunction/core-actions Library of generated and custom actions for the core MemberJunction framework, maintained by MemberJunction.
    CodeExecution @memberjunction/code-execution Sandboxed code execution service for MemberJunction actions and agents.
    Package npm Description
    ApolloEnrichment @memberjunction/actions-apollo Action classes that wrap the Apollo.io data enrichment API for contacts and accounts.
    ContentAutotag @memberjunction/actions-content-autotag Action classes that execute the content autotagging and vectorization actions.
    Package npm Description
    ScheduledActions @memberjunction/scheduled-actions Allows system administrators to schedule any MemberJunction action for recurring or one-time future execution.
    ScheduledActionsServer @memberjunction/scheduled-actions-server Simple application server that can be called via URL to invoke Scheduled Actions.

    Business application-specific actions for integrating with external business systems.

    Package npm Description
    Accounting @memberjunction/actions-bizapps-accounting Accounting system integration actions (QuickBooks, NetSuite, Sage, Dynamics)
    CRM @memberjunction/actions-bizapps-crm CRM system integration actions (Salesforce, HubSpot, Dynamics, Pipedrive)
    FormBuilders @memberjunction/actions-bizapps-formbuilders Form builder and survey platform integration actions (Typeform, Google Forms, Jotform)
    LMS @memberjunction/actions-bizapps-lms Learning management system integration actions (Moodle, Canvas, Blackboard, LearnDash)
    Social @memberjunction/actions-bizapps-social Social media integration actions (Twitter, LinkedIn, Facebook, Instagram, TikTok, YouTube, HootSuite, Buffer)

    AI infrastructure -- model abstractions, provider implementations, vector operations, agent management, and supporting tools (88 packages).

    Package npm Description
    Core @memberjunction/ai Base AI abstractions and interfaces for LLMs, embeddings, audio/video generation; zero MJ dependencies beyond @memberjunction/global
    CorePlus @memberjunction/ai-core-plus Extended AI components that require MJ entity concepts; usable on both server and client
    BaseAIEngine @memberjunction/ai-engine-base Base AI engine with extended types and data caching; usable anywhere
    Engine @memberjunction/aiengine AI orchestration engine handling automatic execution of Entity AI Actions using AI Models
    Prompts @memberjunction/ai-prompts Prompt execution engine with hierarchical template composition, system placeholders, parallel execution, and output validation
    Agents @memberjunction/ai-agents AI agent execution and management with metadata-driven agent types and sub-agent delegation
    Reranker @memberjunction/ai-reranker AI reranker service and LLM-based reranking for two-stage retrieval
    Package npm Description
    A2AServer @memberjunction/a2aserver Agent-to-Agent (A2A) protocol server for AI agent interoperability via Google's A2A protocol
    MCPServer @memberjunction/ai-mcp-server Model Context Protocol (MCP) server providing entity CRUD and AI agent execution to MCP-compatible clients
    MCPClient @memberjunction/ai-mcp-client MCP client implementation for consuming external MCP servers
    Package npm Description
    AICLI @memberjunction/ai-cli AI agent, prompt, and action execution CLI integrated with the main MJ CLI

    LLM, embedding, cloud-platform, local-inference, and specialty AI provider implementations (28 packages).

    LLM Providers

    Package npm Description
    Anthropic @memberjunction/ai-anthropic Wrapper for Anthropic AI Models (Claude)
    Gemini @memberjunction/ai-gemini Wrapper for Google Gemini AI Models
    Groq @memberjunction/ai-groq Wrapper for Groq AI LPU inference engine
    Mistral @memberjunction/ai-mistral Wrapper for Mistral AI Models
    OpenAI @memberjunction/ai-openai Wrapper for OpenAI AI Models (GPT-4, etc.)
    xAI @memberjunction/ai-xai Wrapper for xAI models (Grok)

    Cloud Platform Providers

    Package npm Description
    Azure @memberjunction/ai-azure Azure AI Provider for MemberJunction
    Bedrock @memberjunction/ai-bedrock Wrapper for Amazon Bedrock AI Models
    Vertex @memberjunction/ai-vertex Wrapper for Google Vertex AI Models

    Inference Routers and Aggregators

    Package npm Description
    Fireworks @memberjunction/ai-fireworks Wrapper for Fireworks.ai AI Models
    OpenRouter @memberjunction/ai-openrouter Wrapper for OpenRouter AI inference services

    Local Inference

    Package npm Description
    LMStudio @memberjunction/ai-lmstudio Wrapper for LM Studio AI - Local Inference Engine
    Ollama @memberjunction/ai-ollama Wrapper for Ollama - Local Inference

    Specialized Providers

    Package npm Description
    BettyBot @memberjunction/ai-betty-bot Wrapper for Betty Bot conversational AI
    BlackForestLabs @memberjunction/ai-blackforestlabs Wrapper for Black Forest Labs FLUX Image Generation Models
    Cerebras @memberjunction/ai-cerebras Wrapper for Cerebras AI inference engine
    Cohere @memberjunction/ai-cohere Cohere AI Provider - Semantic reranking using Cohere's Rerank API
    ElevenLabs @memberjunction/ai-elevenlabs Wrapper for ElevenLabs Audio Generation (TTS)
    HeyGen @memberjunction/ai-heygen Wrapper for HeyGen Video Generation
    LocalEmbeddings @memberjunction/ai-local-embeddings Local Embeddings Models via Xenova/Transformers

    Vector Database Providers

    Package npm Description
    Vectors-Pinecone @memberjunction/ai-vectors-pinecone Pinecone Implementation for AI Vectors

    Recommendation Providers

    Package npm Description
    Recommendations-Rex @memberjunction/ai-recommendations-rex Recommendations Provider for rasa.io Rex engine

    Meta / Utility

    Package npm Description
    Bundle @memberjunction/ai-provider-bundle Loads all standard AI providers to prevent tree-shaking

    Vector storage, search, and synchronization (10 packages).

    Package npm Description
    Core @memberjunction/ai-vectors Core vector operations and abstractions for entity vectorization
    Database @memberjunction/ai-vectordb Vector database abstraction layer (index management, query operations)
    Dupe @memberjunction/ai-vector-dupe Duplicate record detection using vector similarity
    Memory @memberjunction/ai-vectors-memory In-memory vector utilities
    Sync @memberjunction/ai-vector-sync Synchronization between MemberJunction entities and vector databases

    Meta-agent system for creating, managing, and orchestrating AI agents (2 packages).

    Package npm Description
    core @memberjunction/ai-agent-manager Core interfaces, types, and the AgentSpec class for agent metadata management
    actions @memberjunction/ai-agent-manager-actions Agent management actions (create, update, list, deactivate, export, etc.)

    Provider-agnostic recommendation engine framework (1 package).

    Package npm Description
    Engine @memberjunction/ai-recommendations Core recommendation engine with provider pattern, run tracking, and entity integration

    Angular UI framework -- the Bootstrap package, Explorer application components, and a comprehensive library of reusable generic components (85 packages).

    Package npm Description
    Bootstrap @memberjunction/ng-bootstrap Angular bootstrap and class registration manifest

    The MJExplorer application -- MemberJunction's primary Angular-based UI for browsing, editing, and managing data (16 packages).

    Core / Shell

    Package npm Description
    explorer-app @memberjunction/ng-explorer-app Complete branded entry point for Explorer-style applications
    explorer-core @memberjunction/ng-explorer-core Core Explorer framework: application shell, routing, resource containers, and navigation
    explorer-modules @memberjunction/ng-explorer-modules Consolidated Explorer NgModule bundle that re-exports all Explorer feature modules
    base-application @memberjunction/ng-base-application BaseApplication class system for app-centric navigation
    auth-services @memberjunction/ng-auth-services Authentication services with Auth0, MSAL, Okta, Cognito, and WorkOS provider support
    shared @memberjunction/ng-shared Shared Explorer utilities, base components, services, and events used across Explorer packages
    workspace-initializer @memberjunction/ng-workspace-initializer Workspace initialization service and components for bootstrapping the Explorer environment

    Forms & Entity Editing

    Package npm Description
    base-forms @memberjunction/ng-base-forms Base form components, field rendering, and validation framework
    core-entity-forms @memberjunction/ng-core-entity-forms Auto-generated and custom entity forms with dynamic form loading and registration
    entity-form-dialog @memberjunction/ng-entity-form-dialog Modal dialog for displaying and editing any entity record
    Data Grids & Lists
    Package npm Description
    list-detail-grid @memberjunction/ng-list-detail-grid Master-detail grid for displaying dynamic and saved list details
    simple-record-list @memberjunction/ng-simple-record-list Lightweight component for displaying, editing, creating, and deleting records in any entity

    Dashboards

    Package npm Description
    dashboards @memberjunction/ng-dashboards Dashboard components including AI model management, Entity Admin ERD, and Actions configuration

    Utility & Navigation

    Package npm Description
    link-directives @memberjunction/ng-link-directives Directives for turning elements into email, web, or record links
    entity-permissions @memberjunction/ng-entity-permissions Components for displaying and editing entity-level permissions
    explorer-settings @memberjunction/ng-explorer-settings Reusable components for the Explorer settings section
    record-changes @memberjunction/ng-record-changes Change-tracking dialog with diff visualization for individual records

    Reusable Angular components and services shared across MemberJunction applications (67 packages).

    Core & Base Types

    Package npm Description
    base-types @memberjunction/ng-base-types Simple types that are used across many generic Angular UI components for coordination
    shared @memberjunction/ng-shared-generic Utility services and reusable elements used in any Angular application
    container-directives @memberjunction/ng-container-directives Fill Container for auto-resizing and plain container directives for element identification/binding
    Testing @memberjunction/ng-testing Testing components and utilities for Angular applications

    AI & Chat

    Package npm Description
    chat @memberjunction/ng-chat Reusable chat component for AI or peer-to-peer chat applications
    conversations @memberjunction/ng-conversations Conversation, collection, and artifact management components
    agents @memberjunction/ng-agents Reusable components for AI Agent management including permissions panel, dialog, and slideover
    ai-test-harness @memberjunction/ng-ai-test-harness Reusable component for testing AI agents and prompts with beautiful UX

    Entity & Data

    Package npm Description
    entity-viewer @memberjunction/ng-entity-viewer Components for viewing entity data in multiple formats (grid, cards) with filtering, selection, and shared data management
    entity-communication @memberjunction/ng-entity-communications Components to allow a user to select templates, preview messages, and send them
    entity-relationship-diagram @memberjunction/ng-entity-relationship-diagram Entity Relationship Diagram (ERD) component for visualizing entity relationships using D3.js force-directed graphs
    data-context @memberjunction/ng-data-context Component and pop-up window to display and edit the contents of a data context
    deep-diff @memberjunction/ng-deep-diff Component to display the differences between two objects, using the non-visual functionality from @memberjunction/global
    record-selector @memberjunction/ng-record-selector Components to allow a user to select/deselect items from a possible set
    find-record @memberjunction/ng-find-record Component to allow a user to find a single record in any entity
    join-grid @memberjunction/ng-join-grid Grid component for displaying/editing the relationship between two entities (e.g., Users + Roles in a single grid)

    Actions & Workflows

    Package npm Description
    actions @memberjunction/ng-actions Reusable components for testing and running actions with MJ UI components
    action-gallery @memberjunction/ng-action-gallery Filterable gallery component for browsing and selecting actions
    flow-editor @memberjunction/ng-flow-editor Generic visual flow editor component powered by Foblex Flow, with an agent-specific Flow Agent Editor
    tasks @memberjunction/ng-tasks Components for task visualization and management with Gantt chart support

    Query & Reporting

    | Package | npm | Description | |---------|-----|-------------|| query-viewer | @memberjunction/ng-query-viewer | Components for viewing and executing stored queries with parameter input, interactive results grid, and entity linking | | filter-builder | @memberjunction/ng-filter-builder | Modern, intuitive filter builder for creating complex boolean filter expressions with portable JSON format |

    Dashboard & Layout

    Package npm Description
    dashboard-viewer @memberjunction/ng-dashboard-viewer Components for metadata-driven dashboards with Golden Layout panels, supporting views, queries, artifacts, and custom content
    tab-strip @memberjunction/ng-tabstrip Simple tab strip component used in the MJ Explorer app and reusable anywhere else
    timeline @memberjunction/ng-timeline Responsive timeline component; works with MemberJunction entities or plain JavaScript objects with no external dependencies
    trees @memberjunction/ng-trees Tree and tree-dropdown components for hierarchical entity selection
    markdown @memberjunction/ng-markdown Lightweight markdown component with Prism.js highlighting, Mermaid diagrams, and extensible features
    notifications @memberjunction/ng-notifications Simple library for displaying user notifications

    Credentials & Permissions

    Package npm Description
    credentials @memberjunction/ng-credentials Components for credential management -- panels and dialogs for creating and editing credentials
    resource-permissions @memberjunction/ng-resource-permissions Generic components for displaying/editing permissions for a resource

    UI Utilities

    Package npm Description
    ui-components @memberjunction/ng-ui-components Reusable standalone UI components (buttons, dialogs, windows, dropdowns, inputs, and more)
    generic-dialog @memberjunction/ng-generic-dialog Component for a generic dialog
    code-editor @memberjunction/ng-code-editor Angular code editor component
    file-storage @memberjunction/ng-file-storage Components for managing files and related operations
    export-service @memberjunction/ng-export-service Export service and dialog for exporting data to Excel, CSV, and JSON
    list-management @memberjunction/ng-list-management Components for managing entity list membership with responsive UI
    react @memberjunction/ng-react Angular components for hosting React components in MemberJunction applications
    user-avatar @memberjunction/ng-user-avatar User Avatar Service -- manages user avatar synchronization from auth providers and avatar operations
    versions @memberjunction/ng-versions Version History Components -- label creation, detail viewing, and slide panel

    Server-side API key authorization with hierarchical scopes and pattern-based access control (2 packages).

    Package npm Description
    Base @memberjunction/api-keys-base Metadata caching for API scopes, applications, and key bindings (client or server)
    Engine @memberjunction/api-keys Server-side authorization engine with hierarchical scopes and application-level restrictions

    Multi-channel messaging -- message composition, delivery, and entity-level integration (11 packages).

    Package npm Description
    base-types @memberjunction/communication-types Core interfaces, base provider abstract class, message/recipient types, and template integration types
    engine @memberjunction/communication-engine Main communication engine -- provider management, template rendering, message orchestration, and batch processing
    entity-comm-base @memberjunction/entity-communications-base Base types for client/server use with the Entity Communications Engine
    entity-comm-client @memberjunction/entity-communications-client Client-side GraphQL integration for entity communications and template preview
    entity-comm-server @memberjunction/entity-communications-server Server-side bridge between the MJ entities framework and the communication framework
    notifications @memberjunction/notifications Unified notification system with multi-channel delivery via the communication engine

    Email and SMS delivery provider implementations.

    Package npm Description
    gmail @memberjunction/communication-gmail Gmail/Google Suite provider for MemberJunction Communication framework
    MSGraph @memberjunction/communication-ms-graph Microsoft Graph provider for the MJ Communication framework
    sendgrid @memberjunction/communication-sendgrid SendGrid provider for the MJ Communication framework
    twilio @memberjunction/communication-twilio Twilio provider for MemberJunction Communication framework

    Secure credential management (1 package).

    Package npm Description
    Engine @memberjunction/credentials Credential Engine - secure credential management with caching, encryption, and audit logging

    React component infrastructure for the MemberJunction platform (4 packages).

    Package npm Description
    runtime @memberjunction/react-runtime Platform-agnostic component runtime with Babel compilation, registry, and error boundaries
    test-harness @memberjunction/react-test-harness Playwright-based test harness for validating React components

    Distributed scheduled-jobs system with cron-based scheduling and plugin-based execution (4 packages).

    Package npm Description
    base-types @memberjunction/scheduling-base-types Core type definitions and interfaces for the scheduled jobs system (zero heavy dependencies)
    base-engine @memberjunction/scheduling-engine-base Metadata caching layer and adaptive polling interval calculation
    engine @memberjunction/scheduling-engine Server-side execution engine with distributed locking and driver-based job execution
    actions @memberjunction/scheduling-actions MJ Actions for programmatic job management (query, create, update, delete, execute, statistics)

    Extensible templating engine with AI-powered content generation (2 packages).

    Package npm Description
    base-types @memberjunction/templates-base-types Core types, base classes, and metadata management for client/server use
    engine @memberjunction/templates Template rendering engine with Nunjucks integration, AI prompts, and template embedding

    Metadata-driven testing framework supporting agent evals and multi-oracle evaluation (3 packages).

    Package npm Description
    EngineBase @memberjunction/testing-engine-base Metadata cache for test types, suites, and tests (UI-safe, no execution logic)
    Engine @memberjunction/testing-engine Core test execution and evaluation engine supporting multiple test types
    CLI @memberjunction/testing-cli Command-line interface for test execution and management

    Packages at the top level of the packages/ directory, not part of a multi-package group.

    Package npm Description
    MJGlobal @memberjunction/global Global class factory and event system -- required by all other MJ components
    MJCore @memberjunction/core Core metadata engine, entity framework, and utilities
    MJCoreEntities @memberjunction/core-entities Entity subclasses for the MJ metadata layer (core schema)
    MJCoreEntitiesServer @memberjunction/core-entities-server Server-only entity subclasses for the MJ metadata layer
    Config @memberjunction/config Central configuration with default configs and merge utilities
    Package npm Description
    SQLServerDataProvider @memberjunction/sqlserver-dataprovider SQL Server data provider
    GraphQLDataProvider @memberjunction/graphql-dataprovider GraphQL client data provider
    MJDataContext @memberjunction/data-context Runtime data context loading and cross-tier interaction types
    MJDataContextServer @memberjunction/data-context-server Server-side data context implementation with raw SQL support
    MJStorage @memberjunction/storage Cloud storage provider interface for server-side API integration
    Package npm Description
    MJServer @memberjunction/server GraphQL API access to the MemberJunction data store
    ServerBootstrap @memberjunction/server-bootstrap Server initialization logic and class registration manifests
    ServerBootstrapLite @memberjunction/server-bootstrap-lite Lightweight server bootstrap without ESM-incompatible dependencies
    MJAPI mj_api MemberJunction API server application
    Package npm Description
    CodeGenLib @memberjunction/codegen-lib Reusable code generation library for the MemberJunction platform
    MJCodeGenAPI mj_codegen_api API engine for MemberJunction CodeGen
    GeneratedEntities mj_generatedentities Auto-generated entity subclasses maintained by CodeGen
    GeneratedActions mj_generatedactions Auto-generated action subclasses maintained by CodeGen
    Package npm Description
    MJExplorer mj_explorer MemberJunction Explorer UI (Angular)
    MJCLI @memberjunction/cli MemberJunction command-line tools
    AngularElements mj_angular_elements_demo Angular Elements demo application
    Package npm Description
    ComponentRegistry @memberjunction/component-registry-server Component registry server API implementation
    ComponentRegistryClientSDK @memberjunction/component-registry-client-sdk Component registry client SDK
    ContentAutotagging @memberjunction/content-autotagging Content autotagging application
    DBAutoDoc @memberjunction/db-auto-doc AI-powered database documentation generator for SQL Server, MySQL, and PostgreSQL
    DocUtils @memberjunction/doc-utils Dynamic retrieval and caching of MJ object model documentation
    Encryption @memberjunction/encryption Field-level AES-256-GCM/CBC encryption with pluggable key sources
    ExternalChangeDetection @memberjunction/external-change-detection Detection of entity changes made by external systems
    InteractiveComponents @memberjunction/interactive-component-types Type specifications for MJ interactive UI components
    MetadataSync @memberjunction/metadata-sync Metadata synchronization CLI tool
    MJExportEngine @memberjunction/export-engine Export engine for Excel, CSV, and JSON with sampling and formatting
    MJQueue @memberjunction/queue Server-side queue management
    QueryGen @memberjunction/query-gen AI-powered SQL query template generation with automatic testing and refinement
    SkipTypes @memberjunction/skip-types Shared types for the Skip AI Assistant used across MJAPI, Skip API, and Explorer
    VersionHistory @memberjunction/version-history Label-based versioning, dependency-graph snapshots, cross-entity diffs, and point-in-time restore

    Curious how big the codebase is? Lines-of-code snapshots by language — with trend charts going back to the repo's first commit — live in stats/. To record a fresh snapshot, run node stats/repo-stats.mjs (requires cloc).


    Documentation · Issues · Discussions · Support

    Built with TypeScript · Angular 21 · SQL Server · Open source under ISC License