3.6 SQLcl MCPサーバーの制限レベルの構成

どのコマンドをSQLcl MCPサーバーで実行できるかを制御するには、SQLclで使用可能な制限レベルを使用します。

SQLclで使用可能な制限レベルについて学習するには、「SQLclの制限レベルについて」を参照してください。

意図的に、SQLcl MCPサーバーの起動時に、デフォルトでそれが、最も厳しい制限レベル(つまり、レベル4)に設定されるようになっています。このレベルでは、ホスト・コマンド、スクリプト、および機密である可能性があるその他の操作の実行が禁止されます。特定のコマンド・セットを許可するようにこの設定を調整できます。これは、制御された方法で新しい機能を使用可能にするために役立ちます。

制限レベルを設定するには、サーバー構成ファイルを編集し、-R引数を、後にレベル番号(0、1、2または3)を続けて、args配列に追加します。

例3-1 デフォルト構成

-Rフラグを指定しなかった場合、そのサーバーは、デフォルトで、レベル4 (最も厳しい制限レベル)に設定されます。このデフォルト構成は次のように表されます:

{
  "mcpServers": {
    "sqlcl": {
      "command": "PATH/bin/sql",
      "args": ["-mcp"]
    }
  }
}

例3-2 スクリプトを許可するがホスト・コマンドを制限

スクリプトの実行(@@@)を許可し、ホスト・コマンドをブロックするには、制限レベルを1に設定します。

{
  "mcpServers": {
    "sqlcl": {
      "command": "PATH/bin/sql",
      "args": ["-R","1","-mcp"]
    }
  }
}

例3-3 すべてのコマンドの許可

完全アクセス権限でサーバーを実行するには、制限レベルをゼロ(0)に設定します。

{
  "mcpServers": {
    "sqlcl": {
      "command": "PATH/bin/sql",
      "args": ["-R","0","-mcp"]
    }
  }
}