Skip to content
/ magda Public

πŸš€ Native Cassandra desktop client built in Rust - born for Cassandra, not adapted to it

Notifications You must be signed in to change notification settings

sidneip/magda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Magda icon

Magda

Finally, a Cassandra client that doesn't get in your way.

A native desktop client for Apache Cassandra β€” built entirely in Rust. Zero browser overhead. Instant startup. Open source.

Rust Dioxus License: MIT GitHub Release

Download β€’ Features β€’ Roadmap β€’ Contributing


Magda β€” CQL editor with syntax highlighting, autocomplete and results

Why Magda?

If you work with Cassandra, you know the pain:

  • cqlsh is powerful but has no GUI, no autocomplete, no visual feedback
  • DataStax Studio is browser-based, heavy, and requires a running server
  • DBeaver is generic β€” it doesn't understand CQL nuances

Magda is different. It's a native desktop app purpose-built for Cassandra developers:

cqlsh DataStax Studio DBeaver Magda
Native performance - - - Yes
CQL syntax highlighting - Yes Partial Yes
Schema-aware autocomplete - Yes Partial Yes
Lightweight (< 50 MB) Yes - - Yes
Instant startup Yes - - Yes
No server required Yes - Yes Yes
Open source Yes - Yes Yes
Query variables - - - Yes
Multiple connections - Yes Yes Yes

Features

CQL Editor with Syntax Highlighting & Autocomplete

Write CQL with confidence β€” keywords, types, functions, strings, and {{variables}} are all color-coded. Autocomplete suggests CQL keywords as you type, and knows your table names after FROM.

Syntax highlighting and autocomplete

Schema Browser

Explore keyspaces, tables, column types, partition keys, and clustering order β€” all in one view.

Schema browser

Data Browser with Pagination

Browse table data with automatic pagination. Export results to CSV with one click.

Data browser

Query History & Saved Queries

Every query is logged with execution time. Save your most-used queries as reusable snippets in the sidebar.

Query history

Query Variables

Define reusable {{variables}} that get substituted into your queries. Perfect for parameterized testing.

Query variables

Multiple Connections

Manage and switch between multiple Cassandra clusters. Each connection is persisted across sessions.

Download

Pre-built binaries for each release are available on the Releases page.

Platform Download
macOS (Apple Silicon) magda-macos-aarch64.dmg
Linux (x86_64) magda-linux-x86_64.deb
Windows (x86_64) magda-windows-x86_64-setup.exe

Build from source

# Prerequisites: Rust toolchain + Dioxus CLI
cargo install dioxus-cli

# Run in development mode
cd desktop && dx serve

# Build release
cd desktop && dx build --desktop --release

Roadmap

Done

  • CQL syntax highlighting
  • Schema-aware query autocomplete
  • Multiple connection management
  • Schema browser (keyspaces, tables, columns)
  • Data browser with pagination
  • Query history with execution times
  • Saved queries / snippets
  • Query variables ({{var}} substitution)
  • Export results to CSV
  • Persistent config (connections, variables, queries)
  • Cross-platform (macOS, Linux, Windows)

Next Up

  • Export results to JSON
  • Light theme
  • Connection import / export
  • CSV / JSON data import with validation
  • Edit table data directly in the grid
  • Query templates for common CQL patterns

Future Vision

  • Query Performance Analyzer β€” execution time, tombstones, nodes touched, optimization suggestions
  • Smart Schema Designer β€” real-time validation, anti-pattern detection (wide partitions, hotspots)
  • Cluster Health Dashboard β€” node status, heap usage, compaction, network topology
  • Data Migration Tools β€” batch operations, schema comparison between clusters
  • Visual Query Builder β€” drag-and-drop query construction
  • Query Explainer β€” why a query is slow, which nodes are impacted, how to optimize

Architecture

Built with Dioxus (Rust UI framework) and cdrs-tokio (pure Rust Cassandra driver). No Electron. No JVM. No C dependencies.

magda/
β”œβ”€β”€ desktop/              # Desktop app (Dioxus + cdrs-tokio)
β”‚   β”œβ”€β”€ assets/           # CSS, icons
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs               # App entry + window config
β”‚       β”œβ”€β”€ state.rs              # Global state (Dioxus Signals)
β”‚       β”œβ”€β”€ cassandra.rs          # CQL driver integration
β”‚       β”œβ”€β”€ cql_tokenizer.rs      # Syntax highlighting + autocomplete engine
β”‚       β”œβ”€β”€ connection/           # Multi-connection manager
β”‚       β”œβ”€β”€ config.rs             # Persistent user preferences (TOML)
β”‚       └── components/           # UI components
β”œβ”€β”€ web/                  # Web target (planned)
β”œβ”€β”€ mobile/               # Mobile target (planned)
└── ui/                   # Shared UI components

Contributing

Magda is open source and contributions are welcome! Whether it's a bug fix, new feature, or documentation improvement β€” every PR helps.

# Clone and run
git clone https://github.com/sidneip/magda.git
cd magda/desktop
dx serve

Check the Roadmap for ideas on what to work on, or open an issue to discuss your idea first.

License

MIT

About

πŸš€ Native Cassandra desktop client built in Rust - born for Cassandra, not adapted to it

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published