Skip to main content
Forge provides separate ACL resources for MCP servers and skills. Both resolve readable registry selectors and directory subjects during the connected plan, then retain the readable configuration in Terraform state.

MCP ACL

forge_mcp_acl compiles to a Terraform-managed Content policy evaluated at pre_tool. It matches one MCP server and, optionally, a subset of that server’s tools. At least one user or group is required. An empty subject set is rejected rather than interpreted as everyone.
Qualify an ambiguous directory group:
This resource does not edit an MCP Registry-owned policy projection. Registry policy and Terraform ACLs can both match the same request; Forge evaluates the complete applicable Content-policy set.

Skill ACL

forge_skill_acl controls whether exact users or groups can use one registered skill. Set exactly one subject mode: one or more users/groups, or everyone = true.

Planning

A connected plan resolves:
  • The MCP server or skill to exactly one registry object.
  • Every user and group to exactly one directory identity, using directory qualifiers when provided.
  • MCP tool names against the selected server.
  • Current policy revision and Terraform authority.
  • The complete compiled policy definition.
Missing or ambiguous references fail the plan. The provider does not silently drop a selector or select the first match.

Import

Import by the stable ACL ID:
Import does not claim an existing Forge-managed policy. Adopt the policy with forge_policy_authority first when it is not already owned by the same Terraform manager.

Destroy

Destroy uses the last observed revision and fails on concurrent modification. Both resources are removed through their policy-family authority and revision checks; the provider does not issue an unguarded registry deletion. Use prevent_destroy when removal requires separate security review: