In this post I’m sharing my SAP Documentation MCP Server, a fast, lightweight way to give LLMs grounded access to official SAP docs, API references, real sample code, the SAP Community, and SAP Help. Less hunting through tabs, more precise answers right inside your AI tool.
What is MCP and why does it matter?
The Model Context Protocol (MCP) is a standard that lets AI assistants securely call tools and read external data. A strong MCP server brings generic models (like OpenAI) much closer to what many expect from Joule for Developers: up-to-date, context-specific answers backed by verifiable sources. MCP is getting adopted broadly, you can connect to servers from tools like Claude, VS Code, Cursor, and others.
Why this matters day-to-day: instead of a model relying on stale training data, it can fetch exactly the right page, API, or example at answer time. That reduces guesswork and aligns responses to the current SAP docs.
The challenge: SAP knowledge is scattered
SAP information lives across multiple places: the SAPUI5 developer guide, CAP guides, OpenUI5 APIs, Demokit samples, SAP Help, and the SAP Community. Even experienced developers spend time cross-checking sources; generic LLMs struggle even more, especially with UI5 API specifics (events, bindings, lifecycle), CAP annotations, or testing details. The result is friction, confusion, and answers that need manual verification.
This server unifies the important sources behind a single, predictable interface and uses fast, keyword-intent search so you get relevant matches quickly.
What this MCP server provides
Here is the GitHub Repository: https://github.com/marianfoo/mcp-sap-docs
Coverage includes major SAP developer sources with a single search surface and consistent formatting:
Documentation → SAPUI5, CAP, UI5 Tooling, wdi5, UI5 Web Components, Cloud MTA Build Tool, SAP Cloud SDK (JS/Java), SAP Cloud SDK AI
OpenUI5 API & Samples → control APIs plus real Demokit sample projects
SAP Community → search and return full content for the most relevant results
SAP Help → search and retrieve complete pages with metadata
Fast search → BM25 / SQLite FTS5 with context-aware boosts and metadata-driven routing
Under the hood, the server normalizes results (title, snippet, source, URL) so your client sees a consistent format across all sources, easy to scan and follow.
Use the hosted server (recommended)
No setup, just connect:
STDIO (SSE): https://mcp-sap-docs.marianzeis.de/sse
Streamable HTTP: https://mcp-sap-docs.marianzeis.de/mcp
Run it locally
Clone the repository and build locally:
git clone https://github.com/marianfoo/mcp-sap-docs
cd mcp-sap-docs
npm ci
./setup.sh
npm run build
# Start STDIO server
node dist/src/server.js
# Or start Streamable HTTP (modern protocol)
npm run start:streamable
Local health checks:
# HTTP status
curl -sS http://127.0.0.1:3001/status | jq .
# SSE proxy
curl -sS http://127.0.0.1:18080/status | jq .
# Streamable HTTP
curl -sS http://127.0.0.1:3122/health | jq .
Integrate with your client
Cursor
Add a remote MCP server via ~/.cursor/mcp.json. See Cursor docs: docs.cursor.com
{
“mcpServers”: {
“sap-docs-remote”: {
“url”: “https://mcp-sap-docs.marianzeis.de/sse”
}
}
}
VS Code (GitHub Copilot Chat)
Workspace-level config: VS Code MCP servers
{
“servers”: {
“sap-docs”: {
“type”: “http”,
“url”: “https://mcp-sap-docs.marianzeis.de/mcp”
}
}
}
Claude
Settings → Connectors → Add custom connector → paste https://mcp-sap-docs.marianzeis.de/sse
Client docs: MCP client documentation
Deep dive: how features work
Docs (including search)
The server uses SQLite FTS5 with the BM25 ranking function, simple, fast, and reliable without external dependencies. For developer queries it often beats generic vector search because the keyword intent is clear (control names, APIs, annotations). Queries are expanded with synonyms and acronyms (for example, UI5 ↔ SAPUI5), and results are boosted depending on the detected context (UI5, CAP, testing). All sources are defined in one central metadata.json, so adding a source does not require code changes.
Community
Community search follows the site’s “Best Match” behavior and returns full content for the most relevant posts. That gives you the context and code right away, which is especially useful for tricky issues where official docs are thin. Explore more at SAP Community.
SAP Help
The Help integration is a two-step flow: first search, then fetch the complete page with metadata. This offers broad coverage across S/4HANA, BTP, Analytics Cloud, Fiori, ABAP, and more. Note: it relies on private endpoints of the SAP Help Portal and may change. Browse help.sap.com.
Technical snapshot
Three modes → STDIO MCP, HTTP status, Streamable HTTP MCP
BM25-only → no external vector services; fast and robust
Metadata-first → add new sources via metadata.json without code changes
Production is managed with process supervision and CI/CD; documentation sources are updated on a regular cadence so you get fresh content without manual steps.
Real-world workflows
“How do I implement a SAPUI5 wizard with validation?” → official guide, API links, and sample patterns
“How do I test table interactions with wdi5?” → testing docs and relevant community posts
“How do I configure S/4HANA Fiori Launchpad?” → SAP Help pages with step-by-step instructions
Once connected, you can open the tools view, pick the server, and run a docs search. The top results render with titles, short snippets, and direct links:
Source map: repositories and paths
Source
Library ID
Base URL
GitHub
SAPUI5 Documentation
/sapui5
—
CAP Documentation
/cap
OpenUI5 API
/openui5-api
OpenUI5 Samples
/openui5-samples
wdi5
/wdi5
UI5 Tooling
/ui5-tooling
Cloud MTA Build Tool
/cloud-mta-build-tool
sap.github.io/cloud-mta-build-tool
github.com/SAP/cloud-mta-build-tool
UI5 Web Components
/ui5-webcomponents
sap.github.io/ui5-webcomponents
github.com/SAP/ui5-webcomponents
SAP Cloud SDK (JS)
/cloud-sdk-js
sap.github.io/cloud-sdk/docs/js
SAP Cloud SDK (Java)
/cloud-sdk-java
sap.github.io/cloud-sdk/docs/java
SAP Cloud SDK AI (JS)
/cloud-sdk-ai-js
SAP Cloud SDK AI (Java)
/cloud-sdk-ai-java
sap.github.io/ai-sdk/docs/java
Sources (open)
SAPUI5 documentation
OpenUI5 API and source code of controls
OpenUI5 samples (Demokit)
CAP, wdi5, UI5 Tooling, Cloud MTA Build Tool
SAP Cloud SDK (JS/Java) and SAP Cloud SDK AI
SAP’s MCP momentum
SAP itself is investing in MCP servers. A good example is the CAP MCP server: https://github.com/cap-js/mcp-server
How to contribute
If you know a document exists in one of the sources but the LLM can’t find it, please share (1) your question, (2) the MCP tool call, and (3) the link to the expected document. This lets me reproduce and improve the search. Use the issue template:
Open issue with the “Missing Documentation Search Result” template
Want to propose adding a new source? Use this template:
Open issue with the “New Documentation Source” template
Notes
Hosted is the easiest. Local is great when you need offline behavior.
SAP Help relies on private APIs and may change.
Feedback is welcome: the more specific (query, tool log, expected link), the faster I can tune relevance.
In this post I’m sharing my SAP Documentation MCP Server, a fast, lightweight way to give LLMs grounded access to official SAP docs, API references, real sample code, the SAP Community, and SAP Help. Less hunting through tabs, more precise answers right inside your AI tool.What is MCP and why does it matter?The Model Context Protocol (MCP) is a standard that lets AI assistants securely call tools and read external data. A strong MCP server brings generic models (like OpenAI) much closer to what many expect from Joule for Developers: up-to-date, context-specific answers backed by verifiable sources. MCP is getting adopted broadly, you can connect to servers from tools like Claude, VS Code, Cursor, and others.Why this matters day-to-day: instead of a model relying on stale training data, it can fetch exactly the right page, API, or example at answer time. That reduces guesswork and aligns responses to the current SAP docs.The challenge: SAP knowledge is scatteredSAP information lives across multiple places: the SAPUI5 developer guide, CAP guides, OpenUI5 APIs, Demokit samples, SAP Help, and the SAP Community. Even experienced developers spend time cross-checking sources; generic LLMs struggle even more, especially with UI5 API specifics (events, bindings, lifecycle), CAP annotations, or testing details. The result is friction, confusion, and answers that need manual verification.This server unifies the important sources behind a single, predictable interface and uses fast, keyword-intent search so you get relevant matches quickly.What this MCP server providesHere is the GitHub Repository: https://github.com/marianfoo/mcp-sap-docs Coverage includes major SAP developer sources with a single search surface and consistent formatting:Documentation → SAPUI5, CAP, UI5 Tooling, wdi5, UI5 Web Components, Cloud MTA Build Tool, SAP Cloud SDK (JS/Java), SAP Cloud SDK AIOpenUI5 API & Samples → control APIs plus real Demokit sample projectsSAP Community → search and return full content for the most relevant resultsSAP Help → search and retrieve complete pages with metadataFast search → BM25 / SQLite FTS5 with context-aware boosts and metadata-driven routingUnder the hood, the server normalizes results (title, snippet, source, URL) so your client sees a consistent format across all sources, easy to scan and follow.Use the hosted server (recommended)No setup, just connect:STDIO (SSE): https://mcp-sap-docs.marianzeis.de/sseStreamable HTTP: https://mcp-sap-docs.marianzeis.de/mcp Run it locallyClone the repository and build locally:git clone https://github.com/marianfoo/mcp-sap-docs
cd mcp-sap-docs
npm ci
./setup.sh
npm run build
# Start STDIO server
node dist/src/server.js
# Or start Streamable HTTP (modern protocol)
npm run start:streamableLocal health checks:# HTTP status
curl -sS http://127.0.0.1:3001/status | jq .
# SSE proxy
curl -sS http://127.0.0.1:18080/status | jq .
# Streamable HTTP
curl -sS http://127.0.0.1:3122/health | jq .Integrate with your clientCursorAdd a remote MCP server via ~/.cursor/mcp.json. See Cursor docs: docs.cursor.com{
“mcpServers”: {
“sap-docs-remote”: {
“url”: “https://mcp-sap-docs.marianzeis.de/sse”
}
}
}VS Code (GitHub Copilot Chat)Workspace-level config: VS Code MCP servers{
“servers”: {
“sap-docs”: {
“type”: “http”,
“url”: “https://mcp-sap-docs.marianzeis.de/mcp”
}
}
}ClaudeSettings → Connectors → Add custom connector → paste https://mcp-sap-docs.marianzeis.de/sseClient docs: MCP client documentationDeep dive: how features workDocs (including search)The server uses SQLite FTS5 with the BM25 ranking function, simple, fast, and reliable without external dependencies. For developer queries it often beats generic vector search because the keyword intent is clear (control names, APIs, annotations). Queries are expanded with synonyms and acronyms (for example, UI5 ↔ SAPUI5), and results are boosted depending on the detected context (UI5, CAP, testing). All sources are defined in one central metadata.json, so adding a source does not require code changes.CommunityCommunity search follows the site’s “Best Match” behavior and returns full content for the most relevant posts. That gives you the context and code right away, which is especially useful for tricky issues where official docs are thin. Explore more at SAP Community.SAP HelpThe Help integration is a two-step flow: first search, then fetch the complete page with metadata. This offers broad coverage across S/4HANA, BTP, Analytics Cloud, Fiori, ABAP, and more. Note: it relies on private endpoints of the SAP Help Portal and may change. Browse help.sap.com.Technical snapshotThree modes → STDIO MCP, HTTP status, Streamable HTTP MCPBM25-only → no external vector services; fast and robustMetadata-first → add new sources via metadata.json without code changesProduction is managed with process supervision and CI/CD; documentation sources are updated on a regular cadence so you get fresh content without manual steps.Real-world workflows“How do I implement a SAPUI5 wizard with validation?” → official guide, API links, and sample patterns“How do I test table interactions with wdi5?” → testing docs and relevant community posts“How do I configure S/4HANA Fiori Launchpad?” → SAP Help pages with step-by-step instructionsOnce connected, you can open the tools view, pick the server, and run a docs search. The top results render with titles, short snippets, and direct links: Source map: repositories and pathsSourceLibrary IDBase URLGitHubSAPUI5 Documentation/sapui5ui5.sap.com—CAP Documentation/capcap.cloud.sapgithub.com/cap-jsOpenUI5 API/openui5-apisdk.openui5.orggithub.com/SAP/openui5OpenUI5 Samples/openui5-samplessdk.openui5.orggithub.com/SAP/openui5wdi5/wdi5ui5-community.github.io/wdi5github.com/ui5-community/wdi5UI5 Tooling/ui5-toolingsap.github.io/ui5-tooling/v4github.com/SAP/ui5-toolingCloud MTA Build Tool/cloud-mta-build-toolsap.github.io/cloud-mta-build-toolgithub.com/SAP/cloud-mta-build-toolUI5 Web Components/ui5-webcomponentssap.github.io/ui5-webcomponentsgithub.com/SAP/ui5-webcomponentsSAP Cloud SDK (JS)/cloud-sdk-jssap.github.io/cloud-sdk/docs/jsgithub.com/SAP/cloud-sdkSAP Cloud SDK (Java)/cloud-sdk-javasap.github.io/cloud-sdk/docs/javagithub.com/SAP/cloud-sdkSAP Cloud SDK AI (JS)/cloud-sdk-ai-jssap.github.io/ai-sdk/docs/jsgithub.com/SAP/ai-sdkSAP Cloud SDK AI (Java)/cloud-sdk-ai-javasap.github.io/ai-sdk/docs/javagithub.com/SAP/ai-sdk Sources (open)SAPUI5 documentationOpenUI5 API and source code of controlsOpenUI5 samples (Demokit)CAP, wdi5, UI5 Tooling, Cloud MTA Build ToolSAP Cloud SDK (JS/Java) and SAP Cloud SDK AISAP’s MCP momentumSAP itself is investing in MCP servers. A good example is the CAP MCP server: https://github.com/cap-js/mcp-serverHow to contributeIf you know a document exists in one of the sources but the LLM can’t find it, please share (1) your question, (2) the MCP tool call, and (3) the link to the expected document. This lets me reproduce and improve the search. Use the issue template:Open issue with the “Missing Documentation Search Result” templateWant to propose adding a new source? Use this template:Open issue with the “New Documentation Source” templateNotesHosted is the easiest. Local is great when you need offline behavior.SAP Help relies on private APIs and may change.Feedback is welcome: the more specific (query, tool log, expected link), the faster I can tune relevance. Read More Technology Blog Posts by Members articles
#SAP
#SAPTechnologyblog