Server data from the Official MCP Registry
Fast MCP server for unified SAP docs search (SAPUI5, CAP, OpenUI5, wdi5) with BM25 full-text search
Fast MCP server for unified SAP docs search (SAPUI5, CAP, OpenUI5, wdi5) with BM25 full-text search
Valid MCP server (2 strong, 1 medium validity signals). 2 known CVEs in dependencies (0 critical, 1 high severity) Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved). 1 finding(s) downgraded by scanner intelligence.
5 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-marianfoo-mcp-sap-docs": {
"args": [
"-y",
"mcp-sap-docs"
],
"command": "npx"
}
}
}From the project's GitHub README.
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.
Ready to use — no setup required
Variant URL SAP Docs http://mcp-sap-docs.marianzeis.de/mcpABAP https://mcp-abap.marianzeis.de/mcp
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 |
|---|---|---|
sap-docs | Broad SAP docs: UI5, CAP, Cloud SDK, ABAP, BTP, AI, Terraform | Discovery Center tools |
abap | ABAP-focused: ABAP keyword docs, RAP, cheat sheets, style guides | abap_lint |
| Source | Description |
|---|---|
abap-docs-standard | Official ABAP Keyword Documentation — on-premise / full syntax |
abap-docs-cloud | Official ABAP Keyword Documentation — ABAP Cloud / BTP (restricted syntax) |
abap-cheat-sheets | Practical ABAP/RAP code snippets and examples |
abap-fiori-showcase | Annotation-driven RAP + OData V4 + Fiori Elements feature showcase |
abap-platform-rap-opensap | openSAP "Building Apps with RAP" course samples |
cloud-abap-rap | ABAP Cloud + RAP example projects |
abap-platform-reuse-services | RAP reuse services examples (number ranges, mail, Adobe Forms, …) |
sap-styleguides | SAP Clean ABAP Style Guide and best practices |
dsag-abap-leitfaden | DSAG ABAP Leitfaden (German) development guidelines |
btp-cloud-platform | SAP BTP concepts, development, security, administration |
sap-artificial-intelligence | SAP AI Core and SAP AI Launchpad documentation |
ui5 | SAPUI5 / OpenUI5 framework documentation |
cap | SAP Cloud Application Programming Model (CAP) documentation |
cloud-sdk | SAP Cloud SDK documentation |
terraform-provider-btp | SAP Terraform Provider for BTP — resources and data sources |
architecture-center | SAP Architecture Center reference architectures and guidance |
wdi5 | wdi5 (WebdriverIO + UI5) testing framework documentation |
| 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) |
| Tool | Description |
|---|---|
search | Unified hybrid search (BM25 + semantic) across offline docs and optional online sources. Supports query, k, includeOnline, includeSamples, abapFlavor, sources parameters. |
fetch | Retrieve full document content by ID returned from search. |
abap_feature_matrix | Check ABAP feature availability across SAP releases (7.40–LATEST) using the Software Heroes feature matrix. |
sap_community_search | Dedicated SAP Community search via the Khoros LiQL API — returns full content of top posts. Use when search results are insufficient for specific errors or workarounds. |
sap_search_objects | 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. |
sap_get_object_details | 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 |
|---|---|
sap_discovery_center_search | Search the SAP Discovery Center service catalog for BTP services by keyword, category, or license model. |
sap_discovery_center_service | 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 |
|---|---|
abap_lint | 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. |
mcp-sap-docsabap-mcp-serverXenova/all-MiniLM-L6-v2 (~90 MB, cached in dist/models/)Resolution order:
MCP_VARIANT environment variable.mcp-variant file in repo rootsap-docsExamples:
# 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:streamable
search performs fused retrieval over:
includeOnline=true):
Ranking and filtering highlights:
includeSamples can remove sample-heavy sourcesabapFlavor (standard / cloud / auto) filters official ABAP docs libraries while keeping non-ABAP sourcessources can restrict offline libraries explicitlyThe 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.
search includes online sources by default. To run offline-only, use:
npm run setup + npm run build)includeOnline=false in each search requestExample search request body:
{
"query": "RAP draft",
"k": 8,
"includeOnline": false
}
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-docs
For 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-docs
Notes:
--network none, online fetches are impossible by runtime isolation.search usage.npm ci
npm run setup
npm run build
Start server modes:
# MCP stdio
npm start
# HTTP status/dev server
npm run start:http
# MCP streamable HTTP
npm run start:streamable
Default ports by variant:
sap-docs: HTTP 3001, streamable 3122abap: HTTP 3002, streamable 3124Health 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.
Script names remain shared (setup, build, start, start:streamable).
Behavior changes by variant config:
setup.sh only initializes variant-allowed submodulesbuild-index only includes variant-allowed librariesbuild-fts only indexes variant-allowed librariesThis keeps abap faster and smaller without maintaining a separate build script set.
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-server
abap-mcp-serverThis repository contains direct sync automation:
.github/workflows/sync-to-abap-main.ymlscripts/sync-to-abap.shFlow:
mcp-sap-docs/mainabap-mcp-server.mcp-variant is forced to abapabap-mcp-server/mainRequired secret in mcp-sap-docs repo:
ABAP_REPO_SYNC_TOKENCommit message controls:
[skip-sync] skips sync workflowmcp-sap-docs: upstream implementation + sync triggerabap-mcp-server: deployment trigger remains push-to-main in that repositoryThis preserves ABAP deployment automation while keeping one shared upstream codebase.
ecosystem.config.cjs is variant-aware and resolves:
from config/variants/*.json.
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:fts
docs/ARCHITECTURE.mddocs/DEV.mddocs/TESTS.mddocs/UPSTREAM-ONE-WAY-SYNC-IMPLEMENTATION.mdREMOTE_SETUP.mdBe the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI