Bitwig Agent
An experimental Bitwig Controller Extension with Python MCP and CLI tools. Agents can inspect and control tracks, devices and MIDI clips, and author The Grid patches through structured tools. Your agent owns planning; this bridge provides bounded controls and observed results, not automatic GUI fallback.
Tested compatibility: native evidence is limited to Linux, Bitwig Studio 6.1.3 / Controller API 25. macOS, Windows and other Bitwig versions are unverified. Private Grid/modulator access additionally requires the exact mapped host-JAR SHA-256 and fails closed on a mismatch; do not bypass that gate. See verification and coverage limits.
Use a disposable project and keep backups. The extension listens on unauthenticated 127.0.0.1:61172: any local process able to connect can control Bitwig. Use a trusted local machine; never expose or forward this port to a network. Never blindly retry an uncertain mutation: a timeout may mean the edit happened. Targeting and completion safety applies to every write.
Quickstart
You need your own Bitwig Studio installation, Python 3.11+ and uv. The released wheel and extension need no Git checkout or JDK. The commands below use GitHub release assets, not a PyPI package.
1. Install
uv tool install "https://github.com/BANANASJIM/bitwig-agent/releases/download/v0.1.1/bitwig_agent-0.1.1-py3-none-any.whl"
bitwig-agent-install
The installer downloads the same-version BitwigAgent.bwextension and SHA256SUMS, verifies the extension checksum, and installs it in your Bitwig Extensions directory. Different existing bytes are backed up outside Bitwig's extension scan; identical bytes are left untouched. Custom locations, offline installation and troubleshooting.
Prefer this persistent install for an MCP client. Installation alternatives cover ephemeral uvx, offline assets and the local Arch package recipe. PyPI/AUR publication is separate from GitHub releases; the short index-based commands are not the current installation path.
2. Enable in Bitwig
Open Settings → Controllers → Add controller and choose vendor Bitwig Agent, model Local API bridge (controller name Bitwig Agent). No MIDI ports are needed. Enable it, open a disposable project, then check the connection:
bitwig-agent-rpc status
A successful status response from the running extension establishes connectivity—not successful editing, audio output or persistence. Connection failures report outcome: not_dispatched until the endpoint is available. If the controller is absent, check the install destination and restart Bitwig after installing/replacing the extension.
3. Connect your MCP client
bitwig-agent-install --mcp-config
Copy the printed JSON into your client's MCP server configuration, following that client's instructions, then reload/restart its MCP connection. This command only prints configuration; it does not install/download anything or edit your client settings. The generated configuration launches the installed Python environment by absolute path, avoiding GUI applications' often different PATH. The adapter uses stdio; the client starts it and connects it to the local extension.
examples/mcp-config.json is a minimal static alternative using the installed bitwig-agent command. Prefer generated configuration, especially for GUI clients. See connection troubleshooting.
Useful checks
bitwig-agent-install --version
bitwig-agent-rpc list
bitwig-agent-rpc describe notes.edit
bitwig-agent-rpc tracks.set --help
bitwig-agent-rpc status
Version, catalog, schema and help commands work offline; they do not demonstrate a Bitwig connection. Only the last command above contacts the extension. Running bitwig-agent manually starts a stdio server waiting for an MCP client, not a graphical application or a connection check.
Documentation
- Documentation index: choose an installation, operation, architecture or packaging guide.
- Installation: persistent uv tools, ephemeral uvx, local Arch package, offline/custom install and troubleshooting.
- Usage and safety: control bounds, targeting, unknown outcomes and the explicit Grid music recipe.
- Architecture: Python/Java interfaces, state ownership and why the bridge does not plan.
- Protocol: request/response schemas, limits and side effects.
- Verification: reproducible checks and unresolved native coverage; host-free checks are not native acceptance.
- Contributing and packaging: source setup, artifacts and release promotion.
- Portable agent skill: copyable Agent Skills instructions; not permission to operate your DAW.
- Security: local trust boundary and private vulnerability reporting.
License
Project code is MIT licensed. Gson is Apache-2.0; see third-party notices and its license. Bitwig Studio and its proprietary host JAR are separate dependencies and are not bundled.
Metadata
Release files for bitwig-agent 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bitwig_agent-0.1.1.tar.gz | 420.0 kB | Without provenance | Details for bitwig_agent-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bitwig_agent-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for bitwig_agent-0.1.1-py3-none-any.whl |
Total release size: 446.6 kB
Release files / bitwig_agent-0.1.1.tar.gz
| Download URL | bitwig_agent-0.1.1.tar.gz |
|---|---|
| Size | 420.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67b8eb529bc3240703405e9bbe5126ebd73156da6ab028623a46a5122aa7f0dd
|
|
BLAKE2b-256 checksum How to use checksums |
95d983c270b342e1e2b9e098898ec5ba67b45c9b2585ee8343e266caf16b618a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / bitwig_agent-0.1.1-py3-none-any.whl
| Download URL | bitwig_agent-0.1.1-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a383ab32ab9f9523b8db66fa7c7e37a8f3931e11e52d4f25fcf84623665025c7
|
|
BLAKE2b-256 checksum How to use checksums |
9210df7ca281910a33fd26981acb41362ecdf133726fa0108f9e9886a6eacb29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for bitwig-agent 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.