Medium Risk

adt_set_source_chunked

Replace ABAP source incrementally for files larger than the MCP per-call I/O cap. Caller acquires a lock with adt_lock, then sends the source in N chunks (chunkIndex 0..N-1) under a stable bufferId, and finally commits with commit=true to trigger the actual PUT. The chunks accumulate in server-si...

How to control adt_set_source_chunked ↓

What adt_set_source_chunked does on Claude For Abap

AI agents use adt_set_source_chunked 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_set_source_chunked needs a policy

The tool creates or modifies ABAP source code reversibly through an incremental, buffered mechanism. While it modifies production-adjacent code (ABAP objects in SAP), the changes are reversible (can be undone via version control, transport rollback, or re-editing). This is Write rather than Destructive because it does not irreversibly delete data.

From the tool's definition Tool description explicitly states it 'Replace[s] ABAP source' and 'trigger[s] the actual PUT' via commit. This modifies ABAP code in a SAP system via ADT (ABAP Development Tools).

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

How to control adt_set_source_chunked

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_set_source_chunked:

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

adt_set_source_chunked 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_set_source_chunked

What does the adt_set_source_chunked tool do? +

Replace ABAP source incrementally for files larger than the MCP per-call I/O cap. Caller acquires a lock with adt_lock, then sends the source in N chunks (chunkIndex 0..N-1) under a stable bufferId, and finally commits with commit=true to trigger the actual PUT. The chunks accumulate in server-side memory (10-minute TTL, 4 MB total cap per buffer). Same partial-source guard as adt_set_source applies at commit time. 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_set_source_chunked? +

Register the Claude For Abap MCP server in PolicyLayer and add a rule for adt_set_source_chunked: 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_set_source_chunked? +

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

Can I rate-limit adt_set_source_chunked? +

Yes. Add a rate_limit block to the adt_set_source_chunked 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_set_source_chunked completely? +

Set action: deny in the PolicyLayer policy for adt_set_source_chunked. 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_set_source_chunked? +

adt_set_source_chunked 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.