Skip to main content
Glama
marianfoo

SAP Documentation MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_PORTNoPort for Streamable HTTP server (configurable via MCP_PORT)3122

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchA

SEARCH ABAP/RAP DOCUMENTATION: search(query="search terms")

FUNCTION NAME: search

Unified search for ABAP + RAP development documentation. It searches across curated OFFLINE sources (fast, deterministic) and can also include ONLINE sources (best-effort, 10s timeout per source) when enabled.

Use this to discover the best document IDs, then call fetch(id=...) to retrieve full content.

LANGUAGE: Query in ENGLISH — the corpus and ranking are primarily English; non-English queries return weaker results.

SOURCES OVERVIEW

OFFLINE sources (local FTS index; always searched unless filtered via sources): Reference & guidance (not sample-heavy): • abap-docs-standard (offline): Official ABAP Keyword Documentation for on‑premise systems (full syntax). Best for statement syntax + semantics. • abap-docs-cloud (offline): Official ABAP Keyword Documentation for ABAP Cloud/BTP (restricted syntax). Best for Steampunk/BTP constraints. • sap-styleguides (offline): SAP Clean ABAP Style Guide + best practices (includes translations; non‑English duplicates are filtered). • dsag-abap-leitfaden (offline): DSAG ABAP Leitfaden (German) with ABAP development guidelines and best practices. • btp-cloud-platform (offline): SAP Business Technology Platform documentation - concepts, getting started, development, extensions, administration, security. • sap-artificial-intelligence (offline): SAP AI Core and SAP AI Launchpad documentation.

Sample-heavy OFFLINE sources (controlled by includeSamples; great for implementation, can dominate broad queries): • abap-cheat-sheets (offline, samples): Many practical ABAP/RAP snippets; quick “how-to” reference. • abap-fiori-showcase (offline, samples): Annotation-driven RAP + OData V4 + Fiori Elements feature showcase. • abap-platform-rap-opensap (offline, samples): openSAP “Building Apps with RAP” course samples (ABAP/CDS). • cloud-abap-rap (offline, samples): ABAP Cloud + RAP example projects (ABAP/CDS). • abap-platform-reuse-services (offline, samples): RAP reuse services examples (number ranges, change documents, mail, Adobe Forms, ...).

OPTIONAL ONLINE SOURCES (when includeOnline=true): • sap-help (online): SAP Help Portal product documentation (official, broad scope). • sap-community (online): SAP Community blogs + Q&A + troubleshooting (practical, quality varies). • software-heroes (online): Software Heroes ABAP/RAP articles & tutorials (searched in EN+DE, deduplicated by URL; feed search is disabled).

NOTE ABOUT abapFlavor: • OFFLINE: filters the official ABAP Keyword Documentation libraries (abap-docs-standard vs abap-docs-cloud); other offline sources are kept. • ONLINE: when set EXPLICITLY to "standard"/"cloud", it ALSO scopes the SAP Help leg to the matching ABAP product (standard → ABAP Platform docs; cloud → ABAP environment docs), removing cross-product noise on conceptual ABAP queries. "auto" leaves SAP Help unscoped. • IMPORTANT — "standard"/"cloud" is a QUERY-DOMAIN signal ("this is an ABAP-LANGUAGE question"), NOT a system flag. Forcing it on a non-ABAP-language query scopes SAP Help to ABAP-language docs and buries the relevant content. Route by DOMAIN:

  • ABAP language/RAP/CDS → "standard" or "cloud".

  • FUNCTIONAL / configuration (Asset Accounting, Controlling, EWM ) → leave abapFlavor "auto" and pass the product param (e.g. "SAP_S4HANA_ON-PREMISE").

  • CAP / UI5 / Fiori → leave "auto". The OFFLINE corpus is the authoritative source for these; note the online SAP Help leg is NOT scoped for them (no abapFlavor/product fit yet), so it may still contribute some off-topic or low-value SAP Help hits.

PARAMETERS: • query (required): Search terms. Be specific and use technical ABAP/RAP terminology. • k (optional, default=50): Number of results to return. • includeOnline (optional, default=true): Keep this ON for best answers. Only set to false if online search is blocked/slow/unreliable in your environment OR you explicitly want OFFLINE-only sources. • includeSamples (optional, default=true): Includes sample-heavy offline sources (repos, showcases, cheat sheets). If results are flooded by examples and you want more conceptual/reference docs, set to false. Turn it on when you want implementation/code. • abapFlavor (optional, default="auto"): Filter by ABAP flavor:

  • "standard": Only Standard ABAP (on-premise, full syntax)

  • "cloud": Only ABAP Cloud (BTP, restricted syntax)

  • "auto": Detect from query (add "cloud" or "btp" for cloud, otherwise standard) • sources (optional): Restrict OFFLINE search to specific source IDs (does not disable online sources; use includeOnline for that). Example: ["abap-docs-standard", "sap-styleguides"]

RETURNS (JSON array of results, each containing): • id: Document identifier (use with fetch to get full content) • title: Document title • url: Link to documentation • snippet: Text excerpt from document • score: Relevance score (RRF-fused from multiple sources) • library_id: Source library identifier • metadata.source: Source ID (abap-docs-standard, sap-help, etc.) • metadata.sourceKind: "offline" | "sap_help" | "sap_community" | "software_heroes"

TYPICAL WORKFLOW:

  1. search(query="your ABAP/RAP question")

  2. fetch(id="result_id_from_step_1") to get full content

QUERY TIPS: • Be specific: "RAP behavior definition" not just "RAP" • Include ABAP keywords: "SELECT FOR ALL ENTRIES", "LOOP AT GROUP BY" • For ABAP Cloud: Add "cloud" or "btp" to query, or set abapFlavor="cloud" • For OFFLINE-only: Set includeOnline=false (use this mainly when online search does not work for you) • If results are too code-heavy: Set includeSamples=false • For implementation examples: Keep includeSamples=true

ESCALATION: If search returns no useful results (especially for specific error messages, niche runtime issues, or workaround patterns), try the dedicated sap_community_search tool which searches SAP Community blogs and Q&A directly and returns full post content for the top matches.

fetchA

GET FULL DOCUMENT CONTENT: fetch(id="result_id")

FUNCTION NAME: fetch

Retrieves the full content of a document from search results.

USAGE:

  1. First use search() to find relevant documents

  2. Use the 'id' from search results to fetch full content

  3. Returns complete document text with metadata

PARAMETERS: • id (required): Document ID from search results. Use the exact ID returned by search.

RETURNS: • id: Document identifier • title: Document title • text: Full document content (markdown or code) • url: Link to online documentation (if available) • metadata: Source information and content details

abap_feature_matrixA

ABAP FEATURE MATRIX: abap_feature_matrix(query="feature keywords")

FUNCTION NAME: abap_feature_matrix

Search the Software Heroes ABAP Feature Matrix to check feature availability across SAP releases. The matrix shows which ABAP features are available in different SAP releases (7.40, 7.50, 7.52, 7.54, 7.55, 7.56, 7.57, 2020, 2021, 2022, 2023, LATEST).

DATA SOURCE: https://software-heroes.com/en/abap-feature-matrix Full matrix is fetched in English and cached for 24 hours. Filtering is done locally.

STATUS MARKERS: • ✅ available - Feature is available in the release • ❌ unavailable - Feature is not available • ⭕ deprecated - Feature is deprecated • ❔ needs_review - Status needs verification • 🔽 downport - Feature was backported from a newer release

PARAMETERS: • query (optional): Feature keywords to search for (e.g., "inline declaration", "CORRESPONDING", "mesh"). If empty, returns all features. • limit (optional): Maximum number of results. If not specified, returns all matching features.

RETURNS JSON with: • matches: Array of matching features with:

  • feature: Feature name

  • section: Category (e.g., "ABAP SQL", "ABAP Statements")

  • link: URL to more information (if available)

  • statusByRelease: Object mapping release versions to status

  • score: Relevance score • meta: Matrix metadata (totalFeatures, totalSections, sections) • sourceUrl: Attribution URL to Software Heroes • legend: Explanation of status markers

EXAMPLES: abap_feature_matrix(query="inline declaration") abap_feature_matrix(query="CORRESPONDING") abap_feature_matrix() - returns all features abap_feature_matrix(query="CDS", limit=10)

USE CASES: • Check if a feature is available in your target SAP release • Find when a specific ABAP feature was introduced • Compare feature availability across releases • Get full matrix and let LLM interpret/filter results

ui5_version_diffA

UI5 VERSION DIFF: ui5_version_diff(library="SAPUI5", from_version="1.108.0", to_version="1.130.0")

FUNCTION NAME: ui5_version_diff

List the new features, fixes, deprecations, and SAPUI5 What's New entries that landed between two UI5 releases, or inspect one exact release. Use this when planning or executing an upgrade so you know which workarounds can be dropped, which APIs are now deprecated, and which fixes might replace local patches.

DATA SOURCE: local all-changes bundle at UI5_LIB_DIFF_BUNDLE_PATH (default: dist/data/ui5-lib-diff/all-changes.json). The runtime tool is local-only and does not fetch hosted URLs. Refresh the bundle during setup with npm run download:ui5-lib-diff. If a requested release is newer than the local bundle, the response includes meta.notes and meta.generatedAt so the caller can tell setup data is stale.

RANGE SEMANTICS: returns changes that landed AFTER from_version up to and including to_version (i.e. what you gain by upgrading from from_version to to_version). If a requested patch version is unavailable, the tool uses the nearest lower available version with the same major.minor, matching the web app. For one release, pass version instead of a range.

PARAMETERS: • library (optional, default "SAPUI5"): "SAPUI5" or "OpenUI5". • version (optional): exact release to inspect, e.g. "1.130.0". Can also be supplied as the only from_version or only to_version. • from_version + to_version (optional range pair): version you are upgrading FROM/TO, e.g. "1.108.0" -> "1.130.0". • types (optional): subset of ["FEATURE", "FIX", "DEPRECATED"]. Defaults to all three. • ui5_library (optional): case-insensitive substring filter on the UI5 library, e.g. "sap.m", "sap.ui.core", "sap.fe". • query (optional): case-insensitive substring filter on change text and What's New title/description, e.g. "Table", "ObjectStatus", "ManagedObject".

RETURNS JSON with: • mode, library, from_version, to_version, version? • versionsInRange: versions covered by the range (newest first) • counts: { FEATURE, FIX, DEPRECATED } totals across the full range • totalEntries: sum of counts • entries: [{ version, date, library, type, text, commit_url? }] • whatsNewEntries, whatsNewTotalEntries: SAPUI5 What's New entries for the same version/range • meta: { availableVersions, minVersion, maxVersion, generatedAt, sourceDataPath, cacheSource, requested, resolved, notes? } — "notes" is a list of soft signals (version resolution, stale-bundle hints, out-of-range hints, coercion warnings) • sourceUrl: browser URL for human inspection of the same range

USE CASES: • Upgrade planning: "What deprecations should I clean up before moving 1.108 -> 1.130?" • Workaround cleanup: filter by query="" to find the fix that replaces a local patch • Library-scoped review: ui5_library="sap.m" to focus on a single library • Combine with @ui5/mcp-server tools (run_ui5_linter, run_manifest_validation, get_api_reference) for code-level follow-up

EXAMPLES: ui5_version_diff(from_version="1.108.0", to_version="1.130.0", types=["DEPRECATED"]) ui5_version_diff(version="1.130.0", ui5_library="sap.m") ui5_version_diff(library="OpenUI5", from_version="1.120.0", to_version="1.130.0", ui5_library="sap.m") ui5_version_diff(from_version="1.96.0", to_version="1.120.0", query="ObjectStatus")

sap_community_searchA

SEARCH SAP COMMUNITY: sap_community_search(query="search terms")

FUNCTION NAME: sap_community_search

Dedicated search across SAP Community blogs, Q&A posts, and discussions. Returns full content of the top matching posts.

IMPORTANT: The main search tool (with includeOnline=true) already includes SAP Community results alongside offline docs, SAP Help, and Software Heroes. Use this dedicated tool only when: • The main search tool returned no useful results for your question • You are looking for specific error messages, runtime exceptions, or obscure symptoms • You need practical workarounds, troubleshooting steps, or real-world implementation experiences not covered in official documentation • You want to see full community post content (not just snippets)

This tool searches SAP Community via the Khoros LiQL API and automatically retrieves full content for the top 3 posts.

PARAMETERS: • query (required): Search terms. Use specific error messages, symptoms, or technical terms for best results. • k (optional, default=30): Number of results to return. • minKudos (optional, default=1): Minimum number of kudos (likes) a post must have.

  • Default 1 filters out zero-engagement posts, giving higher-quality results.

  • Set to 0 for the broadest possible search (includes all posts, even those with no engagement — useful when looking for very niche or recent topics).

  • Set higher (e.g. 5 or 10) to surface only well-received, community-validated content.

  • Suggested maximum: 10. Higher values may return very few or no results.

RETURNS (JSON with): • results: Array of community posts, each containing:

  • id: Post identifier (use with fetch to retrieve full content later)

  • title: Post title

  • url: Direct link to the SAP Community post

  • snippet: Text excerpt

  • metadata.author: Post author

  • metadata.likes: Number of kudos

  • metadata.tags: Topic tags

WORKFLOW:

  1. Start with search(query="your question") (includes community + other sources)

  2. If results are insufficient, use sap_community_search(query="specific error or symptom")

  3. Use fetch(id="community-...") to retrieve full content of any community post from either tool

sap_search_objectsA

SEARCH SAP RELEASED OBJECTS: sap_search_objects(query="CL_ABAP_REGEX")

Search SAP released objects from the official SAP API Release State repository (SAP/abap-atc-cr-cv-s4hc).

Use this tool when you need to: • Find which SAP objects (classes, interfaces, tables, CDS views, function groups, BAdIs, etc.) are available and released for a given topic or application area • Discover released APIs in a specific application component (e.g., MM-PUR, FI-GL, SD-SLS) • Browse what objects exist in a system type (S/4HANA Cloud Public, BTP ABAP, Private Cloud) • Filter by Clean Core compliance level: A=Released APIs only, B=includes Classic APIs, C=includes internal/stable, D=all objects • Find alternative released objects when looking for functionality in a specific domain

Do NOT use this for documentation content, code examples, or general SAP help — use the search tool for those. Use this specifically for API release status and clean core compliance discovery.

PARAMETERS: • query (optional): Object name or keyword to search (e.g. "CL_ABAP_REGEX", "purchase order", "MM") • system_type (optional, default: "public_cloud"): "public_cloud" | "btp" | "private_cloud" | "on_premise" • clean_core_level (optional, default: "A"): "A" | "B" | "C" | "D" — cumulative: B includes A+B, C includes A+B+C • object_type (optional): TADIR type filter, e.g. "CLAS", "INTF", "TABL", "DDLS" • app_component (optional): Application component prefix, e.g. "MM-PUR", "FI-GL" • state (optional): "released" | "deprecated" | "classicAPI" | "stable" | "notToBeReleased" | "noAPI" • limit (optional, default: 25, max: 100): Number of results per page • offset (optional, default: 0): Pagination offset

RETURNS (JSON with): • objects: Array of SAP objects with objectType, objectName, state, cleanCoreLevel, applicationComponent, softwareComponent • total: Total matching count • hasMore: Whether more results exist • nextOffset: Offset to use for next page

[PRE-LOADED CONTEXT] Context loading — data will be available on first use.

sap_get_object_detailsA

GET SAP OBJECT DETAILS: sap_get_object_details(object_type="CLAS", object_name="CL_ABAP_REGEX")

Get complete release state details for a specific SAP object by its TADIR type and name.

Use this tool when you: • Know a specific SAP object name and need to verify if it is released/deprecated/internal • Want to check Clean Core compliance: is this object allowed in BTP ABAP or S/4HANA Cloud? • Need to find the recommended successor object when a deprecated SAP API should be replaced • Want the full context of an object: software component, application component, Clean Core level (A/B/C/D), and release state • Are checking whether a specific table (MARA, VBAK), class (CL_*), interface (IF_*), or CDS view is safe to use in a clean core / cloud-ready ABAP development scenario

Clean Core levels: A=Released API (safe for cloud/BTP), B=Classic API (on-premise only), C=Internal/Stable (not for customer use), D=No API

Optionally pass target_clean_core_level to receive an explicit compliance verdict for that object.

PARAMETERS: • object_type (required): TADIR type, e.g. "CLAS", "TABL", "INTF", "DDLS", "FUGR" • object_name (required): Exact object name, e.g. "CL_ABAP_REGEX", "EKKO", "IF_OS_TRANSACTION" • system_type (optional, default: "public_cloud"): "public_cloud" | "btp" | "private_cloud" | "on_premise" • target_clean_core_level (optional): "A" or "B" — receive a compliance verdict against this target

RETURNS (JSON with): • found: boolean • objectType, objectName, state, cleanCoreLevel, cleanCoreLevelLabel • applicationComponent, softwareComponent • successor: successor classification and recommended replacement objects • successorObjects: full details of successor objects (if available in the dataset) • complianceStatus (if target_clean_core_level given): "compliant" | "non_compliant"

sap_discovery_center_searchA

SEARCH SAP BTP SERVICES: sap_discovery_center_search(query="SAP Build")

FUNCTION NAME: sap_discovery_center_search

Search the SAP Discovery Center service catalog to find SAP Business Technology Platform (BTP) services, solutions, and capabilities.

Use this tool when you need to:

  • Find which SAP BTP services are available for a specific use case (e.g., integration, AI, database, extension development)

  • Discover services by name or keyword (e.g., "HANA", "Integration Suite", "Build", "AI Core")

  • Browse services filtered by license model (free tier, pay-as-you-go, subscription)

  • Find deprecated BTP services and their replacements

  • Explore SAP AI and machine learning services on BTP

  • Compare BTP services within a category

Do NOT use this for ABAP documentation, code examples, or SAP Help content – use the 'search' tool for those. After finding a service, use sap_discovery_center_service(serviceId="...") to get full details including pricing, roadmap, and documentation links.

PARAMETERS: • query (required): Search terms for BTP services. Use service names or capability keywords. • top (optional, default 10, max 25): Number of results to return. • category (optional): Filter by category, e.g., "AI", "Integration", "Data and Analytics", "Application Development and Automation", "Foundation / Cross Services". • license_model (optional): Filter by license type: "free", "payg", "subscription", "btpea", "cloudcredits".

RETURNS (JSON): • services[]: Array of matching services with id, name, shortName, description, category, additionalCategories, licenseModelType, provider, tags, ribbon, isDeprecated • total: Number of results returned

sap_discovery_center_serviceA

GET SAP BTP SERVICE DETAILS: sap_discovery_center_service(serviceId="abc-123-def")

FUNCTION NAME: sap_discovery_center_service

Get comprehensive details for a specific SAP BTP service from the SAP Discovery Center, including pricing plans with per-unit costs, product roadmap, documentation links, and key features.

Use this tool when you need to:

  • Get pricing information for a BTP service (plans, metrics, costs per unit, free tier availability)

  • View the product roadmap and upcoming features planned for a service

  • Find official documentation, tutorials, and community resources for a service

  • Understand service plans and their differences (free tier vs. standard vs. extended)

  • Get the SAP cost calculator link or SAP Store link for a service

  • Learn about key features and capabilities of a specific service (headlines)

  • Check what billing metrics a service uses (e.g., Capacity Units, API Calls)

You can pass either a UUID from search results OR the service name directly (e.g., "SAP Build Code", "SAP AI Core", "SAP HANA Cloud"). The tool will auto-resolve names to UUIDs.

PARAMETERS: • serviceId (required): Service UUID from search results OR the service name (e.g., "SAP Build Code"). Names are auto-resolved via search. • currency (optional, default "USD"): Pricing currency code (e.g., "EUR", "USD", "GBP"). • include_roadmap (optional, default true): Include product roadmap data with planned features by quarter. • include_pricing (optional, default true): Include pricing plans with per-unit costs and billing metrics.

RETURNS (JSON): • Core: name, description, category, productType, licenseModelType, tags, csnComponent • links: calculator, sapStore, featureDescription, discoveryCenter URLs • headlines[]: Key feature highlights with descriptions • resources: Documentation links grouped by type (documentation, tutorials, community, support, calculator) • metrics[]: Billing metric definitions (name, description, code) • pricing[]: Service plans with planName, planCode, description, usageType, features, and commercialModels (model, metric, chargingPeriod, pricePerUnit, blockSize). The pricing section contains actual per-unit prices from the SAP Discovery Center (e.g., "1.04 EUR" per Capacity Unit/month). • roadmap: Planned features organized by quarter with categories and deliverables (or null if no roadmap exists)

Prompts

Interactive templates invoked by user choice

NameDescription
sap_search_helpHelps users construct effective search queries for SAP documentation
sap_troubleshootGuides users through troubleshooting common SAP development issues

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/marianfoo/mcp-sap-docs'

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