Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/felixdotgo/querybox/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The info command returns basic metadata about the plugin. The host calls this command during plugin discovery at startup to catalog available plugins.

Command Invocation

<plugin-binary> info
Stdin: None (empty) Stdout: JSON-encoded InfoResponse object Timeout: 2 seconds Required: Yes - all plugins must implement this command

Response Structure

type
enum
required
Plugin category. Currently only DRIVER (value: 1) is supported.
name
string
required
Human-readable plugin name (e.g., “MySQL”, “PostgreSQL”)
version
string
required
Semantic version string (e.g., “1.0.0”)
description
string
required
Brief description of the plugin’s purpose
url
string
Homepage, documentation, or repository URL
author
string
Maintainer or organization name
license
string
SPDX license identifier (e.g., “MIT”, “GPL-2.0”)
iconUrl
string
URL to a small icon image for the plugin
capabilities
string[]
Array of feature flags. Recognized capabilities:
  • "explain-query": Plugin supports query execution plans via options["explain-query"] = "yes"
  • "query": Plugin supports standard query execution
tags
string[]
Categorization tags (e.g., ["sql", "relational"])
contact
string
Maintainer email or contact URL
metadata
object
Free-form string-to-string map for arbitrary plugin-specific information
settings
object
String-to-string map with hints for the host (e.g., default values)

Example Implementation

From plugins/mysql/main.go:
func (m *mysqlPlugin) Info(ctx context.Context, _ *pluginpb.PluginV1_InfoRequest) (*plugin.InfoResponse, error) {
    return &plugin.InfoResponse{
        Type:        plugin.TypeDriver,
        Name:        "MySQL",
        Version:     "0.1.0",
        Description: "MySQL database driver",
        Url:         "https://www.mysql.com/",
        Author:      "Oracle",
        Capabilities: []string{"query", "explain-query"},
        Tags:        []string{"sql", "relational"},
        License:     "GPL-2.0",
        IconUrl:     "https://www.mysql.com/common/logos/logo-mysql-170x115.png",
    }, nil
}

Response Format

The plugin must write a protobuf-JSON encoded response to stdout:
{
  "type": "DRIVER",
  "name": "MySQL",
  "version": "0.1.0",
  "description": "MySQL database driver",
  "url": "https://www.mysql.com/",
  "author": "Oracle",
  "capabilities": ["query", "explain-query"],
  "tags": ["sql", "relational"],
  "license": "GPL-2.0",
  "iconUrl": "https://www.mysql.com/common/logos/logo-mysql-170x115.png"
}

Error Handling

  • If the command fails, write error details to stderr and exit with non-zero status code
  • The host will skip plugins that fail the info probe during discovery
  • Errors do not prevent other plugins from loading

Notes

  • The host caches info results for the lifetime of the process
  • Changing plugin metadata requires restarting the application or clicking Rescan in the Plugins window
  • Unknown fields in the response are ignored for forward compatibility

Build docs developers (and LLMs) love