> ## Documentation Index
> Fetch the complete documentation index at: https://agent.minimax.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Features

> What Mini App can do: interface and windows, backend and data, working with the Agent, sessions, building and distribution, operations, and security.

Features without a status badge are in the current release. "Experimental" features are available, but their interface may change, so feature-detect before use. "Coming soon" features ship in an upcoming release, and the interface is final only once released. "Planned" features aren't available yet. See [Capabilities and progress](/docs/miniapp/progress) for the full status.

## What you can build

* **Professional workspaces:** bring material scattered across platforms into one page where people and the Agent move the work forward on the same data, like the official Stocks Mini App.
* **Dashboards and monitors:** pages that need filters, charts, and live refresh, such as Token usage, Git history, or session trajectories.
* **Business system front ends:** connect authorized apps such as Notion or Jira, create, edit, and delete on the page, and sync changes back.
* **Planning and generation:** chain maps, search, and image generation into one flow, like the road trip planner.
* **Working with the Agent:** prepare context on the page and hand it to the Agent, or start an Agent session and approve and answer on the page.
* **Small tools and games:** a Pomodoro timer, a notes board, a divination app, anything you want close at hand.

## Interface and windows

> **[Full web interface](/docs/miniapp/authors/client-api#page-rules)**
>
> HTML, CSS, and JavaScript with any front-end framework or chart library: tables, drag and drop, live refresh.

> **[Opens in the session sidebar](/docs/miniapp/sessions#open)**
>
> Open it from the panel's "+" menu, with @ in a conversation, or by the Agent; the page appears in the current session's right panel.

> **[Open a specific page](/docs/miniapp/authors/quickstart#tool)**
>
> `open` with a `path` opens any address inside the plugin, such as a record's detail page.

> **[Pop-out window](/docs/miniapp/authors/client-api#window)**
>
> Pop the page out of the file panel into its own window, with its position remembered; the manifest declares size, always-on-top, transparency, and click-through, which suits floating widgets.

> **[Window handle](/docs/miniapp/authors/client-api#window)**
>
> Experimental The page reads and adjusts its own pop-out window: mode, position, size, always-on-top, click-through.

## Backend and data

> **[Node backend service](/docs/miniapp/authors/node-runtime#contract)**
>
> Export `start(context)`; the host assigns the port and handles start and stop. Push live updates over SSE or WebSocket.

> **[Backends in any language](/docs/miniapp/authors/node-runtime#child)**
>
> The Node entry can launch Python, Go, or other services and reverse-proxy to them from the assigned port.

> **[Persistent data](/docs/miniapp/authors/data#state)**
>
> The host isolates a `dataDir` for each plugin; data survives service restarts and plugin updates.

> **[Apps the user authorized](/docs/miniapp/authors/data#host-connector)**
>
> Host Connector calls Notion and other apps with the account you authorized in MiniMax Code; the plugin stores no credentials.

> **[CLIs, HTTP APIs, SDKs, local files](/docs/miniapp/authors/data#methods)**
>
> The Node service can call local command-line tools, third-party APIs, or files the user authorized.

> **[Unified tool entry](/docs/miniapp/progress#backend)**
>
> Coming soon `context.tool` lists and calls the host's mounted MCP tools and Connectors with one API, judged by the permission rules you set for the Agent.

## Working with the Agent

> **[The Agent calls your tools](/docs/miniapp/authors/agent#mcp)**
>
> Managed MCP: the Node service exposes business capabilities as tools, so the page and the Agent work on the same data.

> **[Hand off to the message input](/docs/miniapp/authors/client-api#append)**
>
> The page puts prepared content into the current session's message input; you confirm, edit, and send it yourself.

> **[Start Agent sessions from the page](/docs/miniapp/authors/agent#agent-page)**
>
> The page runs an Agent turn, streams the reply, and renders tool approvals and questionnaires itself.

> **[Run the Agent in the background](/docs/miniapp/authors/agent#agent-node)**
>
> The Node service uses `context.agent` to work on tasks and write results back; set a concurrency limit and extra calls wait in line.

> **[Hand off to the chat panel](/docs/miniapp/sessions#open-in-chat)**
>
> `open(sessionId)` shows a Mini App's Agent session in the chat side panel, where you follow it, approve, and answer.

> **[Choose models and agents](/docs/miniapp/authors/agent#agent-session)**
>
> List the models you can use and the agents you configured; switch a session's model or start a session as a specific agent.

## Sessions

A Mini App's service is shared per plugin and its pages are per session; see [Mini Apps and sessions](/docs/miniapp/sessions) for the full rules.

> **[Starts when referenced](/docs/miniapp/sessions#open)**
>
> As soon as a Mini App reference appears in the input, the backend starts; the sidebar expands only after the page opens.

> **[One service for every session](/docs/miniapp/sessions#shared)**
>
> Each session has its own page, all backed by the same service and the same data.

> **[Reopening keeps your place](/docs/miniapp/sessions#open)**
>
> Selecting or opening it again in the same session reuses the tab and keeps the current route and state.

> **[Session list indicator](/docs/miniapp/sessions#open)**
>
> The session list marks sessions that have a Mini App open.

> **[Local sessions only](/docs/miniapp/sessions#open)**
>
> Cloud, SSH, and Remote Control sessions never start or open Mini Apps on your machine.

> **[Survives sign-in changes](/docs/miniapp/sessions#accounts)**
>
> Refreshing sign-in credentials doesn't affect running Mini Apps; after signing back in with the same account, list the tools again and continue.

## Building and distribution

> **[Create from one sentence](/docs/miniapp/authors/quickstart)**
>
> With /miniapp-creator, the Agent verifies data access, writes the page and backend, publishes, and opens the app.

> **[Screenshot acceptance](/docs/miniapp/authors/quickstart#flow)**
>
> The Agent checks structure, text, and interactions in the built-in browser and reports what passed and what couldn't be verified.

> **[Install a finished package](/docs/miniapp/authors/quickstart#finished)**
>
> Hand a Mini App directory or ZIP to the Agent; it inspects and publishes it without running bundled instructions or installing dependencies.

> **[Plugin marketplace](/docs/miniapp/authors/share#enterprise)**
>
> Official Mini Apps install, update, and uninstall through the marketplace; official packages can't be edited locally.

> **[Open-source community](/docs/miniapp/authors/share#community)**
>
> Share through a pull request to MiniMax-Code-MiniApps; the team regularly selects apps for the marketplace.

> **[Other capabilities in the same package](/docs/miniapp/authors/package#plugin-json)**
>
> Skills, ordinary MCP, and Apps in the package keep working whether or not the Mini App is running.

## Operations

> **[Starts on demand](/docs/miniapp/authors/node-runtime#lifecycle)**
>
> Enabling a plugin never starts it; up to 3 different Mini App services run at once.

> **[Publishing that rolls back](/docs/miniapp/authors/publish#pipeline)**
>
> Stage, install, and start happen in steps, and a failed install restores the previous version.

> **[Status and diagnostics](/docs/miniapp/authors/publish#inspect)**
>
> `inspect` shows the source, runtime status, and diagnostics for the latest run without starting the service.

> **[Stop and restart](/docs/miniapp/authors/quickstart#tool)**
>
> Stopping ends only the service and keeps the plugin and its other capabilities; the toolbar offers a restart from the failed state.

> **[Traceable startup failures](/docs/miniapp/authors/publish#inspect)**
>
> Startup failures go into the runtime log and are packaged with your feedback report to help pin down the problem.

> **[Scheduled work](/docs/miniapp/progress#build)**
>
> Planned Update data or run recurring work on a schedule.

> **[Permission panel](/docs/miniapp/progress#security)**
>
> Coming soon Switch each of a Mini App's permissions on or off from the plugin detail page; on by default, and switching one off takes effect immediately.

## Security

> **[Port authentication](/docs/miniapp/authors/node-runtime#auth)**
>
> Each run gets its own credential, so only the Mini App page and managed MCP can reach the service port; no plugin code changes.

> **[Plugins and pages never handle credentials](/docs/miniapp/host/security#boundaries)**
>
> The host makes third-party calls on your behalf; host credentials, internal ports, and tool references never reach the page.

> **[Explicit grants](/docs/miniapp/reference/manifest)**
>
> Connector providers, Agent access, always-on-top, and click-through work only when declared in the manifest.

> **[User confirmation](/docs/miniapp/host/security#human)**
>
> Handing off to the input always needs confirmation; Agent approvals are only "allow once" and "deny", and a Mini App can't write your global permission rules.
