ADK Rust MCP工具包
  
用于生成媒体的生产就绪模型上下文协议(MCP)服务器,内置于Rust中。通过统一的、与提供商无关的界面生成图像、视频、音乐和语音。
特性
- 🖼️ 图像生成 --使用Imagen 4将文本转换为图像,放大倍数高达4倍
- 🎬 视频生成 --文本转视频、图像转视频、Veo 3视频扩展
- 🎵 音乐发生器 --Lyria的文字提示器乐
- 🗣️ 语音合成 --具有Chirp3 HD和Gemini声音的高品质TTS
- 🎛️ 媒体处理 --FFmpeg驱动的音频/视频操作
- 🔌 多个传输 --Stdio、HTTP和SSE适用于任何集成场景
输出示例
Image Generation Multimodal
🎬 视频生成
https://github.com/user-attachments/assets/video_test.mp4
🎵 音乐发生器
Download music sample
🗣️ 语音合成
Download speech sample
服务器
| 服务器 | 描述 | 工具 |
|---|---|---|
adk-rust-mcp-image | 图像生成和放大 | image_generate, image_upscale |
adk-rust-mcp-video | 视频生成 | video_generate, video_from_image, video_extend |
adk-rust-mcp-music | 音乐一代 | music_generate |
adk-rust-mcp-speech | 文本转语音 | speech_synthesize, speech_list_voices |
adk-rust-mcp-multimodal | Gemini多式联运 | multimodal_image_generate, multimodal_speech_synthesize |
adk-rust-mcp-avtool | FFmpeg处理 | ffmpeg_* (8工具) |
快速开始
先决条件
- 锈1.85+(2024年版)
- 启用Vertex AI的谷歌云项目
gcloudCLI已通过身份验证- FFmpeg(仅适用于avtool)
安装
# 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配置
export PROJECT_ID=your-gcp-project
export LOCATION=us-central1
export GCS_BUCKET=your-bucket # Required for video generation运行服务器
# 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整合
基罗
增添 .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"
}
}
}
}注: 这 cwd 对于具有相对路径的文件输出,字段是必需的。克劳德桌面版
增添 ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"image": {
"command": "adk-rust-mcp-image",
"env": { "PROJECT_ID": "your-project" }
}
}
}HTTP客户端(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"
}
}
}建筑
┌─────────────────────────────────────────────────────────────┐
│ 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 │ │
└──────────────┴──────────────┴──────────────┴────────────────┘目前实施: 谷歌云(顶点AI、云TTS、双子座)
计划: AWS Bedrock、Azure OpenAI、本地/自托管模型
文档
测试
# 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贡献
看 贡献.md 用于开发设置和指南。
安全
看 安全.md 用于报告漏洞。
许可证
Apache-2.0--参见 许可证 了解详情。
______________________________________________________________________
建于❤️ 通过 工厂 AI
