The open-source, AI-native data platform.
Unify your data. Add intelligence. Ship faster.
What is MemberJunction?
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: 175 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.
// 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' }) });
Key Capabilities
Metadata-Driven Core
|
AI-Native Platform
|
Communication & Automation
|
Developer Experience
|
Quick Start
# 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
Architecture
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 175 packages | packages/ overview
AI Providers
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)
Agent Framework
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
Deployment
# 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: Auth0 + Azure AD (MSAL) authentication, row-level security, field permissions, GraphQL query depth limiting, and complete audit logging.
Upgrading
- 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)
Contributing
We welcome contributions!
- GitHub Issues — Bug reports and feature requests
- Discussions — Questions and ideas
- Documentation — Full platform docs
- Development Guide — See
CLAUDE.mdfor coding standards, naming conventions, and architecture guidelines
License
MemberJunction is open source under the ISC License.
📦 Full Package Directory
Every package in the MemberJunction monorepo, organized by directory. Click any package to jump to its README.
Actions
Metadata-driven action framework for workflows, agents, and automation (13 packages).
Core
| 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. |
Integrations
| 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. |
Scheduling
| 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. |
Actions / BizApps
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
AI infrastructure -- model abstractions, provider implementations, vector operations, agent management, and supporting tools (42 packages).
Core 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 |
Protocol and Server Packages
| 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 |
CLI
| Package | npm | Description |
|---|---|---|
| AICLI | @memberjunction/ai-cli |
AI agent, prompt, and action execution CLI integrated with the main MJ CLI |
AI / Providers
LLM, embedding, cloud-platform, local-inference, and specialty AI provider implementations (23 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 |
AI / Vectors
Vector storage, search, and synchronization (5 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 |
AI / AgentManager
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.) |
AI / Recommendations
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
Angular UI framework -- the Bootstrap package, Explorer application components, and a comprehensive library of reusable generic components (61 packages).
| Package | npm | Description |
|---|---|---|
| Bootstrap | @memberjunction/ng-bootstrap |
Angular bootstrap and class registration manifest |
Angular / Explorer
The MJExplorer application -- MemberJunction's primary Angular-based UI for browsing, editing, and managing data (19 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 |
| kendo-modules | @memberjunction/ng-kendo-modules |
Consolidated Kendo UI NgModule bundle for shared Kendo component imports |
| base-application | @memberjunction/ng-base-application |
BaseApplication class system for app-centric navigation |
| auth-services | @memberjunction/ng-auth-services |
Authentication services with Auth0, MSAL, and Okta 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 |
| form-toolbar | @memberjunction/ng-form-toolbar |
Form action toolbar providing save, cancel, delete, and navigation controls |
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 |
Angular / Generic
Reusable Angular components and services shared across MemberJunction applications (41 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 |
| skip-chat | @memberjunction/ng-skip-chat |
DEPRECATED -- use @memberjunction/ng-conversations instead |
| artifacts | @memberjunction/ng-artifacts |
Artifact viewer plugin system for rendering different artifact types (JSON, Code, Markdown, HTML, SVG, Components) |
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 no Kendo dependencies |
| 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-grid | @memberjunction/ng-query-grid |
Grid to display any MemberJunction Query |
| 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 |
|---|---|---|
| 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 |
APIKeys
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 |
Communication
Multi-channel messaging -- message composition, delivery, and entity-level integration (10 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 |
Communication / Providers
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 |
Credentials
Secure credential management (1 package).
| Package | npm | Description |
|---|---|---|
| Engine | @memberjunction/credentials |
Credential Engine - secure credential management with caching, encryption, and audit logging |
React
React component infrastructure for the MemberJunction platform (2 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 |
Scheduling
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) |
Templates
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 |
TestingFramework
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 |
Standalone Packages
Packages at the top level of the packages/ directory, not part of a multi-package group.
Core Framework
| 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 |
Data Layer
| 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 |
Server
| 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 |
Code Generation and Tooling
| 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 |
Client Applications
| 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 |
Utilities
| 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 |
Documentation · Issues · Discussions · Support
Built with TypeScript · Angular 21 · SQL Server · Open source under ISC License