inputSchema property

  1. @override
Map<String, dynamic> get inputSchema
override

Input schema (JSON Schema format)

Defines the structure of parameters that this tool accepts. Follows JSON Schema specification (draft-07 or later).

Implementation

@override
Map<String, dynamic> get inputSchema => McpSchema.inputSchema(
  type: 'object',
  properties: {
    'query': McpSchema.string(
      description: 'SQL query to execute (read-only)',
      required: true,
    ),
    'maxRows': McpSchema.integer(
      description: 'Maximum rows to return (default: $defaultMaxRows, max: $maxRows)',
      defaultValue: defaultMaxRows,
    ),
    'environment': McpSchema.enumProperty(
      values: ['development', 'production', 'staging', 'test'],
      description: 'Environment config to use (default: development)',
      defaultValue: 'development',
    ),
    'sslMode': McpSchema.enumProperty(
      values: ['disable', 'allow', 'prefer', 'require', 'verify-ca', 'verify-full'],
      description: 'PostgreSQL SSL mode (default: disable for local development)',
      defaultValue: 'disable',
    ),
  },
);