ABAP FS Tools for Agents (MCP)¶
Agents get the ABAP FS tools (search, read, edit, activate, unit tests, ATC, SQL, transports, debugging and more) through the ABAP FS MCP server. There are two ways to set this up:
Automatic: abapfs.acp.provideMcpServer |
Manual: in the agent's own config | |
|---|---|---|
| Setup | One setting in VS Code | Edit the agent's MCP config file |
| Works for | Agents that accept MCP servers from the client (most do) | Every MCP-capable agent |
| Tools available | Only in Agent Chat sessions | Also when you use the agent outside VS Code (VS Code must still be open) |
| Server start | Started automatically when an agent connects | Start it yourself, or set abapfs.mcpServer.autoStart |
Use one of them per agent. With both, the agent sees every tool twice.
Automatic: provideMcpServer¶
When a session is created, loaded or resumed, ABAP FS:
- Starts the MCP server on
abapfs.mcpServer.port(default4847) if it isn't running. - Adds a server named
abap-fsto the session'smcpServers, using one of two transports:
Over HTTP¶
If the agent says during the ACP handshake that it accepts HTTP MCP servers (mcpCapabilities.http), it gets the URL directly:
With abapfs.mcpServer.apiKey set, the matching Authorization: Bearer <key> header is sent along.
Over stdio (bridge)¶
ACP only guarantees stdio MCP servers, so agents that don't announce HTTP support get a small stdio bridge instead. It's bundled with ABAP FS and runs on VS Code's own Node.js runtime, so nothing extra needs to be installed. The agent starts it like any local MCP server; the bridge relays every message to the HTTP server and passes on the API key if one is set.
The ABAP FS Agents output channel shows which transport was used:
Passing ABAP FS MCP server to agent over HTTP: ...Agent did not advertise mcpCapabilities.http over ACP; passing ABAP FS MCP through the stdio bridge to ...
Manual: add ABAP FS to the agent's config¶
Use this when the agent ignores MCP servers sent by the client (some do), or when you also want the tools outside Agent Chat. Turn abapfs.acp.provideMcpServer off for that agent's sessions to avoid duplicate tools.
1. Start the MCP server: run ABAP FS: Start MCP Server. This also turns on abapfs.mcpServer.autoStart for this workspace. The notification shows the URL; the default is http://localhost:4847/mcp.
2. Add it to the agent. Check your agent's documentation for the exact format. Common examples:
Claude Code:
With an API key:
claude mcp add --transport http abap-fs http://localhost:4847/mcp --header "Authorization: Bearer your-secret-key"
Gemini CLI, in ~/.gemini/settings.json:
Agents that take a URL, for example in an mcpServers / mcp.json file:
{
"mcpServers": {
"abap-fs": {
"url": "http://localhost:4847/mcp",
"headers": { "Authorization": "Bearer your-secret-key" }
}
}
}
Leave out headers when no API key is set.
Agents that only support stdio MCP servers: run the bundled bridge with Node.js. For example, in Codex's ~/.codex/config.toml:
[mcp_servers.abap-fs]
command = "node"
args = ["<extension folder>/client/dist/mcpStdioBridge.js", "http://localhost:4847/mcp"]
env = { ABAPFS_MCP_TOKEN = "your-secret-key" }
<extension folder>is the installed ABAP FS extension, for example~/.vscode/extensions/murbani.vscode-abap-remote-fs-<version>. The folder name changes with every extension update, so update the path after updating ABAP FS.ABAPFS_MCP_TOKENis only needed whenabapfs.mcpServer.apiKeyis set.- Any Node.js 18 or later works.
3. Restart the agent in Agent Chat (Restart in the panel's ... menu) so it reads its new config.
Which tools are there¶
The same tools GitHub Copilot gets in VS Code. See MCP Server - Available Tools. The most important ones for agents:
| Tool | Use |
|---|---|
abapfs_search_objects |
Find objects by name pattern |
abapfs_get_workspace_uri |
Get the adt:// URI of an object for editing |
abapfs_get_object_source |
Read source code |
replace_string_in_abap_object |
Edit ABAP source (find and replace), saved as inactive |
get_abap_diagnostics |
Syntax check after an edit |
abapfs_activate_object |
Activate edited objects |
abapfs_run_unit_tests |
Run ABAP unit tests |
Tools need a connected SAP system, so connect before you start the agent.