MetaForge is integrated software for data transformation, integration, and visualization. It supports a wide variety of data sources — relational databases, NoSQL databases, big data engines, message queues and file systems — and lets you manage multiple data sources, query and transform data, build datasets, and create charts and monitoring views.
- Data source management — connect, test and manage 50+ data sources from a single console
- SQL query console — IDE-style editor with syntax highlighting, formatting, execution history and export
- Datasets — build reusable datasets from tables or ad-hoc queries, preview data and define column metadata
- Visualization — drag-and-drop dashboards with tables, pies and more chart types
- Reports — schedule and share reports
- Workflows — chain data jobs into repeatable workflows
- File storage — read and write files through Aliyun OSS, Amazon S3, HDFS, local storage and more
- Notifications — DingTalk, email and other channels for job and system events
- AI assistant — chat with your data through configured AI providers
- Plugin architecture — every connector, converter and storage backend is a hot-loadable plugin
- Administration — users, roles, menus and runtime configuration with fine-grained permissions
| Dependency | Version |
|---|---|
| JDK | 21 |
| Maven | 3.9+ (wrapper ./mvnw included) |
| Node.js | 20 |
| pnpm | 9.13.2 |
Must-read for users: be sure to execute the following command after cloning the code locally
cp configure/git-hook/* .git/hooks
chmod 700 .git/hooks/*Run the main class org.devlive.metaforge.server.MetaForge (module core/metaforge-server) from your IDE.
The server starts on http://localhost:9096. On first launch the setup wizard guides you through
selecting the metadata database (embedded H2 by default, or MySQL / PostgreSQL / SQL Server / Oracle) and creating the
administrator account.
pnpm install
pnpm --filter metaforge-web devThe web console starts on http://localhost:3001 and proxies API calls to the backend.
# Frontend
pnpm --filter metaforge-web build
# Backend + distribution package (the server serves the built frontend
# from core/metaforge-web/dist; the tarball lands in dist/)
./mvnw -T1C clean package -DskipTestsdocker pull devliveorg/metaforge:latest
docker run -d --name metaforge -p 9096:9096 devliveorg/metaforge:latestOr unpack the distribution built locally (dist/metaforge-server-2026.0.0-bin.tar.gz) and run bin/startup.sh.
metaforge
├── client # Command line client
├── configure # Default configuration and plugin manifests
├── core
│ ├── metaforge-captcha # Captcha generation
│ ├── metaforge-common # Shared utilities and enums
│ ├── metaforge-condor # Scheduling integration
│ ├── metaforge-server # Spring Boot server (REST API entry point)
│ ├── metaforge-service # Domain services and persistence
│ ├── metaforge-security # Security configuration
│ ├── metaforge-sql # SQL statement builders
│ ├── metaforge-spi # Plugin SPI contracts
│ ├── metaforge-web # Vue 3 + Tailwind web console
├── convert # Data converters (JSON, CSV, XML, ...)
├── driver # Database drivers (Redis, MongoDB, ...)
├── executor # Execution engines
├── fs # File storage plugins (OSS, S3, local, ...)
├── lib # Shared libraries (HTTP client, logging, shell)
├── notify # Notification channels (DingTalk, ...)
├── parser # SQL parsers (MySQL, Trino, ...)
├── plugin # Data source plugins (50+ connectors)
├── scheduler # Job scheduling
└── shaded # Shaded third-party integrations
MetaForge can query data from any SQL-speaking datastore or data engine (ClickHouse, MySQL, Presto and more).
Here are some of the major database solutions that are supported:
Extended documentation for MetaForge
Please visit Issues 950
