SAP Documentation MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port for Streamable HTTP server (configurable via MCP_PORT) | 3122 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 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 Sample-heavy OFFLINE sources (controlled by 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
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:
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:
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 |
| fetchA | GET FULL DOCUMENT CONTENT: fetch(id="result_id") FUNCTION NAME: fetch Retrieves the full content of a document from search results. USAGE:
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:
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 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.
RETURNS (JSON with): • results: Array of community posts, each containing:
WORKFLOW:
|
| 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 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:
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:
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
| Name | Description |
|---|---|
| sap_search_help | Helps users construct effective search queries for SAP documentation |
| sap_troubleshoot | Guides users through troubleshooting common SAP development issues |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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