# Integration reference

> Technical entry points for integrating Maru into a DAW, web app, online service, controller, device or agent product: embedding, generation, sign-in, operations API, plug-in builds and their boundaries.

Canonical: https://maru.audio/docs/integrate-maru
Documentation index: https://maru.audio/llms.txt

This page lists the technical surfaces a partner product integrates with and
what each boundary leaves to the host. For choosing an engagement, scoping a
pilot and commercial terms, see [Maru for teams and organizations](https://maru.audio/help/enterprise.md)
and [DAWs and audio software makers](https://maru.audio/help/daw-and-audio-software-makers.md).

## Integration surfaces

| Integration | Entry point | Your product supplies | Guide |
| --- | --- | --- | --- |
| Load a released plug-in | Standard VST3, AU, CLAP or standalone release | Plug-in scanning, audio and MIDI routing, state and automation | [Native plugins](https://maru.audio/docs/native-plugins.md) |
| Embed a module in a web app | Module player, React or imperative host | Audio context, transport, inputs, assets and lifecycle | [Host a module in React](https://maru.audio/docs/module-player-react.md) |
| Connect several modules | Rack host over declared ports | Rack layout and saved configuration | [Racks](https://maru.audio/racks) |
| Generation from your server | `createMaruClient` from `maruaudio/api` | Token storage, request keys, result handling | [Add generative audio to your app](https://maru.audio/docs/generative-features.md) |
| Generation for signed-in users | Registered creator app, PKCE sign-in | Sign-in UI, consent hand-off, result loading | [Generate audio](https://maru.audio/docs/generate-audio.md), [Add Maru sign-in to your product](https://maru.audio/help/creator-apps.md) |
| Agent and script access | Hosted connector `https://maruaudio.com/mcp`; `POST /api/v1/ops/<name>` | Permission prompts and review of changes | [Use Maru from your agent](https://maru.audio/docs/agent-setup.md), [MCP tools](https://maru.audio/docs/mcp-tools.md) |
| Music theory computation | Symbolic library | Input and presentation | [Symbolic library](https://maru.audio/docs/symbolic-library.md) |
| Branded interfaces | UI kit controls and the face contract | Theme and layout | [Module UI](https://maru.audio/docs/ui.md) |
| Licensed distribution | Plug-in licensing in release builds | Listing and support | [Sell and share](https://maru.audio/docs/sell-and-share.md) |
| Hardware targets | Pedal and controller projects (early access) | Device, inputs and update path | [From module to hardware](https://maru.audio/docs/from-module-to-hardware.md) |

## Boundaries to design around

- **A module owns musical behavior; the host owns services.** Devices, files,
  sign-in and resource access stay in your host. A face never opens devices or
  produces audio.
- **Realtime code is restricted.** The audio callback allocates no memory,
  takes no lock and performs no I/O. Model inference and file access stay
  outside it.
- **Targets are qualified per module.** A browser demo does not establish a
  native or hardware target. Each release lists its formats.
- **Account access is scoped.** Signing in identifies a person; spending
  credits needs a separate `inference:run` grant. Creator-app grants do not
  open a person's whole library.
- **State must round-trip.** Test saved sessions, automation, preset recall,
  device changes and asset identity, not only playback.

## Licensing of the toolkit

The SDK, CLI and generated plug-in shells are not published under a general
open-source license. See [Licensing](https://maru.audio/docs/licensing.md) for current terms, and
[Choosing Maru](https://maru.audio/docs/choosing-maru.md) for a comparison with JUCE, Cmajor and
RNBO.
