Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAP_URLYesThe URL of the SAP system, e.g., https://<SAP_SYSTEM>:<PORT>
SAP_ROLENoUser role: viewer, developer, or admin (default admin)admin
SAP_USERYesSAP system username
MAX_DUMPSNoMaximum number of dumps in output (default 20)20
SAP_CLIENTYesSAP client number, e.g., 100
SAP_ROUTERNoSAProuter connection string, e.g., /H/saproutprd.example.com/S/3299
ALLOW_WRITENoEnable write operations (default false)false
DEFER_TOOLSNoEnable deferred tool loading (default true)true
ALLOW_DELETENoEnable delete operations (default false)false
SAP_LANGUAGEYesSAP logon language, e.g., ENEN
SAP_PASSWORDYesSAP system password
ALLOW_EXECUTENoEnable execute operations (default false)false
SAP_PROXY_URLNoHTTP-CONNECT proxy URL, e.g., http://proxy.corp.example.com:8080
AUDIT_LOG_FILENoOptional path to a JSON audit log file
TAVILY_API_KEYNoAPI key for Tavily web search (optional, for fetch_url and search_sap_web)
SAP_BTP_CF_HOMENoPath to project directory with cf session
BLOCKED_PACKAGESNoComma-separated list of blocked packages (default SAP,SHD,SMOD)SAP,SHD,SMOD
SAP_ABAP_VERSIONNoABAP version for help.sap.com links (default latest)latest
SAP_ROUTER_DEBUGNoEnable SAProuter debug outputfalse
DEFAULT_TRANSPORTNoDefault transport request number
SAP_ROUTER_PASSWORDNoSAProuter password if required
SOURCE_CACHE_TTL_MSNoSource cache TTL in milliseconds (default 30000, 0 disables)30000
SAP_ALLOW_UNAUTHORIZEDNoAllow self-signed certificates (only for DEV systems)false
SAP_BTP_CONNECTIVITY_PROXYNoURL of BTP Connectivity Proxy, e.g., http://localhost:20003
SYNTAX_CHECK_BEFORE_ACTIVATENoWhether to run syntax check before activation (default true)true
SAP_BTP_CONNECTIVITY_LOCATION_IDNoLocation ID for BTP Connectivity (optional)
SAP_BTP_CONNECTIVITY_CDS_BIND_FILENoPath to CDS bind file for connectivity
SAP_BTP_CONNECTIVITY_CDS_BIND_NAMENoCDS bind name for connectivity

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_abap_contractA

Returns the COMPRESSED public interface (signatures, no method bodies) of a class or interface — typically 5–10% of the full source. Use to give an agent the API surface of a dependency cheaply before writing code against it.

validate_ddic_referencesA

Statically analyzes ABAP source code and checks all referenced table fields against DDIC metadata. Returns a list of invalid field names. ⚡ Recommended to call before write_abap_source to avoid 'Field unknown' syntax errors. Detects: (1) TYPE/LIKE tab-field, (2) table~field (New SQL), (3) SELECT field list FROM table, (4) WHERE clause fields.

batch_readA

Executes multiple read-only tool calls in a single MCP request — the server runs them in parallel (Promise.allSettled) and returns all results at once. Dramatically reduces round-trip latency for clients like Cline that execute tools sequentially. Each operation specifies a tool name and its arguments (same as calling the tool directly). Only read-only tools are allowed (no write/create/delete). Max 20 operations per batch. Example: batch_read({ operations: [ { tool: 'read_abap_source', args: { objectUrl: '...', includeRelated: true }, label: 'main' }, { tool: 'where_used', args: { objectUrl: '...' }, label: 'usages' }, { tool: 'get_object_info', args: { objectUrl: '...' }, label: 'info' } ] })

analyze_abap_contextA

Analyzes the complete context of an ABAP object: reads source code including all includes, detects referenced function modules, classes and interfaces via regex, retrieves their metadata and returns a structured context report. Entry point for the abap_develop workflow.

search_abap_syntaxA

Searches the official ABAP syntax documentation from help.sap.com based on a free-text query (e.g. 'SELECT UP TO ROWS', 'LOOP AT clause order'). Automatically identifies the main keyword, loads the documentation page and returns the relevant syntax section. Call BEFORE writing ABAP code to ensure correct syntax.

fetch_urlA

Fetches and extracts readable content from a URL. Works with JavaScript-rendered pages (SPAs) like SAP Help Portal, SAP Community blogs, SAP Notes, or any web page. Returns the extracted text content. Use when you need to read the actual content of a specific URL (not search). Requires TAVILY_API_KEY in .env.

search_sap_webA

Searches SAP Help (help.sap.com), SAP Community (community.sap.com) and SAP Notes (me.sap.com) via Tavily Search API. Returns compact results (title + URL + snippet) to minimize token usage. Use for: error messages, SAP Notes, best practices, blog posts, KBAs, migration guides. Requires TAVILY_API_KEY in .env.

SAPReadB

Consolidated READ verb. Delegates by 'operation': source | method | contract | info | where_used | table | table_fields | ddic | revisions | context. Pass 'args' exactly as the underlying granular tool expects. Use this when you want a small tool surface instead of the 50 granular tools.

SAPWriteB

Consolidated WRITE verb. Delegates by 'operation': source | method | activate | pretty_print | create_program | create_class | create_interface | create_function_group | create_cds_view | create_table | create_message_class | create_metadata_extension | create_service_definition | create_service_binding | publish_service_binding | create_dcl | create_bdef | delete. Inherits all safety guards (ALLOW_WRITE/DELETE, role, audit) from the delegate. Pass 'args' as the granular tool expects.

SAPSearchB

Consolidated SEARCH verb. Delegates by 'operation': objects | source | call_graph | dead_code. Pass 'args' as the underlying tool expects.

SAPDiagnoseB

Consolidated QUALITY/DIAGNOSTICS verb. Delegates by 'operation': syntax | atc | unit | ddic_validate | clean_abap | dumps | dump_detail | traces | trace_detail | workflow. Pass 'args' as the underlying tool expects.

find_toolsA

Finds and enables ABAP tools by search term or category. ⚠️ Most tools are deferred — call this BEFORE using any non-core tool! Categories: SEARCH, READ, WRITE, CREATE (programs, classes, interfaces, function groups, CDS views, tables, message classes, CDS metadata extensions, service definitions, service bindings, data control language), DELETE, TEST, QUALITY (syntax check, ATC, Clean ABAP review, DDIC validation), DIAGNOSTICS (short dumps, traces), TRANSPORT, ABAPGIT, QUERY, DOCUMENTATION (ABAP syntax help), WEBSEARCH (Google SAP web search), BATCH (parallel read operations), ANALYSIS (call graph, dead-code detection), INTENT (consolidated SAPRead/SAPWrite/SAPSearch/SAPDiagnose verbs). Enabled tools become immediately available.

list_toolsA

Returns a compact overview of ALL 50+ available tools with short descriptions, grouped by category. Shows which tools are currently active (core/enabled) vs. deferred. Use this to discover the right tool for a task. Unlike find_tools, this does NOT enable tools — it only lists them.

Prompts

Interactive templates invoked by user choice

NameDescription
abap_developIntelligent ABAP development workflow: First analyzes the complete context, applies modern ABAP principles.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jackxiong11894/dimidr-abap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server