Open source
Multiplayer's core is open source under MIT: session capture, local-first architecture, deduplication, and coding agent integration. You can read every line of it, self-host it, and verify for yourself that nothing leaves your infrastructure until an issue is actually found.
The repos
Debugging agent
The core platform. Web app, backend services, data pipelines, and the coding agent integration layer.
| Repo | What it does | License |
|---|---|---|
| multiplayer-app/multiplayer | The self-hostable platform: web app, backend services, storage integrations, shared libraries | MIT |
| multiplayer-app/multiplayer-cli | Terminal UI for working through debugging sessions and turning fixes into branches or PRs | MIT |
Data capture: client-side
Multiplayer automatically captures sessions for errors and exceptions at the source. This is ideal to catch bugs as they happen, while you focus on development work.
| Repo | What it does | License |
|---|---|---|
| session-recorder-browser | Browser SDK | MIT |
Supports: Node.js | React | React Native | Go | .Net Python | Ruby | Java
You can also install browser tooling to manually trigger a session: a browser extension and an in-app widget. This is ideal for developers or end-users to submit bugs or unexpected behaviors.
| Repo | What it does | License |
|---|---|---|
| Browser extension | Capture sessions without adding an SDK to your codebase | MIT |
| Widget repo Javascript | Embeddable in-app capture widget for web apps | MIT |
| Widget repo React Native | Embeddable in-app capture widget for mobile | MIT |
Data capture: backend and infrastructure
How Multiplayer pulls unsampled data out of your existing stack.
Capturing telemetry data
You have 2 primary options for routing your backend data to Multiplayer:
OpenTelemetry Collector. We recommend this option for large, scaled platforms, because it provides more flexibility by having your services send all telemetry to the collector, which then routes specific session recording data to Multiplayer, while routing other data to your existing observability tools.
| Repo | What it does | License |
|---|---|---|
| multiplayer-otlp-collector | Send OpenTelemetry data to Multiplayer | MIT |
Supports: Node.js | Python | Java | .Net | Go | Ruby
Multiplayer exporter. This is a great choice for new applications or startups because it's simple to set up and doesn't require any additional infrastructure. You can configure our exporter to send all session recording data to Multiplayer while optionally sending a sampled subset of data to your existing observability platform.
| Code | What it does | License |
|---|---|---|
| direct-exporter | Send OpenTelemetry data to Multiplayer | MIT |
Supports: Python | Java | .Net | Go | Ruby
Capturing request/response content and headers
You have 2 primary options for routing request/response content and headers from all your system components to Multiplayer:
Multiplayer Proxy. This option allows you to handle capturing this data outside of your services and it’s ideal for large-scale applications.
| Repo | What it does | License |
|---|---|---|
| multiplayer-proxy | Backend proxy for capturing request/response content and headers | MIT |
Content-capture libraries. Capture, serialize, and mask request/response and header content directly within your service code. This is an easy way to get started, especially for new projects, as it requires no extra components in your platform.
| Code | What it does | License |
|---|---|---|
| content-capture | Utilities for capturing request, response and header content | MIT |
Supports: Python | .Net | Go | Ruby
Run it yourself
The fastest path, from the main repo:
git clone https://github.com/multiplayer-app/multiplayer
cd multiplayer
cp .env.example docker/.env
docker compose -f docker/docker-compose.prod.yml up -d
That starts the full platform, including MongoDB, RabbitMQ, Redis, Kafka, ClickHouse, MinIO, OpenSearch, and the OpenTelemetry collector, using prebuilt images. Docker and Docker Compose are the only requirements for this path.
For local development against the platform source itself, including hot reload and PM2 process management, see the full setup guide in the main repo.
Contributing
The contributing guide, branching strategy, and commit conventions live in CONTRIBUTING.md.
One thing worth knowing before you open a PR: we're optimizing for signal over volume. The contributions that move Multiplayer forward are grounded in something you actually hit, a specific bug, a specific edge case, a specific gap you ran into self-hosting. If you're running Multiplayer and something's broken or missing, that's exactly the kind of issue we want to hear about.
Next steps
🚀 If you’re ready to trial Multiplayer with your own app, you can follow the steps in the quickstart.
📌 If you have any questions or want to report bugs please open a GitHub issue! 💜