Skip to content

What is MemberJunction?

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

Terminal window
# 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<br/>Angular 21 UI"]
        CLI["MJCLI<br/>Command Line"]
        MCP["MCP Clients<br/>Claude Desktop, Cursor"]
    end

    subgraph API["API Layer"]
        GQL["GraphQL API<br/>@memberjunction/server"]
        MCPS["MCP Server"]
        A2A["A2A Server"]
    end

    subgraph Core["Core Engine"]
        META["Metadata Engine<br/>@memberjunction/core"]
        ENT["Entity Framework<br/>Typed classes, validation, audit"]
        ACT["Actions Engine<br/>Workflows, scheduling"]
    end

    subgraph AI["AI Layer"]
        AIE["AI Engine<br/>Provider routing"]
        AGT["Agent Framework<br/>Autonomous workflows"]
        VEC["Vectors<br/>Embeddings, search, sync"]
        PRV["15+ Providers<br/>OpenAI, Anthropic, Google..."]
    end

    subgraph Data["Data Layer"]
        SQL["SQL Server<br/>Data Provider"]
        COMM["Communication<br/>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:

ProviderCapabilitiesPackage
OpenAIGPT-4o, o1/o3 reasoning, DALL-E, Whisper, embeddings@memberjunction/ai-openai
AnthropicClaude 4 family, streaming, prompt caching, extended thinking@memberjunction/ai-anthropic
Google GeminiGemini Pro/Flash, native multimodal, long context@memberjunction/ai-gemini
Azure OpenAIEnterprise Azure-hosted models@memberjunction/ai-azure
Amazon BedrockMulti-model access via AWS@memberjunction/ai-bedrock
Google VertexVertex AI platform integration@memberjunction/ai-vertex
MistralOpen-source and commercial models, embeddings@memberjunction/ai-mistral
GroqUltra-fast LPU inference@memberjunction/ai-groq
OllamaLocal inference, no API keys@memberjunction/ai-ollama
+ 6 moreCerebras, Fireworks, OpenRouter, LM Studio, xAI, CohereAll 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

Terminal window
# 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).

PackagenpmDescription
Engine@memberjunction/actionsMain library for MemberJunction Actions. This library is only intended to be imported on the server side.
Base@memberjunction/actions-baseBase classes and interfaces for the Actions framework. Used on both server and network nodes.
CoreActions@memberjunction/core-actionsLibrary of generated and custom actions for the core MemberJunction framework, maintained by MemberJunction.
CodeExecution@memberjunction/code-executionSandboxed code execution service for MemberJunction actions and agents.
PackagenpmDescription
ApolloEnrichment@memberjunction/actions-apolloAction classes that wrap the Apollo.io data enrichment API for contacts and accounts.
ContentAutotag@memberjunction/actions-content-autotagAction classes that execute the content autotagging and vectorization actions.
PackagenpmDescription
ScheduledActions@memberjunction/scheduled-actionsAllows system administrators to schedule any MemberJunction action for recurring or one-time future execution.
ScheduledActionsServer@memberjunction/scheduled-actions-serverSimple application server that can be called via URL to invoke Scheduled Actions.

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

PackagenpmDescription
Accounting@memberjunction/actions-bizapps-accountingAccounting system integration actions (QuickBooks, NetSuite, Sage, Dynamics)
CRM@memberjunction/actions-bizapps-crmCRM system integration actions (Salesforce, HubSpot, Dynamics, Pipedrive)
FormBuilders@memberjunction/actions-bizapps-formbuildersForm builder and survey platform integration actions (Typeform, Google Forms, Jotform)
LMS@memberjunction/actions-bizapps-lmsLearning management system integration actions (Moodle, Canvas, Blackboard, LearnDash)
Social@memberjunction/actions-bizapps-socialSocial 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).

PackagenpmDescription
Core@memberjunction/aiBase AI abstractions and interfaces for LLMs, embeddings, audio/video generation; zero MJ dependencies beyond @memberjunction/global
CorePlus@memberjunction/ai-core-plusExtended AI components that require MJ entity concepts; usable on both server and client
BaseAIEngine@memberjunction/ai-engine-baseBase AI engine with extended types and data caching; usable anywhere
Engine@memberjunction/aiengineAI orchestration engine handling automatic execution of Entity AI Actions using AI Models
Prompts@memberjunction/ai-promptsPrompt execution engine with hierarchical template composition, system placeholders, parallel execution, and output validation
Agents@memberjunction/ai-agentsAI agent execution and management with metadata-driven agent types and sub-agent delegation
Reranker@memberjunction/ai-rerankerAI reranker service and LLM-based reranking for two-stage retrieval
PackagenpmDescription
A2AServer@memberjunction/a2aserverAgent-to-Agent (A2A) protocol server for AI agent interoperability via Google’s A2A protocol
MCPServer@memberjunction/ai-mcp-serverModel Context Protocol (MCP) server providing entity CRUD and AI agent execution to MCP-compatible clients
MCPClient@memberjunction/ai-mcp-clientMCP client implementation for consuming external MCP servers
PackagenpmDescription
AICLI@memberjunction/ai-cliAI 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

PackagenpmDescription
Anthropic@memberjunction/ai-anthropicWrapper for Anthropic AI Models (Claude)
Gemini@memberjunction/ai-geminiWrapper for Google Gemini AI Models
Groq@memberjunction/ai-groqWrapper for Groq AI LPU inference engine
Mistral@memberjunction/ai-mistralWrapper for Mistral AI Models
OpenAI@memberjunction/ai-openaiWrapper for OpenAI AI Models (GPT-4, etc.)
xAI@memberjunction/ai-xaiWrapper for xAI models (Grok)

Cloud Platform Providers

PackagenpmDescription
Azure@memberjunction/ai-azureAzure AI Provider for MemberJunction
Bedrock@memberjunction/ai-bedrockWrapper for Amazon Bedrock AI Models
Vertex@memberjunction/ai-vertexWrapper for Google Vertex AI Models

Inference Routers and Aggregators

PackagenpmDescription
Fireworks@memberjunction/ai-fireworksWrapper for Fireworks.ai AI Models
OpenRouter@memberjunction/ai-openrouterWrapper for OpenRouter AI inference services

Local Inference

PackagenpmDescription
LMStudio@memberjunction/ai-lmstudioWrapper for LM Studio AI - Local Inference Engine
Ollama@memberjunction/ai-ollamaWrapper for Ollama - Local Inference

Specialized Providers

PackagenpmDescription
BettyBot@memberjunction/ai-betty-botWrapper for Betty Bot conversational AI
BlackForestLabs@memberjunction/ai-blackforestlabsWrapper for Black Forest Labs FLUX Image Generation Models
Cerebras@memberjunction/ai-cerebrasWrapper for Cerebras AI inference engine
Cohere@memberjunction/ai-cohereCohere AI Provider - Semantic reranking using Cohere’s Rerank API
ElevenLabs@memberjunction/ai-elevenlabsWrapper for ElevenLabs Audio Generation (TTS)
HeyGen@memberjunction/ai-heygenWrapper for HeyGen Video Generation
LocalEmbeddings@memberjunction/ai-local-embeddingsLocal Embeddings Models via Xenova/Transformers

Vector Database Providers

PackagenpmDescription
Vectors-Pinecone@memberjunction/ai-vectors-pineconePinecone Implementation for AI Vectors

Recommendation Providers

PackagenpmDescription
Recommendations-Rex@memberjunction/ai-recommendations-rexRecommendations Provider for rasa.io Rex engine

Meta / Utility

PackagenpmDescription
Bundle@memberjunction/ai-provider-bundleLoads all standard AI providers to prevent tree-shaking

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

PackagenpmDescription
Core@memberjunction/ai-vectorsCore vector operations and abstractions for entity vectorization
Database@memberjunction/ai-vectordbVector database abstraction layer (index management, query operations)
Dupe@memberjunction/ai-vector-dupeDuplicate record detection using vector similarity
Memory@memberjunction/ai-vectors-memoryIn-memory vector utilities
Sync@memberjunction/ai-vector-syncSynchronization between MemberJunction entities and vector databases

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

PackagenpmDescription
core@memberjunction/ai-agent-managerCore interfaces, types, and the AgentSpec class for agent metadata management
actions@memberjunction/ai-agent-manager-actionsAgent management actions (create, update, list, deactivate, export, etc.)

Provider-agnostic recommendation engine framework (1 package).

PackagenpmDescription
Engine@memberjunction/ai-recommendationsCore 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).

PackagenpmDescription
Bootstrap@memberjunction/ng-bootstrapAngular bootstrap and class registration manifest

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

Core / Shell

PackagenpmDescription
explorer-app@memberjunction/ng-explorer-appComplete branded entry point for Explorer-style applications
explorer-core@memberjunction/ng-explorer-coreCore Explorer framework: application shell, routing, resource containers, and navigation
explorer-modules@memberjunction/ng-explorer-modulesConsolidated Explorer NgModule bundle that re-exports all Explorer feature modules
base-application@memberjunction/ng-base-applicationBaseApplication class system for app-centric navigation
auth-services@memberjunction/ng-auth-servicesAuthentication services with Auth0, MSAL, Okta, Cognito, and WorkOS provider support
shared@memberjunction/ng-sharedShared Explorer utilities, base components, services, and events used across Explorer packages
workspace-initializer@memberjunction/ng-workspace-initializerWorkspace initialization service and components for bootstrapping the Explorer environment

Forms & Entity Editing

PackagenpmDescription
base-forms@memberjunction/ng-base-formsBase form components, field rendering, and validation framework
core-entity-forms@memberjunction/ng-core-entity-formsAuto-generated and custom entity forms with dynamic form loading and registration
entity-form-dialog@memberjunction/ng-entity-form-dialogModal dialog for displaying and editing any entity record
Data Grids & Lists
PackagenpmDescription
list-detail-grid@memberjunction/ng-list-detail-gridMaster-detail grid for displaying dynamic and saved list details
simple-record-list@memberjunction/ng-simple-record-listLightweight component for displaying, editing, creating, and deleting records in any entity

Dashboards

PackagenpmDescription
dashboards@memberjunction/ng-dashboardsDashboard components including AI model management, Entity Admin ERD, and Actions configuration

Utility & Navigation

PackagenpmDescription
link-directives@memberjunction/ng-link-directivesDirectives for turning elements into email, web, or record links
entity-permissions@memberjunction/ng-entity-permissionsComponents for displaying and editing entity-level permissions
explorer-settings@memberjunction/ng-explorer-settingsReusable components for the Explorer settings section
record-changes@memberjunction/ng-record-changesChange-tracking dialog with diff visualization for individual records

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

Core & Base Types

PackagenpmDescription
base-types@memberjunction/ng-base-typesSimple types that are used across many generic Angular UI components for coordination
shared@memberjunction/ng-shared-genericUtility services and reusable elements used in any Angular application
container-directives@memberjunction/ng-container-directivesFill Container for auto-resizing and plain container directives for element identification/binding
Testing@memberjunction/ng-testingTesting components and utilities for Angular applications

AI & Chat

PackagenpmDescription
chat@memberjunction/ng-chatReusable chat component for AI or peer-to-peer chat applications
conversations@memberjunction/ng-conversationsConversation, collection, and artifact management components
agents@memberjunction/ng-agentsReusable components for AI Agent management including permissions panel, dialog, and slideover
ai-test-harness@memberjunction/ng-ai-test-harnessReusable component for testing AI agents and prompts with beautiful UXartifacts@memberjunction/ng-artifactsArtifact viewer plugin system for rendering different artifact types (JSON, Code, Markdown, HTML, SVG, Components)

Entity & Data

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

Actions & Workflows

PackagenpmDescription
actions@memberjunction/ng-actionsReusable components for testing and running actions with MJ UI components
action-gallery@memberjunction/ng-action-galleryFilterable gallery component for browsing and selecting actions
flow-editor@memberjunction/ng-flow-editorGeneric visual flow editor component powered by Foblex Flow, with an agent-specific Flow Agent Editor
tasks@memberjunction/ng-tasksComponents 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

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

Credentials & Permissions

PackagenpmDescription
credentials@memberjunction/ng-credentialsComponents for credential management — panels and dialogs for creating and editing credentials
resource-permissions@memberjunction/ng-resource-permissionsGeneric components for displaying/editing permissions for a resource

UI Utilities

PackagenpmDescription
ui-components@memberjunction/ng-ui-componentsReusable standalone UI components (buttons, dialogs, windows, dropdowns, inputs, and more)
generic-dialog@memberjunction/ng-generic-dialogComponent for a generic dialog
code-editor@memberjunction/ng-code-editorAngular code editor component
file-storage@memberjunction/ng-file-storageComponents for managing files and related operations
export-service@memberjunction/ng-export-serviceExport service and dialog for exporting data to Excel, CSV, and JSON
list-management@memberjunction/ng-list-managementComponents for managing entity list membership with responsive UI
react@memberjunction/ng-reactAngular components for hosting React components in MemberJunction applications
user-avatar@memberjunction/ng-user-avatarUser Avatar Service — manages user avatar synchronization from auth providers and avatar operations
versions@memberjunction/ng-versionsVersion History Components — label creation, detail viewing, and slide panel

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

PackagenpmDescription
Base@memberjunction/api-keys-baseMetadata caching for API scopes, applications, and key bindings (client or server)
Engine@memberjunction/api-keysServer-side authorization engine with hierarchical scopes and application-level restrictions

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

PackagenpmDescription
base-types@memberjunction/communication-typesCore interfaces, base provider abstract class, message/recipient types, and template integration types
engine@memberjunction/communication-engineMain communication engine — provider management, template rendering, message orchestration, and batch processing
entity-comm-base@memberjunction/entity-communications-baseBase types for client/server use with the Entity Communications Engine
entity-comm-client@memberjunction/entity-communications-clientClient-side GraphQL integration for entity communications and template preview
entity-comm-server@memberjunction/entity-communications-serverServer-side bridge between the MJ entities framework and the communication framework
notifications@memberjunction/notificationsUnified notification system with multi-channel delivery via the communication engine

Email and SMS delivery provider implementations.

PackagenpmDescription
gmail@memberjunction/communication-gmailGmail/Google Suite provider for MemberJunction Communication framework
MSGraph@memberjunction/communication-ms-graphMicrosoft Graph provider for the MJ Communication framework
sendgrid@memberjunction/communication-sendgridSendGrid provider for the MJ Communication framework
twilio@memberjunction/communication-twilioTwilio provider for MemberJunction Communication framework

Secure credential management (1 package).

PackagenpmDescription
Engine@memberjunction/credentialsCredential Engine - secure credential management with caching, encryption, and audit logging

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

PackagenpmDescription
runtime@memberjunction/react-runtimePlatform-agnostic component runtime with Babel compilation, registry, and error boundaries
test-harness@memberjunction/react-test-harnessPlaywright-based test harness for validating React components

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

PackagenpmDescription
base-types@memberjunction/scheduling-base-typesCore type definitions and interfaces for the scheduled jobs system (zero heavy dependencies)
base-engine@memberjunction/scheduling-engine-baseMetadata caching layer and adaptive polling interval calculation
engine@memberjunction/scheduling-engineServer-side execution engine with distributed locking and driver-based job execution
actions@memberjunction/scheduling-actionsMJ Actions for programmatic job management (query, create, update, delete, execute, statistics)

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

PackagenpmDescription
base-types@memberjunction/templates-base-typesCore types, base classes, and metadata management for client/server use
engine@memberjunction/templatesTemplate rendering engine with Nunjucks integration, AI prompts, and template embedding

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

PackagenpmDescription
EngineBase@memberjunction/testing-engine-baseMetadata cache for test types, suites, and tests (UI-safe, no execution logic)
Engine@memberjunction/testing-engineCore test execution and evaluation engine supporting multiple test types
CLI@memberjunction/testing-cliCommand-line interface for test execution and management

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

PackagenpmDescription
MJGlobal@memberjunction/globalGlobal class factory and event system — required by all other MJ components
MJCore@memberjunction/coreCore metadata engine, entity framework, and utilities
MJCoreEntities@memberjunction/core-entitiesEntity subclasses for the MJ metadata layer (core schema)
MJCoreEntitiesServer@memberjunction/core-entities-serverServer-only entity subclasses for the MJ metadata layer
Config@memberjunction/configCentral configuration with default configs and merge utilities
PackagenpmDescription
SQLServerDataProvider@memberjunction/sqlserver-dataproviderSQL Server data provider
GraphQLDataProvider@memberjunction/graphql-dataproviderGraphQL client data provider
MJDataContext@memberjunction/data-contextRuntime data context loading and cross-tier interaction types
MJDataContextServer@memberjunction/data-context-serverServer-side data context implementation with raw SQL support
MJStorage@memberjunction/storageCloud storage provider interface for server-side API integration
PackagenpmDescription
MJServer@memberjunction/serverGraphQL API access to the MemberJunction data store
ServerBootstrap@memberjunction/server-bootstrapServer initialization logic and class registration manifests
ServerBootstrapLite@memberjunction/server-bootstrap-liteLightweight server bootstrap without ESM-incompatible dependencies
MJAPImj_apiMemberJunction API server application
PackagenpmDescription
CodeGenLib@memberjunction/codegen-libReusable code generation library for the MemberJunction platform
MJCodeGenAPImj_codegen_apiAPI engine for MemberJunction CodeGen
GeneratedEntitiesmj_generatedentitiesAuto-generated entity subclasses maintained by CodeGen
GeneratedActionsmj_generatedactionsAuto-generated action subclasses maintained by CodeGen
PackagenpmDescription
MJExplorermj_explorerMemberJunction Explorer UI (Angular)
MJCLI@memberjunction/cliMemberJunction command-line tools
AngularElementsmj_angular_elements_demoAngular Elements demo application
PackagenpmDescription
ComponentRegistry@memberjunction/component-registry-serverComponent registry server API implementation
ComponentRegistryClientSDK@memberjunction/component-registry-client-sdkComponent registry client SDK
ContentAutotagging@memberjunction/content-autotaggingContent autotagging application
DBAutoDoc@memberjunction/db-auto-docAI-powered database documentation generator for SQL Server, MySQL, and PostgreSQL
DocUtils@memberjunction/doc-utilsDynamic retrieval and caching of MJ object model documentation
Encryption@memberjunction/encryptionField-level AES-256-GCM/CBC encryption with pluggable key sources
ExternalChangeDetection@memberjunction/external-change-detectionDetection of entity changes made by external systems
InteractiveComponents@memberjunction/interactive-component-typesType specifications for MJ interactive UI components
MetadataSync@memberjunction/metadata-syncMetadata synchronization CLI tool
MJExportEngine@memberjunction/export-engineExport engine for Excel, CSV, and JSON with sampling and formatting
MJQueue@memberjunction/queueServer-side queue management
QueryGen@memberjunction/query-genAI-powered SQL query template generation with automatic testing and refinement
SkipTypes@memberjunction/skip-typesShared types for the Skip AI Assistant used across MJAPI, Skip API, and Explorer
VersionHistory@memberjunction/version-historyLabel-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