SAP Documentation
Provides offline access to SAP documentation and real-time SAP Community content.
MCP SAP Docs (Upstream)
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
mcp-sap-docs is the upstream repository for two MCP server variants:
sap-docsvariant: broad SAP docs scope (UI5, CAP, Cloud SDK, ABAP docs, etc.)abapvariant: ABAP-focused scope (fewer sources, ABAP lint enabled)
Both variants run from the same codebase and differ by configuration (MCP_VARIANT / .mcp-variant).
Current State
- Upstream source of truth:
mcp-sap-docs - One-way sync target:
abap-mcp-server - Search API is unified across variants:
query,k,includeOnline,includeSamples,abapFlavor,sources
- Shared tools in both variants:
search— unified search across offline docs + optional online sources (SAP Help, SAP Community, Software Heroes)fetch— retrieve full document or community post content by IDabap_feature_matrix— check ABAP feature availability across SAP releasessap_community_search— dedicated SAP Community search (blogs, Q&A); use whensearchresults are insufficient, especially for specific errors or workaroundssap_search_objects— search SAP released objects by name/component/type from the official SAP/abap-atc-cr-cv-s4hc API release state repo; use for clean core compliance discoverysap_get_object_details— full release state details for a specific SAP object (class, table, interface, etc.) including clean core level, successor objects, and optional compliance verdict
- ABAP-only tool:
abap_lint(enabled only when variant isabap)
Variant Selection
Resolution order:
MCP_VARIANTenvironment variable.mcp-variantfile in repo root- fallback:
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:streamable
Search 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:
- 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
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-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:
- 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 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: 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-server
One-Way Sync to abap-mcp-server
This repository contains direct sync automation:
- Workflow:
.github/workflows/sync-to-abap-main.yml - Script:
scripts/sync-to-abap.sh
Flow:
- Push to
mcp-sap-docs/main - Workflow clones
abap-mcp-server - Tracked upstream files are synced (with exclude rules)
- ABAP overlay is applied
.mcp-variantis forced toabap- ABAP 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:fts
Additional Docs
docs/ARCHITECTURE.mddocs/DEV.mddocs/TESTS.mddocs/UPSTREAM-ONE-WAY-SYNC-IMPLEMENTATION.mdREMOTE_SETUP.md
İlgili Sunucular
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
A2ABench
Agent-native developer Q&A API with MCP + A2A endpoints for citations, job pickup, and answer submission.
Comet Opik
Query and analyze your Opik logs, traces, prompts and all other telemtry data from your LLMs in natural language.
Ghibli Video
Generates AI images and videos using the GPT4O Image Generator API.
DevRev MCP server
Search and retrieve information from DevRev using its APIs.
ActionKit MCP Starter
A demonstration server for ActionKit, providing access to Slack actions via Claude Desktop.
MCP-guide
A guide for setting up an MCP server using a Python virtual environment and integrating it with the Cline VS Code extension.
Model Context Protocol servers
A collection of reference implementations for the Model Context Protocol (MCP), showcasing servers built with TypeScript and Python SDKs.
CrowdCent MCP Server
Integrates with the CrowdCent Challenge API, allowing AI assistants to manage prediction challenges, datasets, and submissions.
AIO-MCP Server
An MCP server with integrations for GitLab, Jira, Confluence, and YouTube, providing AI-powered search and development utility tools.
MCP Github OAuth
An MCP server with built-in GitHub OAuth support, deployable on Cloudflare Workers.