Lesson 3 of 5
Connecting a coding agent
9 min
Listen to this lesson
With the server running, you connect an MCP host. SAP's documentation describes VS Code's own chat, where GitHub Copilot is the primary tested agent, and states that the server can be configured in other MCP hosts with the same URL and header. SAP's RAP130 tutorial on GitHub requires a coding agent that supports VS Code's virtual workspace file system, so that it can read and edit ABAP files as well as call MCP tools.
Option 1: chat in VS Code
- Run MCP: List Servers from the Command Palette, select the ADT MCP server and choose Start Server. The Output panel shows how many tools are available.
- In the chat, choose Configure Tools to see the ADT MCP tools, and select or deselect them for the current request.
- Switch to agent mode, pick the agent, and type your prompt.
- When a tool needs approval, a dialog shows the tool details. You can approve once, for the session, for the workspace or always.
If new tools don't appear after an update, SAP's FAQ says the usual cause is VS Code's MCP tool cache: select the ADT MCP server and start or restart it. Community users also found that some VS Code chat settings must allow MCP access before the server's tools show up.
Option 2: another MCP host
Any MCP host that supports HTTP servers with custom headers can connect. SAP shows the configuration for VS Code chat and notes that formats differ between hosts while the core details stay the same:
Two cautions apply to every host. Keep the token out of files you commit; a host that supports environment variables in its configuration lets you reference the token instead of pasting it. And remember SAP's FAQ: the server runs inside the IDE, so a terminal agent such as Claude Code can connect only while VS Code or Eclipse is running. sap-aid-203 covers that setup in detail.
Give the agent your rules: AGENTS.md
SAP recommends a custom AGENTS.md file for project context, whatever agent you use, and its Agent Configuration page provides a template. Its rules include: always use cloud-compliant ABAP syntax and APIs; use a named local package for experiments with no transports; use a given prefix for classes; use the ADT MCP server for creating objects; search via the directory first because of the virtual file system; edit source through the editor; always run unit tests after changes; and put unit tests in the test class include. Adapt it to your landscape.
| MCP host | How it connects | Notes |
|---|---|---|
| VS Code chat (for example GitHub Copilot) | Built in: MCP: List Servers → Start Server | Primary tested by SAP; works with the virtual file system |
| Other agents inside VS Code | Host-specific MCP configuration with URL and bearer header | Must support the virtual workspace file system to edit ABAP files directly |
| Terminal agents such as Claude Code | HTTP MCP server at localhost with bearer header | IDE must be running; edits go through abap_edit_file or another route (see sap-aid-203) |
| Eclipse users with an MCP host | Same URL pattern on port 2234 | Token shown on the Eclipse MCP Server preference page |
A tool approval policy
Decide in advance which tools need a person's approval for each call. Contoso's pilot policy is simple: tools that only read (destinations, search, read file, get transport, get diff, ATC results) may be approved for the session; tools that change something (create, edit, activate, generate, run deterministic quick fixes, create transports) are approved one call at a time; and three tools stay deselected entirely: AI-based ATC fixes, exemption requests and the feed query. The policy lives in the team's AGENTS.md and in the pilot sign-off, so everyone applies the same rule.
Start read-only
The first session with any agent should change nothing. Deselect create, edit, activate, transport and quick-fix tools, and give the agent read-only tasks. This tells you how the agent behaves, how it uses the tools and how much context it needs, before it can do harm.
| Read-only task | Tools it uses | What you learn |
|---|---|---|
| "List the destinations you can reach." | abap_lists_destinations | Whether access restrictions hide everything except CMD |
| "Find all behavior definitions in the pilot package." | abap_repository_search_object | Whether it searches correctly in the virtual file system |
| "Read ZBP_R_CMC_COREAGREEMENT and summarize the validations." | abap_read_file | Whether its summary matches the code |
| "Which transport holds ZR_CMC_CoreAgreement?" | abap_transport_get_request | Whether it reports transports without changing them |
| "Show the diff of transport CMDK900123." | abap_transport_get_unified_diff | Whether it explains a change set accurately |
Five discovery prompts for a first session at Contoso; the transport number is illustrative.
What would you do?
A Contoso developer connects an agent for the first time and asks it to "tidy up the core agreement BO". The agent immediately asks to approve <code>abap_object_create</code> and <code>abap_transport_create_request</code>. What should he do?
- VS Code chat: MCP: List Servers → Start Server; Configure Tools to choose tools; approve tool calls deliberately.
- Other MCP hosts connect with the localhost URL and the bearer token header; keep the token out of committed files.
- SAP recommends an AGENTS.md file and provides a template; adapt it to your landscape.
- Start with read-only tasks and tools; widen scope only when the agent proves reliable.
- If new tools don't appear, restart the server to refresh VS Code's MCP cache.
Check your understanding · not graded
Lesson check
1. Which VS Code command starts the connection between the chat and the ADT MCP server?
2. Which agent does SAP's RAP130 tutorial name as primary tested and recommended?
3. New ADT MCP tools are missing in VS Code after an update. What does SAP's FAQ suggest?