ABAP MCP
A VS Code extension that automatically deploys ABAP MCP server configuration and a unified AI agent-instructions file for enhanced ABAP development with GitHub Copilot and Claude Code.
What's New in 1.3.0
- Simplified AI instructions — a single instructions file per AI client,
AGENTS.md for GitHub Copilot and CLAUDE.md for Claude Code, documents every MCP tool and every SDD prompt directly
- Leaner workspace footprint — deployed workspace files are now just
.vscode/mcp.json, AGENTS.md, CLAUDE.md, and sdd_template.md
- Full SDD prompt catalog documented — the complete
/spec → /plan → /tasks → /impl workflow plus the /gap traceability add-on are now fully documented, including the required execution order and what each phase reads/writes
Features
✨ Automatic Workspace Setup
- Auto-deploy on folder open: Automatically deploys MCP configuration and files when you open any workspace folder
- Zero configuration: No manual commands needed - works out of the box
- Per-workspace MCP config: Each workspace gets its own local
.vscode/mcp.json configuration
- Version-aware: Only updates files when a newer version is available
- Automatic path updates: MCP executable path is updated automatically when the extension is updated or moved
🛠️ ABAP Object Creation
- Broad object type coverage: programs, classes, interfaces, function groups/modules, CDS views, behavior definitions, behavior implementations, service definitions, metadata extensions, access controls (DCL), data elements, domains, tables, structures, and ABAP Unit test classes
- Flexible package assignment: create objects in
$TMP or any existing development package
- Transport integration: assign objects to an existing transport request or create a new one as part of the operation
- Create → upload → activate in one step: every creation runs an automatic syntax check and returns errors/warnings with line numbers
🧭 Unified AI Instructions
- Single instructions file:
AGENTS.md (GitHub Copilot) and CLAUDE.md (Claude Code) document how to work with this MCP server
- Direct tool guidance: every MCP tool's purpose, mandatory/optional parameters, and sample calls are documented inline
- Direct prompt guidance: the full SDD prompt catalog (
/spec, /plan, /tasks, /impl, /gap) is documented in the same file, including the required execution order
📋 Spec-Driven Development (SDD) Prompts
- The bundled MCP server ships the SDD framework as custom prompts
- Type
/mcp in the Copilot Chat input to list and invoke the available prompts
- Optionally seed
/spec from the bundled templates/sdd_template.md functional-specification template to reduce clarification questions
📁 What Gets Automatically Deployed
To Each Workspace:
.vscode/mcp.json - Local MCP server configuration with SAP connection parameters
AGENTS.md - MCP tool + SDD prompt reference for GitHub Copilot
CLAUDE.md - Equivalent reference for Claude Code users
sdd_template.md - Functional-specification input template for the /spec prompt
.github/.sap-adt-version.json - Version marker used to detect when updates are needed
Requirements
- Windows OS: This extension only works on Windows (MCP server is a Windows executable)
- VS Code 1.85.0 or higher
- GitHub Copilot: Required to use the
AGENTS.md tool/prompt instructions and SDD prompts
- SAP System Access: MCP server requires SAP ABAP system credentials
Quick Start
Install the extension:
code --install-extension abap-mcp-1.3.0.vsix
Open any workspace folder - Files are deployed automatically!
Configure SAP credentials in .vscode/mcp.json (only edit the env values — the command path to the bundled abap-mcp.exe is set automatically by the extension):
{
"servers": {
"abap-mcp": {
"type": "stdio",
"command": "<set automatically by the extension>",
"env": {
"SAP_URL": "https://your-sap-system:44300",
"SAP_USERNAME": "your_username",
"SAP_PASSWORD": "your_password",
"SAP_CLIENT": "100",
"SAP_LANGUAGE": "en"
}
}
}
}
Reload VS Code to activate the MCP server
Start using Copilot — it reads AGENTS.md for MCP tool/prompt guidance automatically!
Commands
The extension contributes one command, available via the Command Palette (Ctrl+Shift+P):
- ABAP MCP: Deploy/Update Workspace Files - Force re-deploys all template files to the selected workspace folder, bypassing the version check.
Use it when:
- Auto-deployment didn't work
- You want to force an update
- You manually deleted files and want to restore them
⚠️ Note: A force deploy (and any automatic version update) overwrites .vscode/mcp.json with the template, so you will need to re-enter your SAP credentials afterwards. Back up your env values first if needed.
Configuration
The extension automatically creates .vscode/mcp.json in your workspace with a template configuration.
SAP Connection Parameters
Required Parameters:
SAP_URL: Your SAP system URL (format: https://hostname:port)
SAP_USERNAME: Your SAP username
SAP_PASSWORD: Your SAP password
SAP_CLIENT: SAP client number (e.g., "100")
SAP_LANGUAGE: Language code (default: "en")
Optional Parameters:
TLS_REJECT_UNAUTHORIZED: Set to "0" if using self-signed certificates (default: "0")
HTTP_PROXY: HTTP proxy URL (format: http://username:password@proxy:port)
HTTPS_PROXY: HTTPS proxy URL
Security Notes
⚠️ Important: Storing passwords in mcp.json is not secure for production use. Consider:
- Using environment variables
- Restricting file permissions on
.vscode/mcp.json
- Adding
.vscode/mcp.json to .gitignore
- Using SAP's secure credential store
- Future versions may support more secure credential management
AGENTS.md / CLAUDE.md — AI Instructions Reference
The extension deploys a single instructions file that teaches the AI directly how to work with this MCP server — there's nothing to @mention or invoke; Copilot/Claude read the file automatically as workspace context.
AGENTS.md — read by GitHub Copilot
CLAUDE.md — the equivalent reference for Claude Code
Both files document the same two things:
- MCP Tools Reference — every SAP ADT tool exposed by the bundled MCP server, each with when-to-use guidance, mandatory/optional parameters, and sample calls:
GetAgentSkill - Curated syntax patterns, naming rules, and pitfalls per ABAP/CDS object type — always called before generating source
GetObjectInfo - Retrieve existing object source/metadata
SearchObject - Find an object's exact name/type before further calls
CreateAIObject - Create a new Z*-prefixed ABAP/CDS/DDIC object
ChangeAIObject - Update an existing Z*-prefixed object's source
ActivateObject - Activate + syntax-check a Z* object
WhereUsedSearch - Find references before changing/deleting an object
sap_help_search / sap_help_get - Look up official SAP documentation
sap_community_search - Look up SAP Community blog posts/discussions
data_preview - Execute a read-only SELECT against a table or CDS view
- SDD Custom Prompts Reference — the
/spec → /plan → /tasks → /impl workflow plus the /gap add-on (see below)
Custom Prompts — Spec-Driven Development (SDD)
The MCP server includes the SDD (Spec-Driven Development) framework as custom prompts. SDD structures AI-assisted development around an explicit specification before code is generated, giving you reviewable, repeatable results.
To use them:
- Open GitHub Copilot Chat
- Type
/mcp in the chat input — the available prompts from the abap-mcp server are listed
- Select a prompt to run it
Workflow order
Run the phases strictly in this order — each one reads artifacts the previous phase wrote to specs/<feature>/ and .specify/feature.json. Don't skip ahead (e.g. don't run /tasks before /plan has produced a plan for the active feature):
| Step |
Prompt |
Input → Output |
| 1 |
/spec |
Natural-language requirement (or a filled-in templates/sdd_template.md) → spec.md (business-focused functional spec) |
| 2 |
/plan |
spec.md → plan.md (RAP/ABAP implementation architecture, per object type) |
| 3 |
/tasks |
plan.md → tasks/*.md (dependency-ordered T001-TNNN checklist, with inline ABAP source externalized to tasks/source/*.abap) |
| 4 |
/impl |
Executes ONE tasks file at a time against the live SAP system, in the order listed in tasks/00-index.md, using the CreateAIObject → lock → ActivateObject → ATCbyObject workflow with an Actor/Evaluator fix cycle |
Optionally seed /spec from a filled-in templates/sdd_template.md (Functional Specification input) instead of a raw free-text description — it maps 1:1 onto spec.md sections (Business Context, Functional Requirements, Input/Output, Business Rules, Test Cases, References, Constraints, Out of Scope) and reduces the number of clarification questions /spec asks.
/gap — traceability add-on
Not a workflow phase — an add-on check you can run any time after /spec (typically after /impl, or whenever you want to verify progress). Compares the original requirement — the filled-in templates/sdd_template.md or the free-text description given to /spec — against everything actually produced for the feature (spec.md, plan.md, tasks/*.md, and what's actually been created/activated in SAP), across 7 layers: REQ→Spec, Spec→Plan, Plan→Tasks, Tasks→Impl, field lineage, logic/validation coverage, and test coverage. Uses a 3-round Actor/Evaluator reflexion loop, then a one-gap-at-a-time Q&A to close or defer each gap, and produces a prioritized remediation plan. Writes results into the feature's traceability.md.
/gap
/gap context="tasks gaps only"
How It Works
First Workspace Open
- Extension activates on VS Code startup
- Detects workspace folders
- For each workspace:
- Copies
.vscode/mcp.json, AGENTS.md, CLAUDE.md, and sdd_template.md into the workspace
- Updates the MCP
command path to the bundled bin/abap-mcp.exe inside the extension directory
- Writes the version marker
.github/.sap-adt-version.json
Subsequent Workspace Opens
- Extension checks version in
.github/.sap-adt-version.json
- If workspace version is older than extension version, updates files
- If versions match, skips deployment — but still refreshes the MCP executable path in case the extension moved
Extension Updates
- MCP server path is automatically updated to new extension location
- Workspace files are updated when you open a workspace with older versions
Building the Extension (VSIX)
To build the installable .vsix from source:
npm install # install dependencies
npm run package # compiles TypeScript (via vscode:prepublish) and runs vsce package
This produces abap-mcp-<version>.vsix in the project root. Alternatively, run .\setup.ps1 to uninstall any old version, rebuild, package, and reinstall in one step. See BUILD.md for details.
Troubleshooting
MCP Server Not Working
- Open
.vscode/mcp.json in your workspace and verify the abap-mcp server entry exists
- Verify the
command path points to bin\abap-mcp.exe inside the installed extension directory
- Check SAP credentials in the
env block are correct
- Reload VS Code:
Ctrl+Shift+P → "Developer: Reload Window"
- If the path looks wrong, run ABAP MCP: Deploy/Update Workspace Files (this resets
mcp.json — re-enter credentials)
Workspace Files Not Installing
- Check the workspace folder is writable
- Run the manual command: ABAP MCP: Deploy/Update Workspace Files
- Check for errors in
Help → Toggle Developer Tools → Console or View → Output → Extension Host
- This extension only works on Windows
- Mac/Linux users will see an error message on activation
Version History
1.3.0
AI Workflow Simplification
- Introduced a single unified instructions file per AI client —
AGENTS.md (GitHub Copilot) and CLAUDE.md (Claude Code) — that documents every MCP tool and every SDD prompt directly
- Documented the full SDD prompt catalog, including the
/gap traceability add-on and the required /spec → /plan → /tasks → /impl execution order
Deployment
- Deployed workspace files reduced to
.vscode/mcp.json, AGENTS.md, CLAUDE.md, sdd_template.md, and the version marker
1.2.0
Object Creation
- Fixed bugs in the creation tool for the Behavior Implementation object type
- Added support for new object types in the creation tools: Data Element, Domain, Table, Structure, and ABAP Unit test classes
- Lifted package validation — objects can now be created in any existing package, using either an existing or a newly created transport request
AI Workflow
- Added the Spec-Driven Development (SDD) framework as custom MCP prompts (type
/mcp in Copilot Chat to access them)
1.0.0
- Initial release
- MCP server auto-configuration via per-workspace
.vscode/mcp.json
- Workspace file deployment with version tracking
Credits & Acknowledgments
This extension builds upon the excellent work of the following open-source projects:
MCP Server Implementation
See THIRD_PARTY_LICENSES.md for complete license details.
License
MIT License - see LICENSE file for details.
Copyright (c) 2026 HariePrasad
Support
For issues and feature requests, please open an issue on the GitHub repository.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Note: This extension requires GitHub Copilot subscription and access to an SAP ABAP system.