Gemini Rust Suite 🦀
@frostdev-ops
> Gemini Rust Suite 🦀: A powerful, modular Rust toolkit for interacting with Google Gemini. Features a feature-rich CLI, persistent semantic memory (LanceDB), and extensible tool integration via the Model Context Protocol (MCP).
Overview
What is Gemini Rust Suite?
Gemini Rust Suite is a collection of Rust crates for interacting with Google Gemini models. It enables tool usage via the Model Context Protocol (MCP), persistent semantic memory using a vector database, and a command-line interface for Linux terminals.
How to use Gemini Rust Suite?
Install by running the install.sh script from the repository root, which builds the binaries and configures a gemini shell wrapper. Configure your API key and settings in ~/.config/gemini-suite/config.toml. Use the gemini command for single prompts, interactive chat (-i), task loops (-t), or tool‑augmented queries.
Key features of Gemini Rust Suite
- Asynchronous client for the Gemini API with type‑safe Rust structs
- MCP host that discovers, launches, and communicates with external tool servers
- Persistent semantic memory store powered by LanceDB
- Automatic prompt enhancement with relevant memories
- Interactive CLI with single‑shot, chat, and task‑loop modes
- Built‑in MCP servers for filesystem, command execution, and memory storage
- Chat history preserved across CLI commands via a shell wrapper function
Use cases of Gemini Rust Suite
- Ask Gemini questions and receive formatted, markdown‑rendered answers
- Engage in ongoing, context‑aware conversations using interactive chat mode
- Automate multi‑step tasks by assigning them to Gemini via the task‑loop mode
- Extend Gemini’s capabilities by connecting to external MCP tools (e.g., file reading, command execution)
- Maintain long‑term memory across sessions, allowing Gemini to recall past conversations
FAQ from Gemini Rust Suite
What are the prerequisites?
You need the Rust toolchain, a Gemini API key from Google AI Studio, and a supported shell (Bash or Zsh recommended for the gemini wrapper).
How do I configure my API key?
The API key is read from ~/.config/gemini-suite/config.toml, then from the GEMINI_API_KEY environment variable, and finally from a .env file in the current working directory.
How does chat history work across separate commands?
The gemini wrapper function (added to your shell config) captures a session ID from the binary’s output and exports it. This allows subsequent commands to continue the same conversation. Without the wrapper, history persists only within a single interactive (-i) session.
What built‑in MCP servers are included?
The suite includes built‑in servers for filesystem operations (filesystem), command execution (command), and memory storage/embedding (memory_store).
How do I manage the MCP host daemon?
Zsh users can use the mcpd helper function (installed by install.sh) with commands like mcpd start, mcpd stop, mcpd status, and mcpd logs.