Varo MCP
by varoriya
README.md
# Varo MCP
[](LICENSE)
[](https://modelcontextprotocol.io)
[](https://github.com/varoriya/varo-mcp)
Image, video & audio generation tools for AI agents. A [Model Context Protocol](https://modelcontextprotocol.io)
server that wraps the **Varo Generate API** (`api.varoriya.com`) — so agents like
Claude, VS Code Copilot, and Cursor can create images, video, and audio directly.
## Tools
| Tool | What it does |
|------|--------------|
| `varo_generate_image` | Create an image (z-image, Grok, Nano Banana Pro, Seedream 5 Pro) |
| `varo_generate_video` | Create a video (Seedance 2.0, WAN, Grok) — with audio |
| `varo_generate_audio` | Create audio — music, ambience, SFX, voiceover (Seed Audio) |
| `varo_get_job` | Poll a job for its result URL |
| `varo_registry_quote` | Price a blockchain registration — returns a single-use quote token |
| `varo_registry_register` | Permanently register a creation on the Varoriya Registry (Polygon) |
| `varo_quote_price` · `varo_list_models` | Price a request / list models (no key needed) |
| `varo_balance` · `varo_topup` | Check VaroCoin balance / top up via PromptPay QR |
## Setup
### Option A — Remote server (recommended)
Connect to the hosted MCP server over Streamable HTTP. Sign in with your Varoriya
account via OAuth — **no key to paste**.
```
https://mcp.varoriya.com
```
Add it as a remote/HTTP MCP server in your client. In VS Code — `.vscode/mcp.json`:
```json
{
"servers": {
"varo": { "type": "http", "url": "https://mcp.varoriya.com" }
}
}
```
### Option B — Local (stdio bridge)
For clients that only speak stdio. `mcp-remote` bridges to the same hosted server
and handles OAuth for you — no key needed. `npx` fetches it automatically.
**VS Code** — `.vscode/mcp.json`
```json
{
"servers": {
"varo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.varoriya.com"]
}
}
}
```
**Claude Desktop** — `claude_desktop_config.json`
```json
{
"mcpServers": {
"varo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.varoriya.com"]
}
}
}
```
Prefer a key over OAuth? Append it as a header:
`"args": ["-y", "mcp-remote", "https://mcp.varoriya.com", "--header", "Authorization: Bearer varo_gk_xxxx"]`
(get a key at [varoriya.com/account/key](https://varoriya.com/account/key)).
Restart the client, then just ask:
> "Generate a 16:9 image of a lighthouse at sunrise with z-image."
## Run from source (dev)
```bash
bun install
bun src/index.ts # stdio
bun src/http.ts # streamable-http on :3200
```
| Env | Default | Notes |
|-----|---------|-------|
| `VARO_API_KEY` | — | Optional `varo_gk_…` key (skips OAuth) |
| `VARO_API_BASE` | `https://api.varoriya.com` | API base URL |
## Links
- **Developer hub:** [dev.varoriya.com](https://dev.varoriya.com/)
- **API reference:** [dev.varoriya.com/reference/](https://dev.varoriya.com/reference/)
- **Get an API key:** [varoriya.com/account/key](https://varoriya.com/account/key)
- **Varo Generate:** [api.varoriya.com/gen/](https://api.varoriya.com/gen/)
- **GitHub:** [github.com/varoriya/varo-mcp](https://github.com/varoriya/varo-mcp)
- **Report an issue:** [github.com/varoriya/varo-mcp/issues](https://github.com/varoriya/varo-mcp/issues)
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues