Adk Rust MCP Toolkit
Production-ready Model Context Protocol (MCP) servers for generative media, built in Rust
Ask AI about Adk Rust MCP Toolkit
Powered by Claude Β· Grounded in docs
I know everything about Adk Rust MCP Toolkit. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
ADK Rust MCP Toolkit
Production-ready Model Context Protocol (MCP) servers for generative media, built in Rust. Generate images, videos, music, and speech through a unified, provider-agnostic interface.
Features
- πΌοΈ Image Generation β Text-to-image with Imagen 4, upscaling up to 4x
- π¬ Video Generation β Text-to-video, image-to-video, video extension with Veo 3
- π΅ Music Generation β Instrumental music from text prompts with Lyria
- π£οΈ Speech Synthesis β High-quality TTS with Chirp3-HD and Gemini voices
- ποΈ Media Processing β FFmpeg-powered audio/video manipulation
- π Multiple Transports β Stdio, HTTP, and SSE for any integration scenario
Example Outputs
| Image Generation | Multimodal |
![]() | ![]() |
π¬ Video Generation
https://github.com/user-attachments/assets/video_test.mp4
π΅ Music Generation
Download music sampleπ£οΈ Speech Synthesis
Download speech sampleServers
| Server | Description | Tools |
|---|---|---|
adk-rust-mcp-image | Image generation & upscaling | image_generate, image_upscale |
adk-rust-mcp-video | Video generation | video_generate, video_from_image, video_extend |
adk-rust-mcp-music | Music generation | music_generate |
adk-rust-mcp-speech | Text-to-speech | speech_synthesize, speech_list_voices |
adk-rust-mcp-multimodal | Gemini multimodal | multimodal_image_generate, multimodal_speech_synthesize |
adk-rust-mcp-avtool | FFmpeg processing | ffmpeg_* (8 tools) |
Quick Start
Prerequisites
- Rust 1.85+ (2024 edition)
- Google Cloud project with Vertex AI enabled
gcloudCLI authenticated- FFmpeg (for avtool only)
Installation
# From crates.io
cargo install adk-rust-mcp-image adk-rust-mcp-video adk-rust-mcp-music \
adk-rust-mcp-speech adk-rust-mcp-multimodal adk-rust-mcp-avtool
# Or build from source
git clone https://github.com/zavora-ai/adk-rust-mcp-toolkit
cd adk-rust-mcp-toolkit
cargo build --release
Configuration
export PROJECT_ID=your-gcp-project
export LOCATION=us-central1
export GCS_BUCKET=your-bucket # Required for video generation
Run a Server
# Stdio (default) β for Claude Desktop, Kiro, local tools
adk-rust-mcp-image
# HTTP β for web apps, remote clients, ADK agents
adk-rust-mcp-image --transport http --port 8080
# SSE β for streaming applications
adk-rust-mcp-image --transport sse --port 8080
Integration
Kiro
Add to .kiro/settings/mcp.json:
{
"mcpServers": {
"adk-image": {
"command": "adk-rust-mcp-image",
"args": ["--transport", "stdio"],
"cwd": "/path/to/workspace",
"env": {
"PROJECT_ID": "your-project",
"LOCATION": "us-central1"
}
}
}
}
Note: The
cwdfield is required for file output with relative paths.
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"image": {
"command": "adk-rust-mcp-image",
"env": { "PROJECT_ID": "your-project" }
}
}
}
HTTP Client (Rust)
use adk_tool::McpHttpClientBuilder;
let toolset = McpHttpClientBuilder::new("http://localhost:8080/mcp")
.timeout(Duration::from_secs(120))
.connect()
.await?;
Full Multi-Server Configuration
{
"mcpServers": {
"adk-image": {
"command": "adk-rust-mcp-image",
"args": ["--transport", "stdio"],
"cwd": "/workspace",
"env": { "PROJECT_ID": "my-project", "LOCATION": "us-central1", "GCS_BUCKET": "my-bucket" }
},
"adk-video": {
"command": "adk-rust-mcp-video",
"args": ["--transport", "stdio"],
"cwd": "/workspace",
"env": { "PROJECT_ID": "my-project", "LOCATION": "us-central1", "GCS_BUCKET": "my-bucket" }
},
"adk-music": {
"command": "adk-rust-mcp-music",
"args": ["--transport", "stdio"],
"cwd": "/workspace",
"env": { "PROJECT_ID": "my-project", "LOCATION": "us-central1" }
},
"adk-speech": {
"command": "adk-rust-mcp-speech",
"args": ["--transport", "stdio"],
"cwd": "/workspace",
"env": { "PROJECT_ID": "my-project" }
},
"adk-multimodal": {
"command": "adk-rust-mcp-multimodal",
"args": ["--transport", "stdio"],
"cwd": "/workspace",
"env": { "PROJECT_ID": "my-project", "LOCATION": "us-central1" }
},
"adk-avtool": {
"command": "adk-rust-mcp-avtool",
"args": ["--transport", "stdio"],
"cwd": "/workspace"
}
}
}
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP Servers β
β image β video β music β speech β multimodal β avtool β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β adk-rust-mcp-common β
β Config β Auth β GCS β Transport β Tracing β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Provider Abstraction β
ββββββββββββββββ¬βββββββββββββββ¬βββββββββββββββ¬βββββββββββββββββ€
β Google β AWS β Azure β Local β
β Vertex AI β Bedrock β OpenAI β Ollama β
β Cloud TTS β Polly β TTS β Whisper β
β Gemini β Nova β GPT-4o β β
ββββββββββββββββ΄βββββββββββββββ΄βββββββββββββββ΄βββββββββββββββββ
Currently Implemented: Google Cloud (Vertex AI, Cloud TTS, Gemini)
Planned: AWS Bedrock, Azure OpenAI, local/self-hosted models
Documentation
| Resource | Description |
|---|---|
| Configuration Guide | Environment variables, authentication |
| API Reference | Tool parameters and responses |
| Server Guides | Per-server documentation |
| Development Guide | Contributing, testing, architecture |
| Examples | ADK agent integration examples |
Testing
# Unit tests
cargo test --workspace
# Integration tests (requires GCP credentials)
cargo test --workspace --test integration_test
# Skip integration tests
SKIP_INTEGRATION_TESTS=1 cargo test --workspace
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Security
See SECURITY.md for reporting vulnerabilities.
License
Apache-2.0 β see LICENSE for details.
Built with β€οΈ by Zavora AI


