Skip to content
MCP ThesaurusMCP Thesaurus

ABAPilot

CommunityGood77/100Claim

npm abapilotstdioMITupdated 11d ago

ABAPilot is an in-system AI platform for SAP: natural-language business queries and AI-assisted ABAP development on the systems you already run β€” SAP ECC 6.0 through on-premise S/4HANA (any ABAP-based SAP instance). No BTP, no ADT, no RISE prerequisites. Deploys in 2 hours.

SourceWebsite3

What can you do with ABAPilot?

ABAPilot β€” AI & MCP Server for SAP ECC and On-Premise S/4HANA

ABAPilot is an in-system AI platform for SAP: natural-language business queries and AI-assisted ABAP development on the systems you already run β€” SAP ECC 6.0 through on-premise S/4HANA (any ABAP-based SAP instance). No BTP, no ADT, no RISE prerequisites. Deploys in ~2 hours.

Install the connector: npx -y abapilot Β· requires a licensed ABAPilot backend

Website: https://crimsonconsultingsl.com/abapilot/

Architecture deep-dive: ARCHITECTURE.md

Watch a real session (4 min): https://youtu.be/r9mg-gxKQQ0

2026 guide β€” AI for SAP ECC: https://crimsonconsultingsl.com/ai-for-sap-ecc/

Engineering write-up (SAP Community): Running AI agents against SAP ECC 6.0 β€” lessons from building an in-system MCP server

vs SAP's ABAP MCP Server: https://crimsonconsultingsl.com/abapilot-vs-sap-abap-mcp-server/

Quick start

{
  "mcpServers": {
    "abapilot": {
      "command": "npx",
      "args": ["-y", "abapilot"],
      "env": {
        "ABAPILOT_URL": "http://<sap-host>:<port>/sap/bc/ZABAPilot",
        "ABAPILOT_USER": "<sap-user>",
        "ABAPILOT_PASSWORD": "<sap-password>",
        "ABAPILOT_CLIENT": "100"
      }
    }
  }
}

Your SAP credentials go only to your SAP system β€” never to us or any third party.

How it works

  • Inside SAP: pure-ABAP add-on delivered as a transport into the registered /ABAPILOT/ namespace, attached to a single SICF (ICF) node with dynamic per-endpoint dispatch. No kernel changes, no Gateway, no BTP, no ADT/Eclipse dependency.
  • On your network: this MCP connector (npx abapilot) links any MCP client β€” Claude, Claude Code, Cursor, ChatGPT β€” to the SAP-side endpoints.
  • Your model: BYOK for Claude, OpenAI, Gemini, Amazon Bedrock β€” or fully local via Ollama for zero-data-retention deployments.

Tools

49 tools, each mapping 1:1 to an endpoint of the ABAPilot dispatcher inside your SAP system.

Business data

  • sap_read_table_data β€” Reads actual data from a SAP table with optional WHERE clause filtering and metadata inclusion
  • sap_read_table_data_enhanced β€” Query data from an SAP table with optional WHERE clause filtering
  • sap_read_table_paginated β€” Read table data with pagination support for large result sets
  • sap_stream_table_data β€” Streams large table data using offset-based pagination
  • sap_smart_table_query β€” Execute a table query with automatic metadata-driven enhancements
  • sap_multi_table_query β€” Execute a multi-table query with proper joins and optional aggregation
  • sap_count_rows β€” Estimate row count for a table BEFORE fetching data
  • sap_analyze_query β€” Analyze a natural language query and return intelligent guidance for building the SAP query
  • sap_search_tables β€” Search the Data Dictionary for tables matching a keyword

Data Dictionary & metadata

  • sap_read_table_structure β€” Retrieves the metadata of a Data Dictionary table including field definitions, data types, keys, and descriptions
  • sap_read_object_details β€” Read comprehensive details about any SAP repository or DDIC object
  • sap_read_object_info β€” Get metadata about an ABAP object including creation date, last changed date, author, and package
  • sap_check_type_exists β€” Checks whether a type exists in the SAP Data Dictionary and returns its kind
  • sap_read_domain_values β€” Retrieves the fixed values defined for a domain
  • sap_read_field_domain_values β€” Get domain fixed values for a specific table field
  • sap_read_foreign_keys β€” Read foreign key relationships for a table from Data Dictionary (DD08L)
  • sap_infer_joins β€” Automatically detect join keys between two tables based on domain matching
  • sap_get_field_metadata β€” Get enriched metadata for SAP table fields with semantic classification
  • sap_list_package_objects β€” List all ABAP repository objects in a development package (DEVCLASS)

ABAP code

  • sap_read_code β€” Retrieves the source code of an ABAP object (program, class, or function group)
  • sap_read_includes β€” Retrieves all include files for a program with their source code
  • sap_read_dynpros β€” Retrieves screen definitions for a program including field lists
  • sap_read_texts β€” Retrieves text elements (selection texts, text symbols) for a program
  • sap_read_where_used β€” Queries SAP's cross-reference tables (WBCROSSGT/WBCROSSI) to find what objects use a given object (forward) or what a given object uses (inverse)
  • sap_get_enhancements β€” List ALL enhancements for a SAP transaction or program in one call
  • sap_syntax_check β€” Validates ABAP source code for syntax errors without creating or activating it
  • sap_write_code β€” Low-level ABAP write endpoint
  • sap_write_code_safe β€” Write ABAP code to SAP with validation and optional ECC 6.0 auto-fixing
  • sap_patch_code β€” Apply delta modifications to existing ABAP programs or classes without sending full source

Operations & troubleshooting

  • sap_read_dumps β€” Query ABAP runtime errors (short dumps) from SAP's ST22 transaction
  • sap_read_dump_details β€” Get detailed information for a specific short dump including full error texts, cause, and solution
  • sap_read_syslog β€” Query system log entries from SAP's SM21 transaction
  • sap_read_jobs β€” Query background job information from SAP's SM37 transaction
  • sap_run_program β€” Execute an ABAP report program (SUBMIT) and return its list output as text lines
  • sap_run_transaction β€” Run the ABAP report behind a report transaction code, optionally with a selection-screen variant, and return its list output
  • sap_save_variant β€” Create or overwrite an ABAP selection-screen VARIANT for a report, so it can be reused by sap_run_program (and the performance trace / headless…
  • sap_read_user_locks β€” Query user lock status from USR02 table
  • sap_diagnose_message β€” Diagnose a SAP error/warning/info message end-to-end
  • sap_lookup_t100 β€” Look up a specific SAP T100 message by message class and number
  • sap_lookup_error β€” Analyze a SAP error message using all available external knowledge sources

Audit & compliance

  • sap_read_change_docs β€” Query change documents from CDHDR/CDPOS tables
  • sap_read_change_docs_v2 β€” Optimized change document query using function modules
  • sap_discover_change_object β€” Find the change document OBJECTCLAS for a table by querying TCDOB
  • sap_scan_security_notes β€” Discover ABAP Security/HotNews notes for a SAP patch-day month and rank them by relevancy to this system
  • sap_check_notes_relevancy β€” Check relevancy of one or more SAP Note numbers against this system (component/SP levels, download state, implementation readiness)

Translation

  • sap_read_translations β€” Reads translatable texts from a SAP object in source and optionally target language
  • sap_write_translations β€” Writes translated texts back to a SAP object
  • sap_translate β€” Composite tool: reads translatable texts from a SAP object, translates them using AI, and optionally writes them back

Knowledge

  • sap_search_knowledge β€” Search SAP documentation and community for information on any SAP topic

The catalog is gated in two places. In your system, the /ABAPILOT/CONFIG (or /TSRA/CONFIG) endpoint registry decides which endpoints are live β€” switch one off and the tool stops working, with no client change. On the client side, ABAPILOT_TOOLS narrows what a given MCP client sees:

"env": { "ABAPILOT_TOOLS": "sap_read_table_data,sap_read_code,sap_syntax_check" }

The licensed backend serves more than this connector exposes β€” 90+ active endpoints on a current ECC install, including transports and CTS, PFCG roles and SU24, SAP Note download and implementation, customizing writes, ABAP Unit, ATC, and SPAU/SPDD adjustment replay. The tools above are the subset with stable public schemas.

Security model

  • Every call runs under the SAP user's own authorizations (S_TABU_DIS, S_DEVELOP, …) β€” enforced, not reimplemented
  • Exposure limited to the /ABAPILOT/CONFIG whitelist table; anything not whitelisted is unreachable
  • Full audit trail in /ABAPILOT/AUDIT (user, timestamp, parameters)
  • Write endpoints (sap_write_code, sap_patch_code, sap_write_translations, …) ship switched off; a customer administrator activates them per endpoint in the registry

Getting access

ABAPilot is a commercial product by Crimson Consulting SL (Valencia, Spain). The npm connector is free (MIT); the in-system backend is licensed.

Book a demo: https://crimsonconsultingsl.com/demo/ β€” 30 minutes on a live system, you pick the task. POC deployment on your dev system takes about two hours.

Why not SAP's ABAP MCP Server?

Different jobs: SAP's server (inside ADT for Eclipse/VS Code) is excellent for developer assistance on systems with modern ADT services. ABAPilot adds what it doesn't cover: business-user queries, systems without ADT services (most real-world ECC 6.0), governed whitelist+audit access, and model choice including fully local. Many teams run both β€” full comparison here.