An Interface for Agents, Not an Escape Hatch

OmniGet's agent interfaces extend the local media workflow, but they do not create new permission to use the web. This chapter focuses on two related paths: the embedded MCP server, which exposes existing desktop capabilities over the authenticated local bridge, and the Claude Code plugin, which composes scripts for fetching, captions, transcription, and research notes. The practical judgment is whether an agent is controlling a shared local system with visible side effects or quietly acting as a second, less accountable local downloader.

The distinction matters because an agent request can look like an ordinary question while triggering local work. “Download this and summarize it” may enqueue a URL, read browser session context, create a media file, invoke a transcription backend, and write notes. The interface must therefore expose enough state, timing, and confirmation for a person to understand what happened and what remains under their control.

MCP exposes the existing engine

The embedded MCP server is an interface layer around tools that already exist in OmniGet. It supports JSON-RPC initialization, tool listing, tool calls, notifications, and batch messages. The tool definitions describe actions such as queueing a URL, listing or controlling downloads, processing PDFs, transcribing media, resizing images, searching files, finding duplicates, and inspecting selected local or online data. The important architectural fact is not the breadth of names. It is that the download controls call the same local queue and scheduling paths used by the desktop interface.

When an agent asks to enqueue a URL, the MCP path does not create an agent-only queue with different state rules. It passes the request into the normal external-URL handler and can return the resulting queue item. When an agent asks for queue status, it reads the same item model that the desktop UI uses, including status, progress, speed, ETA, output path, and the last redacted command when one exists. When it pauses or cancels a job, the interface emits updated state and tries to start the next eligible item through the same scheduler.

Reusing that engine prevents a dangerous form of divergence. If the desktop app says a file is paused while the agent's private queue continues downloading it, the user cannot reliably judge resource use or credentials. Shared state means that the agent operates on the same lifecycle the person can see. It also means that a local agent call has real consequences: a URL can enter the queue, a file can be written, and a local process can be asked to pause or resume, even when the request began as a short conversational instruction.

MCP is disabled unless the user enables it in OmniGet. When enabled, it is served on the local bridge with the same bearer token that protects extension requests. The bridge remains loopback-bound, and the endpoint checks the bearer before handing a JSON-RPC message to the tool dispatcher. That reuse reduces the number of local services and tokens that must be managed and inspected, but it makes the token more consequential: it can authorize both browser integration and agent-facing operations.