mcpField
P
Pane

Pane

Local
github.com/aerolalitDeveloper Tools

About Pane

Hand a human a rich interactive UI by URL and get structured data back, from any MCP client

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"aerolalit-pane": {
"command": "npx",
"args": [
"-y",
"@paneui/mcp"
],
"env": {
"PANE_API_KEY": "<PANE_API_KEY>",
"PANE_URL": "<PANE_URL>",
"PANE_AGENT_NAME": "<PANE_AGENT_NAME>",
"PANE_REGISTER_SECRET": "<PANE_REGISTER_SECRET>"
}
}
}
}
Run commandnpx -y @paneui/mcp
Environment variables to set
PANE_API_KEYSecretPane agent API key. If unset, the server auto-registers a fresh agent against the relay on first use and saves the key to the shared CLI store (~/.config/pane/config.json).
PANE_URLPane relay base URL. Defaults to the hosted relay https://relay.paneui.com; set this to point at a self-hosted relay.
PANE_AGENT_NAMEDisplay name for the auto-registered agent on the relay.
PANE_REGISTER_SECRETSecretRegistration secret, required only for relays running REGISTRATION_MODE=secret.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@paneui/mcp0.0.26

Tools

26

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
htmlstringNoThe pane's UI as a complete inline HTML document. To send data back to you, the page calls window.pane.emit(eventType, payload) — every emitted eventType MUST be declared in event_schema with 'page' in its emittedBy. Read window.pane.inputData for seed data. Pass EITHER `html` (+`name`) for a one-off, OR `template_id` to reuse a saved template — not both.
namestringNoShort human-readable label for the auto-created template (e.g. 'Deploy approval'). REQUIRED when you pass `html` (inline form); omit when reusing an existing template via `template_id` (it inherits the template's name).
tagsarrayNoOptional per-pane filter tags (merged with the template's tags). ≤20 tags, ≤50 chars each; 'favorite'/'favorites' are reserved.
titlestringNoOptional browser tab title for the human (≤80 chars). Defaults to `name`.
callbackobjectNoOptional webhook callback config so the relay POSTs new events to your endpoint. Shape per the relay's callback schema (e.g. { url, secret? }). Most MCP agents poll with get_events instead.
metadataobjectNoOptional opaque JSON you can attach to the pane for your own bookkeeping (never shown to the human, queryable via run_query).
preamblestringNoOptional one/two-line context shown above the UI — 'who is asking, and why'.
icon_emojistringNoOptional single-emoji icon override for this pane.
input_dataobjectNoOptional seed data for this pane instance, readable in the page as window.pane.inputData (e.g. the diff to review, the options to pick from).
context_keystringNoOptional natural key (e.g. 'pr-42'). Repeated create_pane calls with the same (template, key) return the SAME pane — makes retries idempotent.
template_idstringNoReuse an existing named template (id or slug) instead of inline HTML. The template's pinned version supplies the HTML + event/input/record schemas. Mutually exclusive with `html`/`name`/`event_schema`/`input_schema`. Create templates with the `template` tool.
ttl_secondsintegerNoOptional pane lifetime in seconds. The relay clamps to its max; the returned expires_at is authoritative.
event_schemaobjectNoInline form only. Declares which events the page (and you) may emit and validates each payload. Shape: { events: { '<type>': { emittedBy: ['page'|'agent'...], payload: <JSON Schema> } } }. OMIT for a read-only pane.
input_schemaobjectNoInline form only. Optional JSON Schema validating input_data. Needed if input_data references uploaded attachment ids the page must download.
participantsintegerNoOptional number of distinct human participant URLs to mint (default 1). Each gets its own URL in the returned `urls` array.
record_schemaobjectNoInline form only. JSON Schema 2020-12 doc with an `x-pane-collections` extension declaring this pane's mutable record collections (todos, comments…). OMIT for an event-only pane.
template_versionintegerNoWith `template_id`: pin this pane to a specific template version. Defaults to the template head's latest version.
icon_attachment_idstringNoOptional per-pane icon as a ready raster-image attachment id (png/jpeg/webp/gif). Upload it first via the `attachments` tool (scope: pane or agent).

Details

The maintainer has not added details yet. Check the README in the repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.