SAP Documentation MCP Server
The SAP Documentation MCP Server provides unified access to official SAP documentation, real-time SAP Community content, and SAP Help Portal resources for comprehensive SAP development support.
Core Capabilities:
Search SAP Documentation (
sap_docs_search): Query SAPUI5, CAP, OpenUI5 APIs, and wdi5 documentation for controls, technical concepts, and development topicsSearch SAP Community (
sap_community_search): Find high-quality blog posts and solutions with real-time access and automatic full content retrieval for top resultsSearch SAP Help Portal (
sap_help_search): Access comprehensive SAP product documentation across S/4HANA, SAP BTP, Analytics Cloud, Fiori, and ABAPRetrieve Specific Content (
sap_docs_get,sap_help_get): Fetch detailed documentation, control APIs, or community posts using unique IDs with optional filtering
Content Coverage: Over 4,180+ documentation files including SAPUI5 (1,485+ files), CAP (195+ files), OpenUI5 APIs (500+ definitions), 2,000+ sample code examples, plus real-time community posts and full SAP Help Portal access.
Smart Features: Intelligent search with context-aware scoring, automatic code highlighting, quality filtering, and sample categorization.
Access Methods: Remote via public SSE endpoint or local via STDIO/HTTP server, compatible with popular MCP clients like Claude, VS Code, Cursor, Zed Editor, Windsurf, and others.
Provides offline access to SAP documentation and real-time SAP Community content, including SAPUI5, CAP, OpenUI5 APIs and samples, and wdi5 E2E test framework documentation. Enables searching across official documentation and community posts, retrieving specific resources, and accessing high-quality community solutions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SAP Documentation MCP Serversearch for SAPUI5 table component examples"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP SAP Docs (Upstream)
An MCP server that gives AI assistants (Claude, Cursor, ChatGPT, etc.) access to SAP documentation through a unified search and fetch interface. It combines a local full-text + semantic index over git-cloned SAP docs with optional live queries to SAP Help, SAP Community, and Software Heroes — all exposed as MCP tools.
Public Hosted Endpoint
Ready to use — no setup required
Variant
URL
SAP Docs
http://mcp-sap-docs.marianzeis.de/mcpABAP
https://mcp-abap.marianzeis.de/mcp
Related MCP server: DocsScraper
Variants
mcp-sap-docs is the upstream repository for two MCP server variants that share one codebase and differ by configuration (MCP_VARIANT / .mcp-variant):
Variant | Scope | Extra tools |
| Broad SAP docs: UI5, CAP, Cloud SDK, ABAP, BTP, AI, Terraform | Discovery Center tools |
| ABAP-focused: ABAP keyword docs, RAP, cheat sheets, style guides |
|
Documentation Sources
Offline sources (local index, always available)
Source | Description |
| Official ABAP Keyword Documentation — on-premise / full syntax |
| Official ABAP Keyword Documentation — ABAP Cloud / BTP (restricted syntax) |
| Practical ABAP/RAP code snippets and examples |
| Annotation-driven RAP + OData V4 + Fiori Elements feature showcase |
| openSAP "Building Apps with RAP" course samples |
| ABAP Cloud + RAP example projects |
| RAP reuse services examples (number ranges, mail, Adobe Forms, …) |
| SAP Clean ABAP Style Guide and best practices |
| DSAG ABAP Leitfaden (German) development guidelines |
| SAP BTP concepts, development, security, administration |
| SAP AI Core and SAP AI Launchpad documentation |
| SAPUI5 / OpenUI5 framework documentation |
| SAP Cloud Application Programming Model (CAP) documentation |
| SAP Cloud SDK documentation |
| SAP Terraform Provider for BTP — resources and data sources |
| SAP Architecture Center reference architectures and guidance |
| wdi5 (WebdriverIO + UI5) testing framework documentation |
Online sources (live queries, enabled by default)
Source | Description |
SAP Help Portal | Official SAP product documentation (broad scope) |
SAP Community | Community blogs, Q&A, and troubleshooting posts |
Software Heroes | ABAP/RAP articles and tutorials (EN + DE, deduplicated) |
Available Tools
Shared tools (both variants)
Tool | Description |
| Unified hybrid search (BM25 + semantic) across offline docs and optional online sources. Supports |
| Retrieve full document content by ID returned from |
| Check ABAP feature availability across SAP releases (7.40–LATEST) using the Software Heroes feature matrix. |
| Dedicated SAP Community search via the Khoros LiQL API — returns full content of top posts. Use when |
| Search SAP released objects (classes, interfaces, tables, CDS views, …) by name/component/type from the official SAP/abap-atc-cr-cv-s4hc release state repo. Useful for clean core compliance discovery. |
| Full release state details for a specific SAP object including clean core level (A/B/C/D), successor objects, and optional compliance verdict. |
sap-docs variant only
Tool | Description |
| Search the SAP Discovery Center service catalog for BTP services by keyword, category, or license model. |
| Get comprehensive BTP service details: pricing plans, product roadmap, documentation links, and key features. Accepts a service UUID or name. |
abap variant only
Tool | Description |
| Run static code analysis on ABAP source code using abaplint. Auto-detects file type from code patterns. Returns findings with line numbers, severity, and rule keys. |
Architecture Overview
Upstream source of truth:
mcp-sap-docsOne-way sync target:
abap-mcp-serverSearch uses Hybrid BM25 + Semantic (embedding) fusion via Reciprocal Rank Fusion (RRF)
Embeddings model:
Xenova/all-MiniLM-L6-v2(~90 MB, cached indist/models/)
Variant Selection
Resolution order:
MCP_VARIANTenvironment variable.mcp-variantfile in repo rootfallback:
sap-docs
Examples:
# Run as full sap-docs profile
MCP_VARIANT=sap-docs npm run setup
MCP_VARIANT=sap-docs npm run build
MCP_VARIANT=sap-docs npm run start:streamable
# Run as ABAP profile
MCP_VARIANT=abap npm run setup
MCP_VARIANT=abap npm run build
MCP_VARIANT=abap npm run start:streamableSearch Behavior
search performs fused retrieval over:
Offline FTS index (local submodule content)
Optional online sources (
includeOnline=true):SAP Help
SAP Community
Software Heroes content search (EN/DE merge + dedupe)
Ranking and filtering highlights:
Hybrid BM25 + Semantic (embedding) search — keyword and meaning, fused via RRF
Reciprocal Rank Fusion (RRF) across offline and online sources
Source-level boosts from metadata
includeSamplescan remove sample-heavy sourcesabapFlavor(standard/cloud/auto) filters official ABAP docs libraries while keeping non-ABAP sourcessourcescan restrict offline libraries explicitly
Hybrid Search
The offline search combines BM25 (FTS5 keyword matching) with semantic similarity
(dense embeddings via Xenova/all-MiniLM-L6-v2). This allows natural-language and
paraphrase queries to find relevant docs even when the exact keywords are missing.
Example: "how to check if a user has permission" finds AUTHORITY-CHECK docs.
Embeddings are pre-computed at build time and stored in docs.sqlite.
The model (~90 MB) is cached in dist/models/ (gitignored, in-project).
See docs/HYBRID-SEARCH.md for full details, size impact, and tuning.
Offline-Only Mode
search includes online sources by default. To run offline-only, use:
local index/submodules only (
npm run setup+npm run build)includeOnline=falsein eachsearchrequest
Example search request body:
{
"query": "RAP draft",
"k": 8,
"includeOnline": false
}Docker (offline-only)
Run the container with host binding and call search with includeOnline=false:
docker run --rm -p 3122:3122 \
-e MCP_VARIANT=sap-docs \
-e MCP_PORT=3122 \
-e MCP_HOST=0.0.0.0 \
mcp-sap-docsFor strict air-gapped execution, disable container networking:
docker run --rm --network none -p 3122:3122 \
-e MCP_VARIANT=sap-docs \
-e MCP_PORT=3122 \
-e MCP_HOST=0.0.0.0 \
mcp-sap-docsNotes:
With
--network none, online fetches are impossible by runtime isolation.Startup may log warnings for online prefetch attempts (for example ABAP feature matrix); this does not prevent offline
searchusage.
Quick Start (Local)
npm ci
npm run setup
npm run buildStart server modes:
# MCP stdio
npm start
# HTTP status/dev server
npm run start:http
# MCP streamable HTTP
npm run start:streamableDefault ports by variant:
sap-docs: HTTP3001, streamable3122abap: HTTP3002, streamable3124
Health checks:
curl -sS http://127.0.0.1:3122/health | jq .
curl -sS http://127.0.0.1:3001/status | jq .Use variant-specific ports when running abap profile.
Build and Setup Scripts
Script names remain shared (setup, build, start, start:streamable).
Behavior changes by variant config:
setup.shonly initializes variant-allowed submodulesbuild-indexonly includes variant-allowed librariesbuild-ftsonly indexes variant-allowed libraries
This keeps abap faster and smaller without maintaining a separate build script set.
Docker
Build image for a variant:
# sap-docs image
docker build --build-arg MCP_VARIANT=sap-docs -t mcp-sap-docs .
# abap image
docker build --build-arg MCP_VARIANT=abap -t abap-mcp-server .Run streamable server:
# sap-docs
docker run --rm -p 3122:3122 \
-e MCP_VARIANT=sap-docs \
-e MCP_PORT=3122 \
mcp-sap-docs
# abap
docker run --rm -p 3124:3124 \
-e MCP_VARIANT=abap \
-e MCP_PORT=3124 \
abap-mcp-serverOne-Way Sync to abap-mcp-server
This repository contains direct sync automation:
Workflow:
.github/workflows/sync-to-abap-main.ymlScript:
scripts/sync-to-abap.sh
Flow:
Push to
mcp-sap-docs/mainWorkflow clones
abap-mcp-serverTracked upstream files are synced (with exclude rules)
ABAP overlay is applied
.mcp-variantis forced toabapABAP package identity is patched
Commit is pushed to
abap-mcp-server/main
Required secret in mcp-sap-docs repo:
ABAP_REPO_SYNC_TOKEN
Commit message controls:
[skip-sync]skips sync workflow
Deployment Model
mcp-sap-docs: upstream implementation + sync triggerabap-mcp-server: deployment trigger remains push-to-main in that repository
This preserves ABAP deployment automation while keeping one shared upstream codebase.
PM2 Runtime
ecosystem.config.cjs is variant-aware and resolves:
process names
ports
deploy path
from config/variants/*.json.
Validation Commands
npm run build:tsc
npm run test:url-generation
npm run test:integration
npm run test:software-heroes
npm run test:sap-objects # SAP Released Objects unit tests
# Variant-specific build checks
MCP_VARIANT=sap-docs npm run build:index
MCP_VARIANT=abap npm run build:index
MCP_VARIANT=sap-docs npm run build:fts
MCP_VARIANT=abap npm run build:ftsAdditional Docs
docs/ARCHITECTURE.mddocs/DEV.mddocs/TESTS.mddocs/UPSTREAM-ONE-WAY-SYNC-IMPLEMENTATION.mdREMOTE_SETUP.md
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