An AI assistant with access to your whole API.
DjiniousLab ships an in-app AI agent, two CLIs, and an MCP server — so you, your CI, and external agents like Claude Code, OpenAI Codex, and Pi can drive the whole model→simulate→generate loop programmatically, behind the same approval gates the UI uses.
30+ tools. Not a chatbot — an executor.
A sidecar agent backed by your choice of LLM provider (keys encrypted at rest) that can do the work, not just describe it. It runs simulations, fits laws from data, and trains surrogates — then pauses and asks before every write or execution.
Run and observe
- Execute canvas runs and stream live scope data
- List and inspect notebooks, projects, and past runs
- Query model registries and block metadata
- Retrieve solver diagnostics and event logs
Analyze models
- DC-gain linearization for control-system design
- Symbolic regression to fit closed-form physical laws
- Matrix inversion and actuator sizing calculations
- Frequency-response and stability margin extraction
Augment with AI
- Train MLP surrogate blocks from simulation data
- Fit neural-ODE models against measured trajectories
- Auto-tune PID and state-feedback controllers
- Generate parameter-sweep reports as notebooks
Edit (approval-gated)
- Create and update notebooks and projects
- Add, wire, and configure canvas nodes and edges
- Install and version model-registry entries
- Every write and REPL call pauses for your approval
You stay in control.
Every write operation and every REPL execution is gated: the assistant proposes the action and waits for an explicit confirmation before it runs. Read-only inspection never requires approval — only mutations do.
Drive DjiniousLab from Claude Code, Codex, Pi — or any agent you like.
Your AI agents already live in your editor and terminal. Point them at DjiniousLab and they can model, simulate, sweep, and ship — through one of two first-class paths, sharing one revocable token family and the same approval gates as the UI.
Integrated MCP server
For any MCP-aware agent- Drop one djmcp_ token into your agent's MCP config — done
- Exposes the same 30+ tools the in-app assistant uses
- Works with Claude Code, Codex, Cursor, Pi, Gemini CLI, and more
- Per-agent tokens, scoped to your tenant and revocable any time
Dedicated CLI client (djl)
For shells, CI, and tool-calls- A single binary with full frontend parity — anything the SPA does
- Composable in shell scripts, CI pipelines, and agent tool-calls
- Streams runs, cell execution, and REPL sessions over the wire
- Authenticates with the same djmcp_ tokens as the MCP path
One token family, two entry points: the integrated MCP server and the dedicated djl CLI both speak to the same gateway with the same djmcp_ credentials — no bespoke integration, no second API to learn.
Anything the SPA can do, the terminal can do.
The djl binary mirrors the full SPA surface: projects, canvases (incl. node and edge editing), notebooks (incl. cell editing), and WebSocket-streamed runs, cell executions, and REPL sessions. Automate CI pipelines, wrap in shell scripts, or drive from any orchestrator.
- Projects & canvases — create, list, update, delete
- Node/edge editing — add, wire, parameterise blocks
- Notebooks — create cells, run, stream output via ndjson
- REPL — interactive and scripted execution modes
- Canvas builds — compile to FMI 3.0 .fmu or portable C/Rust
- Auth — login, mint MCP tokens, revoke sessions
$ djl login --gateway https://lab.acme.dev --mint
✓ authenticated vandrito@acme.dev (tenant: acme)
✓ minted djmcp_9e2b… (saved to ~/.djl/credentials)
$ djl canvas node add pid-motor --type Gain --param k=2.5
✓ added node gain-1 → pid-motor
$ djl canvas run pid-motor --tap speed --ndjson | jq .speed
0
42.7
81.3
247.9
$ djl notebook cell run lorenz --from-cell 3
▶ cell 3 … ✓ ok (14 ms)
▶ cell 4 … ✓ ok (203 ms)
$ djl canvas build pid-motor --target fmi3
✓ compiled pid-motor (42 blocks, 7 states)
✓ wrote pid-motor.fmu (FMI 3.0, 184 kB)$ djl mcp tokens mint --label "claude-code"
djmcp_7f3a… (scoped to tenant acme, revocable any time)
# Point any MCP-aware agent at the DjiniousLab MCP server
# with that token — same 30+ tools, identical approval gates.
#
# Example: Claude Code settings (~/.claude/settings.json)
# {
# "mcpServers": {
# "djinious": {
# "url": "https://lab.acme.dev/mcp",
# "headers": { "Authorization": "Bearer djmcp_7f3a…" }
# }
# }
# }
$ djl mcp tokens list
djmcp_7f3a… claude-code created 2026-06-01 last-used 2026-06-01
djmcp_2c9d… ci-pipeline created 2026-05-14 last-used 2026-05-31
$ djl mcp tokens revoke djmcp_2c9d…
✓ revokedPoint Claude Code, Codex, or Pi at DjiniousLab with one token.
Any MCP-aware agent — Claude Code, OpenAI Codex, Cursor, Pi, Gemini CLI, or your own orchestrator — authenticates with a single revocable djmcp_ bearer token and calls the same toolset the in-app assistant uses. One token family, zero custom integrations.
In-app assistant
Chat-driven, approval-gated, runs in the browser sidebar
djl CLI
Frontend-parity terminal interface; composable in shell scripts and CI
MCP server
One bearer token unlocks the full toolset for any MCP-aware agent
djinious — built for deploy and CI.
A second CLI ships alongside djl for deploy-time and CI tasks. Where djl mirrors the end-user SPA surface, djinious handles the operator layer: attestation, code generation, optimisation, and MATLAB migration.
Both CLIs accept the same djmcp_ bearer tokens, so a single credential store covers automated deploy pipelines, external AI agents, and interactive terminal sessions.
See the assistant work on your models.
We'll walk your team through a live session — simulation run, surrogate training, and code generation — all driven from the assistant and the CLI.