Skip to main content
Glama

SAP Documentation MCP Server

by marianfoo

SAP Documentation MCP Server

An MCP server that unifies official SAP docs (SAPUI5, CAP, OpenUI5 APIs & samples, wdi5) with real-time SAP Community content. Use it remotely (hosted URL) or run it locally and point your client to STDIO.

Public server: https://mcp-sap-docs.marianzeis.de/sse
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

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 npm run build:index npm run build # Start the MCP server (STDIO) node dist/src/server.js

The companion HTTP status server runs (via PM2 in your setup) on 127.0.0.1:3001. The SSE proxy runs on 127.0.0.1:18080 and is what remote clients use.

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 .

What you get

  • sap_docs_search – unified search across SAPUI5/CAP/OpenUI5 APIs & samples, wdi5, and more
  • sap_community_search – real-time SAP Community posts with quality filtering
  • sap_docs_get – fetches full documents/snippets with smart formatting

Connect from your MCP client

Remote URL: use the public SSE endpoint
Local/STDIO: run node dist/src/server.js and point the client to a command + args

Below are copy-paste setups for popular clients. Each block has remote and local 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.


Cursor

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

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

Restart Cursor.

~/.cursor/mcp.json:

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

Restart Cursor.


VS Code (GitHub Copilot Chat)

Open Copilot Chat → gear icon → MCP Servers → Add. You can add by command (local/STDIO) or by URL (remote HTTP/SSE) using the built-in wizard. Microsoft's "Add an MCP server" doc walks through this flow.

Remote (URL):

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

Local (command):

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

Zed Editor

  • URL Server → add the SSE URL:
https://mcp-sap-docs.marianzeis.de/sse
  • Program Server → point to:
command: node args: ["<absolute-path>/dist/src/server.js"]

Zed's docs show how to add URL or Program MCP servers from Project → Settings → MCP Servers.


Windsurf

  • Remote URL (SSE):
https://mcp-sap-docs.marianzeis.de/sse
  • Local command:
node <absolute-path>/dist/src/server.js

Open Settings → Cascade → MCP and add a server (URL or Command).


LM Studio

  • Remote URL (SSE):
https://mcp-sap-docs.marianzeis.de/sse
  • Local command:
node <absolute-path>/dist/src/server.js

In LM Studio, go to Program → Install → Edit mcp.json (or use their Add MCP Server flow). Then add either a url entry (remote) or command/args (local).


Goose (desktop & CLI)

In Goose Settings → Extensions → Add custom extension:

  • Type: Remote Extension (SSE)
  • Endpoint:
https://mcp-sap-docs.marianzeis.de/sse

(Goose docs show similar steps for adding remote MCP endpoints as "Remote Extension".)


Gemini CLI

Add an MCP entry in your Gemini CLI settings (see their MCP guide), using either:

  • Remote URL:
https://mcp-sap-docs.marianzeis.de/sse
  • Local command:
node <absolute-path>/dist/src/server.js

Features

🔍 Dual Search System

  • sap_docs_search: Search official SAP documentation, APIs, sample code, and wdi5 docs
  • sap_community_search: Search real-time SAP Community content

📚 Comprehensive Coverage

  • 1,485+ SAPUI5 files - Complete developer guide
  • 195+ CAP files - Cloud Application Programming model
  • 500+ OpenUI5 APIs - Control APIs with detailed JSDoc
  • 2,000+ sample files - Working examples from demokit/sample directories
  • wdi5 E2E test framework docs - End-to-end testing documentation
  • Real-time community content - Live posts with engagement filtering

🌐 SAP Community Integration

  • High-quality community blog posts, solutions, and discussions
  • Live content fetched in real-time with quality filtering (kudos > 5)
  • Real-world developer knowledge and practical insights

💡 Smart Features

  • Automatic code highlighting and sample categorization
  • Context-aware search with intelligent scoring
  • Source-specific results for targeted searches

What's Included

Official Documentation

  • SAPUI5 Documentation (/sapui5) - Complete developer guide with 1,485+ files
  • CAP Documentation (/cap) - Cloud Application Programming model with 195+ files
  • OpenUI5 API Documentation (/openui5-api) - 500+ control APIs with detailed JSDoc
  • OpenUI5 Sample Code (/openui5-samples) - 2,000+ working examples
  • wdi5 Documentation (/wdi5) - End-to-end test framework documentation

Community Content

  • Blog Posts - Technical tutorials and deep-dives from SAP Community
  • Solutions - Real-world answers to common development problems
  • Best Practices - Community-tested approaches and patterns
  • Code Examples - Practical implementations shared by developers
  • High-Quality Filter - Only posts with kudos > 5 for quality assurance

Usage Examples

Search Official Documentation

Use sap_docs_search with: "wdi5 configuration"

Returns: wdi5 documentation about configuration, setup, and usage.

Get Specific Documentation

Use sap_docs_get with: /wdi5

Returns: wdi5 documentation overview

Search SAP Community

Use sap_community_search with: "wdi5 best practices"

Returns: Recent community posts, blog articles, and discussions about wdi5 best practices.

Find Sample Implementations

Use sap_docs_search with: "button click handler"

Returns:

  • Official button documentation
  • Sample button implementations with JS controllers
  • XML view examples

Example Prompts

Try these with any connected MCP client:

  • "How do I implement authentication in SAPUI5?"
  • "Show me wdi5 testing examples for forms"
  • "What are the latest CAP authentication best practices?"
  • "Find community examples of OData batch operations"
  • "Search for temporal data handling in CAP"

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 # Compile TypeScript npm run build:index # Build search index from sources npm run build:fts # Build FTS5 database

Local Setup

git clone https://github.com/marianfoo/mcp-sap-docs.git cd mcp-sap-docs ./setup.sh # Clone/update sources and build FTS npm run build:index # Build index.json npm run build # Compile TypeScript

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)
    • SSH into server and pull latest code + submodules
    • Update documentation sources and rebuild indices
    • Restart services with health checks
  2. Daily Documentation Updates (4 AM UTC)
    • Update all documentation submodules to latest versions
    • Rebuild search indices with fresh content
    • 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
  • SSE Proxy (Python) - Bridges STDIO → URL for remote clients
  • Reverse Proxy (Caddy) - TLS termination and routing
  • Search Engine - SQLite FTS5 + JSON indices for fast local search
  • Community API - Real-time integration with SAP Community

Project Statistics

  • Total Files: 4,180+ documentation files + real-time community content
  • SAPUI5 Docs: 1,485 markdown files
  • CAP Docs: 195 markdown files
  • OpenUI5 APIs: 500+ JavaScript control definitions
  • Sample Code: 2,000+ implementation examples
  • Community Posts: Real-time access to filtered, high-quality content
  • Search Database: 8+ MB FTS5 database with 14,822+ indexed documents

License

MIT


References

If you need additional client snippets (e.g., Qodo Gen, other tools), please open an issue with your specific client requirements.

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 -
    4
    66
    73
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    Provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.
    Last updated -
    13
    TypeScript
    MIT License
    • Apple
  • -
    security
    F
    license
    -
    quality
    Enables AI assistants to search documentation of packages and services to find implementation details, examples, and specifications.
    Last updated -
    Python
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    Enables AI assistants to search for documentation of packages and services, providing implementation details, examples, and specifications through a specialized API.
    Last updated -
    1
    1
    JavaScript

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