Unify your data. Add intelligence. Ship faster.
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' })
});
|
|
|
|
# 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 4200Prerequisites: 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 175 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 startupSecurity: Auth0 + Azure AD (MSAL) authentication, 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.mdfor 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 (13 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 (42 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 (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 |
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 |
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 (61 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 (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 |
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 |
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 (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 |
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 (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 |
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 |
Documentation · Issues · Discussions · Support
Built with TypeScript · Angular 21 · SQL Server · Open source under ISC License