diff --git a/2.2.2.202608291554/artifacts.jar b/2.2.2.202608291554/artifacts.jar
deleted file mode 100644
index d1b46f2..0000000
Binary files a/2.2.2.202608291554/artifacts.jar and /dev/null differ
diff --git a/2.2.2.202608291554/artifacts.xml.xz b/2.2.2.202608291554/artifacts.xml.xz
deleted file mode 100644
index 227e0dd..0000000
Binary files a/2.2.2.202608291554/artifacts.xml.xz and /dev/null differ
diff --git a/2.2.2.202608291554/content.jar b/2.2.2.202608291554/content.jar
deleted file mode 100644
index 10b5a81..0000000
Binary files a/2.2.2.202608291554/content.jar and /dev/null differ
diff --git a/2.2.2.202608291554/content.xml.xz b/2.2.2.202608291554/content.xml.xz
deleted file mode 100644
index 5ea3796..0000000
Binary files a/2.2.2.202608291554/content.xml.xz and /dev/null differ
diff --git a/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar b/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar
deleted file mode 100644
index a9fa69e..0000000
Binary files a/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar and /dev/null differ
diff --git a/2.2.2.202608291620/artifacts.jar b/2.2.2.202608291620/artifacts.jar
new file mode 100644
index 0000000..4b7153d
Binary files /dev/null and b/2.2.2.202608291620/artifacts.jar differ
diff --git a/2.2.2.202608291620/artifacts.xml.xz b/2.2.2.202608291620/artifacts.xml.xz
new file mode 100644
index 0000000..c284156
Binary files /dev/null and b/2.2.2.202608291620/artifacts.xml.xz differ
diff --git a/2.2.2.202608291620/content.jar b/2.2.2.202608291620/content.jar
new file mode 100644
index 0000000..3c68207
Binary files /dev/null and b/2.2.2.202608291620/content.jar differ
diff --git a/2.2.2.202608291620/content.xml.xz b/2.2.2.202608291620/content.xml.xz
new file mode 100644
index 0000000..65c9cd2
Binary files /dev/null and b/2.2.2.202608291620/content.xml.xz differ
diff --git a/2.2.2.202608291620/features/com.epod.adt.mcp.feature_2.2.2.202608291620.jar b/2.2.2.202608291620/features/com.epod.adt.mcp.feature_2.2.2.202608291620.jar
new file mode 100644
index 0000000..92852c6
Binary files /dev/null and b/2.2.2.202608291620/features/com.epod.adt.mcp.feature_2.2.2.202608291620.jar differ
diff --git a/2.2.2.202608291554/p2.index b/2.2.2.202608291620/p2.index
similarity index 82%
rename from 2.2.2.202608291554/p2.index
rename to 2.2.2.202608291620/p2.index
index 486c28c..5d20637 100644
--- a/2.2.2.202608291554/p2.index
+++ b/2.2.2.202608291620/p2.index
@@ -1,4 +1,4 @@
-#Sat Aug 29 17:54:45 CEST 2026
+#Sat Aug 29 18:20:23 CEST 2026
artifact.repository.factory.order=artifacts.xml.xz,artifacts.xml,\!
metadata.repository.factory.order=content.xml.xz,content.xml,\!
version=1
diff --git a/2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar b/2.2.2.202608291620/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291620.jar
similarity index 97%
rename from 2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar
rename to 2.2.2.202608291620/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291620.jar
index f312994..f3ae430 100644
Binary files a/2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar and b/2.2.2.202608291620/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291620.jar differ
diff --git a/README.md b/README.md
index 78f242a..11c4e4d 100644
--- a/README.md
+++ b/README.md
@@ -108,6 +108,8 @@ GET http://127.0.0.1:3000/health
**Window > Preferences > ABAP MCP Server** — change the server port, enable auto-start when you connect to a project, or set the full-source line threshold for element reads (default: 200 lines).
+The token buttons sit in the **ABAP MCP Server** view, not on the preference page. The **Copy client config** button copies the configuration block, with the bearer token, to the clipboard. The **Regenerate token** button creates a new token when the token leaks. The server stores the token and reuses it on every later start. The token survives an Eclipse restart, so the client configuration stays valid.
+
## Multi-System Support
@@ -124,6 +126,15 @@ When multiple ABAP projects are connected, pass `systemId` (the Eclipse project
The `systemId` description in every tool's schema is dynamically populated from the live registry, so the AI always knows which systems are available.
+## Access Mode
+
+Each connected system has an access mode: write or read-only. A new connection starts in write. The mode lives in the third column of the **ABAP MCP Server** view table, next to Project and Status. The **Toggle Read-Only** button flips the mode of the selected system.
+
+A read-only system refuses the 9 write tools and makes no ADT call against SAP. Every other tool works on a read-only system. The 9 write tools are `sap_push_source`, `sap_push_source_from_file`, `sap_push_element`, `sap_create_object`, `sap_activate`, `sap_lock`, `sap_unlock`, `sap_transport_create`, and `sap_transport_release`.
+
+The mode survives an Eclipse restart and a reconnect. The plugin stores the mode per project name. `sap_list_systems` shows the mode of each connected system.
+
+
## MCP Tools
The plugin exposes 27 tools covering the full ABAP development workflow:
@@ -148,7 +159,7 @@ The plugin exposes 27 tools covering the full ABAP development workflow:
| `sap_push_source` | Write source code from context to an ABAP object in SAP — runs the full lock → write → unlock → activate pipeline in one call |
| `sap_push_source_from_file` | Save a local file back to SAP through the same one-call pipeline |
| `sap_push_element` | Write one member block. The server merges the block into the current full source and pushes it — the model never holds the class. CLAS, INTF, PROG, FUGR |
-| `sap_pretty_print` | Format (pretty-print) ABAP source via the server formatter |
+| `sap_pretty_print` | Format (pretty-print) ABAP source through the ADT pretty-printer service. The tool takes only the source and uses the server's stored settings |
### Lifecycle
diff --git a/compositeArtifacts.xml b/compositeArtifacts.xml
index f7f5fa6..7b2669d 100644
--- a/compositeArtifacts.xml
+++ b/compositeArtifacts.xml
@@ -4,10 +4,10 @@
type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository'
version='1.0.0'>
-
+
-
+
diff --git a/compositeContent.xml b/compositeContent.xml
index 9d70b43..9b07c19 100644
--- a/compositeContent.xml
+++ b/compositeContent.xml
@@ -4,10 +4,10 @@
type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository'
version='1.0.0'>
-
+
-
+