Medium Risk

adt_lock

Acquire a stateful lock on an ABAP object. Returns a lockHandle to reuse across multiple adt_set_source calls. On CTS conflicts the error includes longText and t100 details (which TR is blocking, who owns it) so the caller can recover.

How to control adt_lock ↓

What adt_lock does on Claude For Abap

AI agents use adt_lock to create or update resources in Claude For Abap — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Claude For Abap environment.

Medium Risk

Why adt_lock needs a policy

The tool acquires locks on ABAP objects, which is a state-modifying operation that prevents concurrent access by others. While locks are typically reversible (can be released), acquiring a lock on a production object could interfere with other developers' workflows and cause operational delays.

From the tool's definition The tool description states it 'Acquire[s] a stateful lock on an ABAP object' and is designed to work 'across multiple adt_set_source calls', indicating it modifies the state of ABAP objects by acquiring exclusive control over them.

Documented attack patterns abuse exactly the kind of access adt_lock gives an agent:

How to control adt_lock

PolicyLayer is an MCP gateway — it sits between your AI agents and Claude For Abap, and nothing reaches the server without passing your rules. This is the rule we recommend for adt_lock:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "adt_lock": {
      "limits": [
        {
          "counter": "adt_lock_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

adt_lock stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Claude For Abap — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about adt_lock

What does the adt_lock tool do? +

Acquire a stateful lock on an ABAP object. Returns a lockHandle to reuse across multiple adt_set_source calls. On CTS conflicts the error includes longText and t100 details (which TR is blocking, who owns it) so the caller can recover. It is categorised as a Write tool in the Claude For Abap MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on adt_lock? +

Register the Claude For Abap MCP server in PolicyLayer and add a rule for adt_lock: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Claude For Abap. Nothing to install.

What risk level is adt_lock? +

adt_lock is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit adt_lock? +

Yes. Add a rate_limit block to the adt_lock rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block adt_lock completely? +

Set action: deny in the PolicyLayer policy for adt_lock. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides adt_lock? +

adt_lock is provided by the Claude For Abap MCP server (yzonur/claude-for-abap). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Claude For Abap tool call.

Start from Claude For Abap, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

45 Claude For Abap tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.