[mcpdome]
version = "1"
default_effect = "deny"
[[rules]]
id = "block-secrets"
priority = 1
effect = "deny"
identities = "*"
tools = "*"
arguments = [
{ param = "*", deny_regex = [
"AKIA[A-Z0-9]{16}",
"ghp_[a-zA-Z0-9]{36}",
"-----BEGIN.*PRIVATE KEY-----",
"sk-[a-zA-Z0-9]{20,}",
"xoxb-[0-9]+-[a-zA-Z0-9]+",
] },
]
[[rules]]
id = "admin-full-access"
priority = 10
effect = "allow"
identities = { labels = ["role:admin"] }
tools = "*"
[[rules]]
id = "dev-no-destructive"
priority = 50
effect = "deny"
identities = { labels = ["role:developer"] }
tools = ["delete_file", "drop_table", "rm_rf", "exec_command"]
[[rules]]
id = "dev-read-tools"
priority = 100
effect = "allow"
identities = { labels = ["role:developer"] }
tools = ["read_file", "grep", "git_status", "git_log", "list_dir"]
[[rules]]
id = "dev-write-safe-paths"
priority = 110
effect = "allow"
identities = { labels = ["role:developer"] }
tools = ["write_file"]
arguments = [
{ param = "path", allow_glob = ["/tmp/**", "/home/*/projects/**"], deny_regex = [".*\\.env$", ".*credentials.*", ".*\\.key$"] },
]
[[rules]]
id = "ci-bot-tools"
priority = 100
effect = "allow"
identities = { principals = ["psk:ci-bot"] }
tools = ["run_tests", "deploy_staging", "git_status"]