@runapi.ai/gemini-omni-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RUNAPI_API_KEY | Yes | Your RunAPI API key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Authenticate RunAPI by opening a browser PKCE login flow and saving the API key to ~/.config/runapi/config.json. |
| text_to_videoC | Create a Gemini Omni task on RunAPI (text to video). Returns a task id, status, and output URLs. |
| create_audioC | Run a synchronous Gemini Omni operation on RunAPI (create audio). Returns the operation result. |
| create_characterC | Run a synchronous Gemini Omni operation on RunAPI (create character). Returns the operation result. |
| get_taskB | Fetch the current status and latest result payload for a gemini-omni task. |
| check_pricingB | Look up RunAPI pricing for the gemini-omni model line. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a fairly distinct action (auth, pricing lookup, task polling, and three generation endpoints), so an agent can mostly pick correctly. The main blur is between the synchronous create_character/create_audio operations and the task-based text_to_video + get_task flow, since it's unclear whether the sync creates also produce task ids that get_task can poll.
Names mix three conventions: verb_noun (create_character, create_audio, get_task), verb_noun for a non-resource (check_pricing), a bare verb (login), and a noun-phrase endpoint name (text_to_video). It's still readable, but there is no single predictable pattern across all six.
Six tools is well-scoped for a thin wrapper around one model line: auth, pricing, three generation entry points, and task polling. Nothing feels padded or redundant.
Core lifecycle is only partly covered: generation plus get_task exists, but there is no cancel_task, list_tasks, or bulk status retrieval, and login has no matching logout/config-status tool. The asymmetric model (two sync ops vs one async op) also leaves unclear how results of the sync operations are re-fetched.