mcp-opa-authz MCP
An MCP server that provides LLM agents with definitive authorization answers by evaluating Rego policy code in-process via OPA or querying an external OpenID AuthZEN 1.0 Policy Decision Point (PDP). It distinguishes between explicit denials and undefined policies, offering tools for evaluation, batch checking, and policy discovery.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Evaluate Rego policy in-process to determine if an action is allowed
- Query an AuthZEN PDP for real-time authorization decisions
- Batch evaluate permissions for multiple subjects and resources
- Discover available endpoints on a connected PDP
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/kanywst/mcp-opa-authz:0.6.2
{
"transport": "stdio",
"identifier": "ghcr.io/kanywst/mcp-opa-authz:0.6.2",
"registryType": "oci",
"environmentVariables": [
{
"name": "AUTHZEN_PDP_URL",
"format": "string",
"description": "Default AuthZEN Access Evaluation endpoint, e.g. https://pdp.example.com/access/v1/evaluation. Only evaluate_policy works without it."
},
{
"name": "AUTHZEN_PDP_TOKEN",
"format": "string",
"description": "Authorization header value for the PDP. A value with no scheme is sent as \"Bearer <token>\"."
},
{
"name": "AUTHZEN_PDP_TIMEOUT",
"format": "string",
"description": "Per-request timeout for PDP calls, as a Go duration. Default 10s."
},
{
"name": "MCP_OPA_EVAL_TIMEOUT",
"format": "string",
"description": "Wall-clock limit on a single Rego evaluation, as a Go duration. Default 5s."
},
{
"name": "MCP_OPA_ALLOW_NETWORK_BUILTINS",
"format": "boolean",
"description": "Re-enable http.send, net.lookup_ip_addr and opa.runtime inside evaluated policies. Off by default: policy source evaluated here comes from a model and runs inside the server process."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"mcp-opa-authz-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTHZEN_PDP_URL=<YOUR_AUTHZEN_PDP_URL>",
"-e",
"AUTHZEN_PDP_TOKEN=<YOUR_AUTHZEN_PDP_TOKEN>",
"-e",
"AUTHZEN_PDP_TIMEOUT=<YOUR_AUTHZEN_PDP_TIMEOUT>",
"-e",
"MCP_OPA_EVAL_TIMEOUT=<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"-e",
"MCP_OPA_ALLOW_NETWORK_BUILTINS=<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>",
"ghcr.io/kanywst/mcp-opa-authz:0.6.2"
],
"env": {
"AUTHZEN_PDP_URL": "<YOUR_AUTHZEN_PDP_URL>",
"AUTHZEN_PDP_TOKEN": "<YOUR_AUTHZEN_PDP_TOKEN>",
"AUTHZEN_PDP_TIMEOUT": "<YOUR_AUTHZEN_PDP_TIMEOUT>",
"MCP_OPA_EVAL_TIMEOUT": "<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"MCP_OPA_ALLOW_NETWORK_BUILTINS": "<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>"
}
}
}
}Cline
{
"mcpServers": {
"mcp-opa-authz-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTHZEN_PDP_URL=<YOUR_AUTHZEN_PDP_URL>",
"-e",
"AUTHZEN_PDP_TOKEN=<YOUR_AUTHZEN_PDP_TOKEN>",
"-e",
"AUTHZEN_PDP_TIMEOUT=<YOUR_AUTHZEN_PDP_TIMEOUT>",
"-e",
"MCP_OPA_EVAL_TIMEOUT=<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"-e",
"MCP_OPA_ALLOW_NETWORK_BUILTINS=<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>",
"ghcr.io/kanywst/mcp-opa-authz:0.6.2"
],
"env": {
"AUTHZEN_PDP_URL": "<YOUR_AUTHZEN_PDP_URL>",
"AUTHZEN_PDP_TOKEN": "<YOUR_AUTHZEN_PDP_TOKEN>",
"AUTHZEN_PDP_TIMEOUT": "<YOUR_AUTHZEN_PDP_TIMEOUT>",
"MCP_OPA_EVAL_TIMEOUT": "<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"MCP_OPA_ALLOW_NETWORK_BUILTINS": "<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>"
}
}
}
}VS Code
{
"servers": {
"mcp-opa-authz-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTHZEN_PDP_URL=<YOUR_AUTHZEN_PDP_URL>",
"-e",
"AUTHZEN_PDP_TOKEN=<YOUR_AUTHZEN_PDP_TOKEN>",
"-e",
"AUTHZEN_PDP_TIMEOUT=<YOUR_AUTHZEN_PDP_TIMEOUT>",
"-e",
"MCP_OPA_EVAL_TIMEOUT=<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"-e",
"MCP_OPA_ALLOW_NETWORK_BUILTINS=<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>",
"ghcr.io/kanywst/mcp-opa-authz:0.6.2"
],
"env": {
"AUTHZEN_PDP_URL": "<YOUR_AUTHZEN_PDP_URL>",
"AUTHZEN_PDP_TOKEN": "<YOUR_AUTHZEN_PDP_TOKEN>",
"AUTHZEN_PDP_TIMEOUT": "<YOUR_AUTHZEN_PDP_TIMEOUT>",
"MCP_OPA_EVAL_TIMEOUT": "<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"MCP_OPA_ALLOW_NETWORK_BUILTINS": "<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"mcp-opa-authz-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AUTHZEN_PDP_URL=<YOUR_AUTHZEN_PDP_URL>",
"-e",
"AUTHZEN_PDP_TOKEN=<YOUR_AUTHZEN_PDP_TOKEN>",
"-e",
"AUTHZEN_PDP_TIMEOUT=<YOUR_AUTHZEN_PDP_TIMEOUT>",
"-e",
"MCP_OPA_EVAL_TIMEOUT=<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"-e",
"MCP_OPA_ALLOW_NETWORK_BUILTINS=<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>",
"ghcr.io/kanywst/mcp-opa-authz:0.6.2"
],
"env": {
"AUTHZEN_PDP_URL": "<YOUR_AUTHZEN_PDP_URL>",
"AUTHZEN_PDP_TOKEN": "<YOUR_AUTHZEN_PDP_TOKEN>",
"AUTHZEN_PDP_TIMEOUT": "<YOUR_AUTHZEN_PDP_TIMEOUT>",
"MCP_OPA_EVAL_TIMEOUT": "<YOUR_MCP_OPA_EVAL_TIMEOUT>",
"MCP_OPA_ALLOW_NETWORK_BUILTINS": "<YOUR_MCP_OPA_ALLOW_NETWORK_BUILTINS>"
}
}
}
}Let your agent find its tools
Find servers like mcp-opa-authz MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.