Createplugin
createPluginCreate a plugin from its HTML source (blob), with tag, name, contexts (where it shows up, for example {"type":"GLOBAL"}), minimumRoleRequired, isDraft, and optional proxyTag, iconTag and version. Fails if the tag already exists; to change a plugin use updatePlugin or patchPlugin.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | Unique identifier for the plugin | |
| blob | Yes | The raw source code of the plugin. This should be an HTML file | |
| name | Yes | Display name of the plugin | |
| context | Yes | Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information. | |
| iconTag | No | Icon tag for the plugin | |
| isDraft | Yes | Whether the plugin is generally available or not | |
| version | No | The version of the plugin | |
| contexts | Yes | Which contexts the plugin should execute/show up in, e.g. `{ "type": "GLOBAL" }` | |
| proxyTag | No | The identifier of the proxy to use for requests from this plugin | |
| session_id | Yes | Session continuity handle, one of two values: the ses_ ID issued for the task underway, or start. This server cannot link your calls between requests on its own, so session continuity travels in this parameter instead. If you were handed a session_id for this task — for example by the agent that spawned you — send that exact value from your first call. Otherwise send start on your first call; the server will issue an opaque correlation ID in the mcp_session field of the result, or in a text block at the start of the result beginning [session_id issued. Then send that exact ses_ value on every later call and hand it to any subagents working the same task. start always begins a new, unrelated task — never send it mid-task. If you send a value this server does not recognize, the result reports it: mcp_session.status of unrecognized, or a text block beginning [session_id unrecognized; re-send the ID issued for this task, or start if none was issued yet. Never invent a ses_ value. | |
| description | No | Description of the plugin | |
| minimumRoleRequired | Yes | The minimum role required to view the plugin, e.g. `VIEWER`, `USER`, `MANAGER`, `OWNER`, or the tag for a custom role. Learn more about each permission in our [docs](https://docs.cortex.io/docs/walkthroughs/workspace-settings/permissioning#roles-in-cortex). |