Protected Optional ReadonlyagentProtected ReadonlyaiReadonlyiconcodicon(...) class shown in the tree, breadcrumb, and cards.
ReadonlyidStable id; used as the tree-node id and in navigation targets.
ReadonlykindReadonlylabelLocalized label shown in the tree and breadcrumb.
Protected ReadonlyloggerProtected ReadonlymcpProtected ReadonlymcpProtected ReadonlymessageProtectedoauthReadonlyonFire to refresh tree children/count badge, overview, and search index.
Protected ReadonlyonReadonlyorderAscending sort; defaults to 0. Built-ins use a spaced scale.
Protected Optional ReadonlyregistryProtected ReadonlyreportedIds already reported as duplicated, so the warning is logged once rather than on every render.
Protected ReadonlyserverProtectedserversProtected ReadonlysettingsProtected ReadonlytoProtectedcategoryThe owning category id, used to build navigation targets for the cards.
ProtectedoverviewOptional heading shown above the item list (e.g. "Agents"), like the Providers page. None by default.
Optional: items contributed to the tree-level (deep) search index.
ProtectedaddressableThe items this page can actually address, i.e. one per id. Everything downstream keys on the id — the tree node, the navigation target, the detail lookup and the per-item settings — so an item repeating an id could neither be opened nor configured on its own; it is dropped here and logged once. Representing such a clash properly is a separate concern from this view (it starts where the items are registered).
The overview "Add …" affordance; none by default.
ProtectedgetProtectedgetThe Agent Plugin that contributed a server, or undefined when the server is the user's own, when the
owning plugin is not installed - a bare identifier is not worth an affordance - or when no bridge is
bound, i.e. in a product without @theia/ai-registry.
Called to (re)build this category's slice of the deep-search index.
Rebuilt on the category's onDidChange.
ProtectedgetThe registry entry and/or the Agent Plugin a server came from. Both, when it carries both: a plugin-contributed server can also be linked to a registry approval of its own, and the two lead to different places. Empty for a server the user configured by hand, which is the common case.
ProtectedgetProtectedgetOverview subtitle: the server type (Local/Remote) and, once known, its tool count — not the raw command/URL.
ProtectedgetCollection children (items) shown inline in the tree and mirrored as overview cards. Order is preserved.
ProtectedhandleProtectedhandleProtectedhandleProtectedhandleProtectedhandleProtectedinitProtectedloadProtectedrenderProtectedrenderCategory-level settings shown above the card grid; nothing by default.
ProtectedrenderThe per-server configuration, edited in place. Each field patches the server's form representation and re-persists it via MCPServerEditor.save — the same write path (and stale-key cleanup) the Add dialog uses — so there is no separate Edit dialog. The server type is shown read-only: changing it means deleting and re-adding the server, which the Add dialog handles cleanly.
ProtectedrenderCollection item detail (child selected). itemId is a getTreeChildren id.
Optional: e.g. Variables have no editable detail (read-only card only).
ProtectedrenderHeader of an item detail page; icon/title/subtitle/origins from the item by default.
ProtectedrenderProtectedrenderProtectedrenderCollection overview (category node selected): category-level settings + filter slot + item card grid + add action + empty state.
ProtectedrenderRead-only on purpose: all three are derived from where @theia/ai-registry installed the Agent
Plugin, so there is nothing for the user to author. Shown rather than hidden because they decide
where the process runs and what PLUGIN_ROOT and PLUGIN_DATA point at.
ProtectedrenderOptionalvariable: stringthe environment variable the value is exported as, when it is one.
ProtectedrenderLifecycle (start/stop/sign-in/sign-out), registry-origin link and delete controls for the header action slot.
ProtectedrenderProtectedrenderProtectedrenderThe server's tools, shown (once available) as a plain, non-collapsible list matching the Variables list, each row offering a per-tool copy action and linking to the Tools page. The "copy all" variants stay in a small toolbar in the header.
ProtectedupdatePatches the server's editable form and re-saves it (reusing the dialog's persistence path).
ProtectedwarnWarns once per id, since the overview re-renders and would otherwise repeat itself indefinitely.
console rather than an ILogger: this base class is not injectable, so it has no injection context
of its own; subclasses that want their named logger can override this.
The MCP Servers category (in
@theia/ai-mcp): acollectionporting the MCP server surface onto the shared primitives. Servers are the tree children (status dot from MCPServerStatus); the per-server configuration and tool list are rendered as the item detail.