Skip to main content
Glama

SAP Documentation MCP Server

by marianfoo

SAP Documentation MCP Server

A fast, lightweight MCP server that provides unified access to official SAP documentation (SAPUI5, CAP, OpenUI5 APIs & samples, wdi5) using efficient BM25 full-text search. Use it remotely (hosted URL) or run it locally and point your client to STDIO.

Public server STDIO: https://mcp-sap-docs.marianzeis.de/sse
Public server Streamable HTTP: https://mcp-sap-docs.marianzeis.de/mcp Streamable HTTP (default: 3122, configurable via MCP_PORT): http://127.0.0.1:3122/mcp
Local HTTP status: http://127.0.0.1:3001/status
Proxy status (SSE gateway): http://127.0.0.1:18080/status


Quick start

Point your MCP client to the SSE URL:

https://mcp-sap-docs.marianzeis.de/sse

or the Streamable HTTP URL:

https://mcp-sap-docs.marianzeis.de/mcp

Verify from a shell:

# Should return JSON with api_last_activity curl -sS https://mcp-sap-docs.marianzeis.de/status | jq . # Should return an SSE line like: "event: endpoint" with a /messages path curl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head
# From repo root npm ci ./setup.sh # execute this script to clone the github documentation submodules npm run build # Start the MCP server (STDIO) node dist/src/server.js # OR start the Streamable HTTP server npm run start:streamable

Local health checks

# MCP proxy (SSE gateway) curl -sS http://127.0.0.1:18080/status | jq . # HTTP server curl -sS http://127.0.0.1:3001/status | jq . # Streamable HTTP server (local & deployment default) curl -sS http://127.0.0.1:3122/health | jq .

What you get

  • sap_docs_search – Search across all official SAP documentation sources with intelligent filtering
  • sap_docs_get – Retrieve complete documents/snippets with smart formatting

🌐 Community & Help Portal

  • sap_community_search – Real-time SAP Community posts with full content of top 3 results
  • sap_help_search – Comprehensive search across SAP Help Portal documentation
  • sap_help_get – Retrieve complete SAP Help pages with metadata

Connect from your MCP client

Remote URL: use the public SSE endpoint or Streamable HTTP endpoint ✅ Local/STDIO: run node dist/src/server.js and point the client to a command + args
Local/Streamable HTTP: run npm run start:streamable and point the client to http://127.0.0.1:3122/mcp

Below are copy-paste setups for popular clients. Each block has remote, local, and streamable HTTP options.


Claude (Desktop / Web "Connectors")

  1. Open Claude Settings → Connectors → Add custom connector
  2. Paste the URL:
https://mcp-sap-docs.marianzeis.de/sse
  1. Save; Claude will perform the SSE handshake and obtain the /messages endpoint automatically.

(Claude documents the Remote MCP flow for SSE connectors here.)

Docs: Model Context Protocol "Connect to Remote MCP Servers" (shows how Claude connects to SSE).

Point Claude to the command and args:

command: node args: ["<absolute-path-to-your-repo>/dist/src/server.js"]

Claude's user quickstart shows how to add local servers by specifying a command/args pair.

For the latest MCP protocol (2025-03-26) with Streamable HTTP support:

  1. Start the streamable HTTP server:
npm run start:streamable
  1. Add a custom connector with the URL:
http://127.0.0.1:3122/mcp

This provides better performance and supports the latest MCP features including session management and resumability.


Cursor

Create or edit ~/.cursor/mcp.json:

{ "mcpServers": { "sap-docs-remote": { "url": "https://mcp-sap-docs.marianzeis.de/sse" } } }

~/.cursor/mcp.json:

{ "mcpServers": { "sap-docs": { "command": "node", "args": ["/absolute/path/to/dist/src/server.js"] } } }

Eclipse (GitHub Copilot)

Eclipse users can integrate the SAP Docs MCP server with GitHub Copilot for seamless access to SAP development documentation.

⚠️ Important Limitation: GitHub Copilot did not support Eclipse ADT (ABAP Development Tools) due to the semanticfs URI scheme used for ABAP development. See GitHub Issue #171406 for details.

Workaround: Make sure your Copilot Version in Eclipse is up to date to make it work!

Prerequisites

  • Eclipse Version: 2024-09 or higher
  • GitHub Copilot Extension: Latest version from Eclipse Marketplace
  • GitHub Account: With Copilot access
  • Note: Full ABAP ADT integration is not yet supported

Configuration Steps

  1. Install GitHub Copilot Extension
  2. Open MCP Configuration
    • Click the Copilot icon (🤖) in the Eclipse status bar
    • Select "Edit preferences" from the menu
    • Expand "Copilot Chat" in the left panel
    • Click on "MCP"
  3. Add SAP Docs MCP Server
    { "name": "SAP Docs MCP", "description": "Comprehensive SAP development documentation with ABAP keyword documentation", "url": "https://mcp-sap-docs.marianzeis.de/sse" }
  4. Verify Configuration
    • The server should appear in your MCP servers list
    • Status should show as "Connected" when active

Using SAP Docs in Eclipse

Once configured, you can use Copilot Chat in Eclipse with enhanced SAP documentation:

Example queries:

How do I implement a Wizard control in UI5? What is the syntax for inline declarations in ABAP 7.58? Show me best practices for RAP development Find wdi5 testing examples for OData services

Available Tools:

  • sap_docs_search - Unified search for all SAP development (UI5, CAP, ABAP, testing) with intelligent ABAP version filtering
  • sap_community_search - SAP Community integration
  • sap_help_search - SAP Help Portal access
  • sap_docs_get - Retrieve complete documentation for any source

Local MCP Server Configuration

{ "name": "SAP Docs MCP (Local)", "description": "Local SAP documentation server", "command": "npm", "args": ["start"], "cwd": "/absolute/path/to/your/sap-docs-mcp", "env": { "NODE_ENV": "production" } }

Prerequisites for local setup:

  1. Clone and build this repository locally
  2. Run npm run setup to initialize all documentation sources
  3. Ensure the server starts correctly with npm start

VS Code (GitHub Copilot Chat)

Prerequisites: VS Code 1.102+ with MCP support enabled (enabled by default).

Quick Setup

Create .vscode/mcp.json in your workspace:

{ "servers": { "sap-docs": { "type": "http", "url": "https://mcp-sap-docs.marianzeis.de/mcp" } } }

Alternative (SSE): Use "type": "sse" with "url": "https://mcp-sap-docs.marianzeis.de/sse" if HTTP doesn't work.

Using the Remote Server

  1. Save the .vscode/mcp.json file in your workspace
  2. VS Code will automatically detect and start the MCP server
  3. Open Chat view and select Agent mode
  4. Click Tools button to see available SAP documentation tools
  5. Ask questions like "How do I implement authentication in SAPUI5?"

Benefits:

  • ✅ No local installation required
  • ✅ Always up-to-date documentation
  • ✅ Automatic updates and maintenance
  • ✅ Works across all your projects

Note: You'll be prompted to trust the remote MCP server when connecting for the first time.

Local STDIO Server

{ "servers": { "sap-docs-local": { "type": "stdio", "command": "node", "args": ["<absolute-path>/dist/src/server.js"] } } }

Local HTTP Server

{ "servers": { "sap-docs-http": { "type": "http", "url": "http://127.0.0.1:3122/mcp" } } }

(Start local server with npm run start:streamable first)

Alternative Setup Methods

  • Command Palette: Run MCP: Add Server → choose server type → provide details → select scope
  • User Configuration: Run MCP: Open User Configuration for global setup across all workspaces

See Microsoft's "Use MCP servers in VS Code" for complete documentation.


Raycast

Open Raycast → Open Command "Manage Servers (MCP) → Import following JSON

{ "mcpServers": { "sap-docs": { "command": "npx", "args": ["mcp-remote@latest", "https://mcp-sap-docs.marianzeis.de/sse"] } } }

Open Raycast → Open Command "Manage Servers (MCP) → Import following JSON

{ "mcpServers": { "sap-docs": { "command": "node", "args": ["/absolute/path/to/dist/src/server.js"] } } }

Raycast by default asks to confirm each usage of an MCP tool. You can enable automatic confirmation:

Open Raycast → Raycast Settings → AI → Model Context Protocol → Check "Automatically confirm all tool calls"


Features

🔍 Advanced Search Capabilities

  • Unified search across all official SAP documentation with intelligent ABAP version filtering
  • BM25 full-text search with SQLite FTS5 for fast, relevant results (~15ms average query time)
  • Context-aware scoring with automatic stopword filtering and phrase detection
  • Version-specific filtering - shows latest ABAP by default, specific versions only when requested

🌐 Real-time External Integration

  • SAP Community: Full content retrieval using "Best Match" algorithm with engagement metrics
  • SAP Help Portal: Direct API access to all SAP product documentation (S/4HANA, BTP, Analytics Cloud)
  • Efficient processing: Batch content retrieval and intelligent caching for fast response times

💡 Smart Features

  • Automatic content enhancement: Code highlighting and sample categorization
  • Intelligent ranking: Context-aware scoring with source-specific weighting
  • Performance optimized: Lightweight SQLite FTS5 with no external ML dependencies

What's Included

This MCP server provides unified access to comprehensive SAP development documentation across multiple product areas. All sources are searched simultaneously through the sap_docs_search tool, with intelligent filtering and ranking.

📊 Documentation Coverage Overview

Source CategorySourcesFile CountDescription
ABAP Development4 sources40,800+ filesOfficial ABAP keyword docs (8 versions), cheat sheets, Fiori showcase, community guidelines
UI5 Development6 sources12,000+ filesSAPUI5 docs, OpenUI5 APIs/samples, TypeScript, tooling, web components, custom controls
CAP Development2 sources250+ filesCloud Application Programming model docs and Fiori Elements showcase
Cloud & Deployment3 sources500+ filesSAP Cloud SDK (JS/Java), Cloud SDK for AI, Cloud MTA Build Tool
Testing & Quality2 sources260+ fileswdi5 E2E testing framework, SAP style guides

🔍 ABAP Development Sources

  • Official ABAP Keyword Documentation (/abap-docs) - 40,761+ curated ABAP files across 8 versions (7.52-7.58 + latest) with intelligent version filtering
    📁 GitHub: marianfoo/abap-docs
  • ABAP Cheat Sheets (/abap-cheat-sheets) - 32 comprehensive cheat sheets covering core ABAP concepts, SQL, OOP, RAP, and more
    📁 GitHub: SAP-samples/abap-cheat-sheets
  • ABAP RAP Fiori Elements Showcase (/abap-fiori-showcase) - Complete annotation reference for ABAP RESTful Application Programming (RAP)
    📁 GitHub: SAP-samples/abap-platform-fiori-feature-showcase
  • DSAG ABAP Guidelines (/dsag-abap-leitfaden) - German ABAP community best practices and development standards
    📁 GitHub: 1DSAG/ABAP-Leitfaden

🎨 UI5 Development Sources

  • SAPUI5 Documentation (/sapui5-docs) - 1,485+ files - Complete official developer guide, controls, and best practices
    📁 GitHub: SAP-docs/sapui5
  • OpenUI5 Framework (/openui5) - 20,000+ files - Complete OpenUI5 source including 500+ control APIs with detailed JSDoc and 2,000+ working examples from demokit samples
    📁 GitHub: SAP/openui5
  • UI5 TypeScript Integration (/ui5-typescript) - Official TypeScript setup guides, type definitions, and migration documentation
    📁 GitHub: UI5/typescript
  • UI5 Tooling (/ui5-tooling) - Complete UI5 Tooling documentation for project setup, build, and development workflows
    📁 GitHub: SAP/ui5-tooling
  • UI5 Web Components (/ui5-webcomponents) - 4,500+ files - Comprehensive web components documentation, APIs, and implementation examples
    📁 GitHub: SAP/ui5-webcomponents
  • UI5 Custom Controls (/ui5-cc-spreadsheetimporter) - Spreadsheet importer and other community custom control documentation
    📁 GitHub: spreadsheetimporter/ui5-cc-spreadsheetimporter

☁️ CAP Development Sources

  • CAP Documentation (/cap-docs) - 195+ files - Complete Cloud Application Programming model documentation for Node.js and Java
    📁 GitHub: cap-js/docs
  • CAP Fiori Elements Showcase (/cap-fiori-showcase) - Comprehensive annotation reference and examples for CAP-based Fiori Elements applications
    📁 GitHub: SAP-samples/fiori-elements-feature-showcase

🚀 Cloud & Deployment Sources

  • SAP Cloud SDK for JavaScript (/cloud-sdk) - Complete SDK documentation, tutorials, and API references for JavaScript/TypeScript
    📁 GitHub: SAP/cloud-sdk
  • SAP Cloud SDK for Java (/cloud-sdk) - Comprehensive Java SDK documentation and integration guides
    📁 GitHub: SAP/cloud-sdk
  • SAP Cloud SDK for AI (/cloud-sdk-ai) - Latest AI capabilities integration documentation for both JavaScript and Java
    📁 GitHub: SAP/ai-sdk
  • Cloud MTA Build Tool (/cloud-mta-build-tool) - Complete documentation for Multi-Target Application development and deployment
    📁 GitHub: SAP/cloud-mta-build-tool

✅ Testing & Quality Sources

  • wdi5 Testing Framework (/wdi5) - 225+ files - End-to-end testing documentation, setup guides, and real-world examples
    📁 GitHub: ui5-community/wdi5
  • SAP Style Guides (/sap-styleguides) - Official SAP coding standards, clean code practices, and development guidelines
    📁 GitHub: SAP/styleguides

Example Prompts

Try these with any connected MCP client to explore the comprehensive documentation:

🔍 ABAP Development Queries

ABAP Keyword Documentation (8 versions with intelligent filtering):

  • "What is the syntax for inline declarations in ABAP 7.58?"
  • "How do I use SELECT statements with internal tables in ABAP 7.57?"
  • "Show me exception handling with TRY-CATCH in modern ABAP"
  • "What are constructor expressions for VALUE and CORRESPONDING?"
  • "How do I implement ABAP Unit tests with test doubles?"

ABAP Best Practices & Guidelines:

  • "What is Clean ABAP and how do I follow the style guide?"
  • "Show me ABAP cheat sheet for internal tables operations"
  • "Find DSAG ABAP guidelines for object-oriented programming"
  • "How to implement RAP with EML in ABAP for Cloud?"

🎨 UI5 Development Queries

SAPUI5 & OpenUI5:

  • "How do I implement authentication in SAPUI5?"
  • "Find OpenUI5 button control examples with click handlers"
  • "Show me fragment reuse patterns in UI5"
  • "What are UI5 model binding best practices?"

Modern UI5 Development:

  • "Show me TypeScript setup for UI5 development"
  • "How do I configure UI5 Tooling for a new project?"
  • "Find UI5 Web Components integration examples"
  • "How to implement custom controls with UI5 Web Components?"

☁️ CAP & Cloud Development

CAP Framework:

  • "How do I implement CDS views with calculated fields in CAP?"
  • "Show me CAP authentication and authorization patterns"
  • "Find CAP Node.js service implementation examples"
  • "How to handle temporal data in CAP applications?"

Cloud SDK & Deployment:

  • "How do I use SAP Cloud SDK for JavaScript with OData?"
  • "Show me Cloud SDK for AI integration examples"
  • "Find Cloud MTA Build Tool configuration for multi-target apps"
  • "How to deploy CAP applications to SAP BTP?"

✅ Testing & Quality

Testing Frameworks:

  • "Show me wdi5 testing examples for forms and tables"
  • "How do I set up wdi5 for OData service testing?"
  • "Find end-to-end testing patterns for Fiori Elements apps"

Code Quality:

  • "What are SAP style guide recommendations for JavaScript?"
  • "Show me clean code practices for ABAP development"

🌐 Community & Help Portal

Community Knowledge (with full content):

  • "Find community examples of OData batch operations with complete implementation"
  • "Search for RAP development tips and tricks from the community"
  • "What are the latest CAP authentication best practices from the community?"

SAP Help Portal:

  • "How to configure S/4HANA Fiori Launchpad?"
  • "Find BTP integration documentation for Analytics Cloud"
  • "Search for ABAP development best practices in S/4HANA"

Troubleshooting

  • Make sure the URL is the SSE URL: https://mcp-sap-docs.marianzeis.de/sse (not /messages, not /status).
  • Test SSE from your machine:
curl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head

You should see event: endpoint and a /messages?... path. (This is the expected SSE handshake for remote MCP servers.)

  • Try adding it as URL first. If your network blocks SSE, use your local server via command:
node <absolute-path>/dist/src/server.js
  • Ensure you're pointing to the built entry:
node dist/src/server.js
  • If using PM2/systemd, confirm it's alive:
pm2 status mcp-sap-http pm2 status mcp-sap-proxy curl -fsS http://127.0.0.1:3001/status | jq . curl -fsS http://127.0.0.1:18080/status | jq .

Development

Build Commands

npm run build:tsc # Compile TypeScript npm run build:index # Build search index from sources npm run build:fts # Build FTS5 database npm run build # Complete build pipeline (tsc + index + fts) npm run setup # Complete setup (submodules + build)

Server Commands

npm start # Start STDIO MCP server npm run start:http # Start HTTP status server (port 3001) npm run start:streamable # Start Streamable HTTP MCP server (port 3122)

Local Setup

git clone https://github.com/marianfoo/mcp-sap-docs.git cd mcp-sap-docs npm ci # Install dependencies npm run setup # Enhanced setup (optimized submodules + complete build)

The build process creates optimized search indices for fast offline access while maintaining real-time connectivity to the SAP Community API.


Health & Status Monitoring

Public Endpoints

# Check server status curl -sS https://mcp-sap-docs.marianzeis.de/status | jq . # Test SSE connection curl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head

Local Endpoints

# HTTP server status curl -sS http://127.0.0.1:3001/status | jq . # SSE proxy status curl -sS http://127.0.0.1:18080/status | jq .

Deployment

Automated Workflows

This project includes dual automated workflows:

  1. Main Deployment (on push to main or manual trigger)
    • SSH into server and pull latest code
    • Run enhanced setup with optimized submodule handling
    • Restart all PM2 processes (proxy, http, streamable) with health checks
  2. Daily Documentation Updates (4 AM UTC)
    • Update all documentation submodules to latest versions
    • Rebuild search indices with fresh content using enhanced setup
    • Restart services automatically

Manual Updates

Trigger documentation updates anytime via GitHub Actions → "Update Documentation Submodules" workflow.


Architecture

  • MCP Server (Node.js/TypeScript) - Exposes Resources/Tools for SAP docs, community & help portal
  • Streamable HTTP Transport (Latest MCP spec) - HTTP-based transport with session management and resumability
  • SSE Proxy (Python) - Bridges STDIO → URL for remote clients
  • BM25 Search Engine - SQLite FTS5 with optimized OR-logic queries for fast, relevant results
  • Optimized Submodules - Shallow, single-branch clones with blob filtering for minimal bandwidth

Technical Stack

  • Search Engine: BM25 with SQLite FTS5 for fast full-text search with OR logic
  • Performance: ~15ms average query time with optimized indexing
  • Transport: Latest MCP protocol with HTTP/SSE support and session management
Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Provides offline access to SAP documentation and real-time SAP Community content, integrating official documentation with community-driven solutions for comprehensive developer support.

  1. Quick start
    1. What you get
      1. 🔍 Unified Documentation Search
      2. 🌐 Community & Help Portal
    2. Connect from your MCP client
      1. Claude (Desktop / Web "Connectors")
        1. Cursor
          1. Eclipse (GitHub Copilot)
            1. Prerequisites
            2. Configuration Steps
            3. Using SAP Docs in Eclipse
            4. Local MCP Server Configuration
          2. VS Code (GitHub Copilot Chat)
            1. Quick Setup
            2. Using the Remote Server
            3. Local STDIO Server
            4. Local HTTP Server
            5. Alternative Setup Methods
          3. Raycast
            1. Features
              1. 🔍 Advanced Search Capabilities
              2. 🌐 Real-time External Integration
              3. 💡 Smart Features
            2. What's Included
              1. 📊 Documentation Coverage Overview
              2. 🔍 ABAP Development Sources
              3. 🎨 UI5 Development Sources
              4. ☁️ CAP Development Sources
              5. 🚀 Cloud & Deployment Sources
              6. ✅ Testing & Quality Sources
            3. Example Prompts
              1. 🔍 ABAP Development Queries
              2. 🎨 UI5 Development Queries
              3. ☁️ CAP & Cloud Development
              4. ✅ Testing & Quality
              5. 🌐 Community & Help Portal
            4. Troubleshooting
              1. Development
                1. Build Commands
                2. Server Commands
                3. Local Setup
              2. Health & Status Monitoring
                1. Public Endpoints
                2. Local Endpoints
              3. Deployment
                1. Automated Workflows
                2. Manual Updates
              4. Architecture
                1. Technical Stack

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                Serves as a guardian of development knowledge, providing AI assistants with curated access to latest documentation and best practices.
                Last updated -
                48
                77
                MIT License
              • -
                security
                A
                license
                -
                quality
                Provides access to personal/team knowledge repositories with tools to search, retrieve, and save information from various sources including Slack, Gmail, and document storage platforms.
                Last updated -
                Apache 2.0
              • -
                security
                F
                license
                -
                quality
                Direct access to the Revit API docs and related content.
                Last updated -
                6
                • Apple

              View all related MCP servers

              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