sanzaru
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUDIO_PATH | No | Path for audio storage | |
| IMAGE_PATH | No | Path for image storage | |
| VIDEO_PATH | No | Path for video storage | |
| OPENAI_API_KEY | Yes | Your OpenAI API key | |
| STORAGE_BACKEND | No | Storage backend (optional, e.g., 'databricks') | |
| SANZARU_MEDIA_PATH | No | Unified media path (auto-creates videos/, images/, audio/ subdirs) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_videoA | Create a new Sora video generation job. This starts an async job and returns immediately with a video_id. The video is NOT ready immediately - use get_video_status(video_id) to poll for completion. Status will be 'queued' -> 'in_progress' -> 'completed' or 'failed'. Once status='completed', use download_video(video_id) to save the video to disk. Parameters:
Returns Video object with fields: id, status, progress, model, seconds, size. |
| get_video_statusA | Check the status and progress of a video generation job. Use this to poll for completion after calling create_video or remix_video. Call this repeatedly (e.g. every 5-10 seconds) until status changes from 'queued'/'in_progress' to 'completed' or 'failed'. The returned Video object contains:
Typical workflow:
|
| download_videoA | Download a completed video to disk. IMPORTANT: Only call this AFTER get_video_status shows status='completed'. If the video is not completed, this will fail. The video is automatically saved to the directory configured in VIDEO_PATH. Returns the filename of the downloaded file. Parameters:
Typical workflow:
Returns DownloadResult with: filename, variant |
| list_videosA | List all video jobs in your OpenAI account with pagination support. Returns a paginated list of all videos (completed, in-progress, failed, etc.). Each video summary includes: id, status, progress, created_at, model, seconds, size. Parameters:
Returns:
Pagination example:
|
| delete_videoA | Permanently delete a video from OpenAI's cloud storage. WARNING: This is permanent and cannot be undone! The video will be deleted from OpenAI's servers. This does NOT delete any local files you may have downloaded with download_video. Use this to:
Parameters:
Returns confirmation with the deleted video_id and deleted=true. |
| remix_videoA | Create a NEW video by remixing an existing completed video with a different prompt. This creates a brand new video generation job (with a new video_id) based on an existing video. The original video must have status='completed' for remix to work. Like create_video, this returns immediately with a new video_id - the remix is NOT instant. You must poll the NEW video_id with get_video_status until it completes. Parameters:
Returns a NEW Video object with a different video_id, status='queued', progress=0. Typical workflow:
|
| list_local_videosA | List locally downloaded video files with filtering and sorting. Use this to discover what video files have been downloaded to the VIDEO_PATH directory. These are videos previously downloaded with download_video. Parameters:
Returns list of VideoFile objects with: filename, size_bytes, modified_timestamp, file_type. Example workflow:
|
| view_mediaA | Open a media file in the interactive media viewer. Opens a rich media player UI for viewing videos, listening to audio, or displaying images. The viewer loads the file and renders it with native playback controls. Parameters:
Use list_videos, list_reference_images, or list_audio_files to discover available files. Returns metadata: filename, media_type, size_bytes, mime_type |
| _get_media_dataA | Internal tool used by the MCP App media viewer to fetch base64-encoded chunks of media data. Do not call directly — use view_media instead. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| media_viewer_html | Serve the bundled media viewer MCP App HTML. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TJC-LP/sanzaru'
If you have feedback or need assistance with the MCP directory API, please join our Discord server