Arcana ARCANA

Plugins

Extend Arcana's capabilities with community and custom plugins. Plugins can add new tools, integrate with external services, modify the terminal UI, or hook into session lifecycle events.

How Plugins Work

Plugins are self-contained packages that register capabilities with Arcana at startup. They can:

  • Add new tools for the AI to use (e.g., a SQL query tool)
  • Register MCP servers automatically
  • Provide custom prompts and templates
  • Hook into session lifecycle events (start, message, end)
  • Integrate with external APIs and services

Installing Plugins

Plugins are distributed through the Arcana plugin registry. Install them with a single command:

# Install from the registry
arcana plugin install arcana-mcp-fs

# Install from a local directory
arcana plugin install ./my-plugin

# Install from a Git repository
arcana plugin install https://github.com/user/arcana-plugin

Managing Plugins

# List all installed plugins
arcana plugin list

# View plugin details and permissions
arcana plugin info arcana-mcp-fs

# Update a plugin to the latest version
arcana plugin update arcana-mcp-fs

# Update all plugins
arcana plugin update --all

# Remove a plugin
arcana plugin remove arcana-mcp-fs

Plugin Registry

Search the community plugin registry to discover plugins:

# Search by keyword
arcana plugin search "database"
arcana plugin search "monitoring"
arcana plugin search "github"

# List popular plugins
arcana plugin list --remote

# View plugin details before installing
arcana plugin info arcana-mcp-fs --remote

Plugin Permissions

Each plugin declares the permissions it needs. Arcana prompts you to review and approve them on first install:

PermissionDescription
shellExecute arbitrary shell commands
filesystemRead and write files
networkMake HTTP requests
memoryRead and write session memory
clipboardRead clipboard contents
# Review permissions of a plugin
arcana plugin permissions arcana-mcp-fs

# Set permissions (disable a permission)
arcana plugin permissions arcana-mcp-fs --deny network

Creating a Plugin

Plugins are JavaScript/TypeScript modules. A minimal plugin structure:

my-plugin/
  package.json
  index.js          # Main plugin entry point
  manifest.json     # Plugin metadata and permissions

An example manifest.json:

{
  "name": "hello-arcana",
  "version": "1.0.0",
  "description": "A simple example plugin",
  "permissions": ["network"],
  "tools": [{
    "name": "hello",
    "description": "A friendly greeting tool",
    "parameters": {
      "type": "object",
      "properties": {
        "name": { "type": "string" }
      }
    }
  }]
}
Last updated: Jul 23, 2026