Abapilot MCP Server

ABAPilot by Crimson Consulting connects AI coding assistants to SAP ECC and on-premise S/4HANA. Use SAP source code and dictionary context to understand existing ABAP, review proposed changes and support development from your preferred MCP-capable coding client. Its 40 documented tools cover sap, table, code, domain. It runs locally over stdio via the published package.

People who work with sap, table and code and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in JavaScript.

VERIFIED ACTIVE

LAST COMMIT 2026-09-10 · ★ 3 · #283 OF 945 MAINTAINED OTHER · VERIFIED 2026-09-18

MIT · JavaScript servers · how we verify → /methodology

01 · Install Abapilot

before you install - you'll need

ABAPILOT_TOOLS

Environment variables documented in the project's README - it lists which are required and which have defaults.

Claude Code

claude mcp add nicohern-abapilot-mcp -- npx -y abapilot

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "nicohern-abapilot-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "abapilot"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-07-22 - young repo, little track record yet

license MIT - declared in the repository

npm package abapilot - unscoped; check the name against the project README before installing

registry namespace io.github.NicoHern is GitHub-verified and matches the repo owner

03 · What Abapilot can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can read actual data from a SAP table with optional WHERE clause filtering and metadata inclusion, query data from a SAP table with optional WHERE clause filtering, read table data with pagination support for large result sets, and stream large table data using offset-based pagination.

The 40 tools it gives your agent

Extracted from the project's README - what ABAPilot lets an agent do.

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 a 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
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
show all 40 tools
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)
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
- Forward a source-write request; object support, validation and activation depend on the installed backend
sap_write_code_safe
- Forward a request to the backend; safeguards are not implemented by the public Node connector and its input schema is incomplete
sap_patch_code
- Forward a source-patching request; supported patch arguments and validation depend on the backend
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
- Request report execution; output depends on the backend, with no timeout or background-job fallback implemented by this connector
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

04 · Who maintains Abapilot

ABAPilot is maintained by nicohern. It's the only MCP server we track from this author; the repo dates to Jul 2026.

05 · Facts

category
other - ranked #283 of 945 actively-maintained other servers as of 2026-09-18.
registry
io.github.NicoHern/abapilot-mcp (active, first published 2026-07-22 · 3 versions)
packages
npm:abapilot

06 · Abapilot FAQ

Is Abapilot still maintained?

Yes - as of 2026-09-18, its last commit was 2026-09-10. We re-verify nightly.

What can Abapilot do?

With this server connected, an agent can read actual data from a SAP table with optional WHERE clause filtering and metadata inclusion, query data from a SAP table with optional WHERE clause filtering, read table data with pagination support for large result sets, and stream large table data using offset-based pagination.

How do I install Abapilot?

Run `npx -y abapilot`. The README documents one environment variable (ABAPILOT_TOOLS) to set first. You can also paste the ready-made client config above.

Does Abapilot run locally?

Yes - it's a stdio server: it runs on your machine (via npx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Abapilot