{"id":29563510,"url":"https://github.com/marianfoo/mcp-sap-docs","last_synced_at":"2025-09-12T08:07:08.236Z","repository":{"id":298769649,"uuid":"1001079084","full_name":"marianfoo/mcp-sap-docs","owner":"marianfoo","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-09T20:45:10.000Z","size":10465,"stargazers_count":58,"open_issues_count":3,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-09-09T23:59:17.540Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marianfoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-12T19:35:12.000Z","updated_at":"2025-09-09T20:45:14.000Z","dependencies_parsed_at":"2025-08-05T09:09:50.346Z","dependency_job_id":"23bb831a-458e-4dad-be3b-0335142160e8","html_url":"https://github.com/marianfoo/mcp-sap-docs","commit_stats":null,"previous_names":["marianfoo/mcp-sap-docs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marianfoo/mcp-sap-docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianfoo%2Fmcp-sap-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianfoo%2Fmcp-sap-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianfoo%2Fmcp-sap-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianfoo%2Fmcp-sap-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marianfoo","download_url":"https://codeload.github.com/marianfoo/mcp-sap-docs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marianfoo%2Fmcp-sap-docs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274777730,"owners_count":25347652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-18T18:02:17.224Z","updated_at":"2025-09-12T08:07:08.215Z","avatar_url":"https://github.com/marianfoo.png","language":"TypeScript","funding_links":[],"categories":["Developer Tools"],"sub_categories":["How to Submit"],"readme":"# SAP Documentation MCP Server\n\nA fast, lightweight MCP server that provides unified access to official SAP documentation (SAPUI5, CAP, OpenUI5 APIs \u0026 samples, wdi5) using efficient BM25 full-text search.\nUse it remotely (hosted URL) or run it locally and point your client to STDIO.\n\n**Public server STDIO**: https://mcp-sap-docs.marianzeis.de/sse  \n**Public server Streamable HTTP**: https://mcp-sap-docs.marianzeis.de/mcp\n**Streamable HTTP (default: 3122, configurable via MCP_PORT)**: http://127.0.0.1:3122/mcp  \n**Local HTTP status**: http://127.0.0.1:3001/status  \n**Proxy status (SSE gateway)**: http://127.0.0.1:18080/status  \n\n---\n\n## Quick start\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eUse the hosted server (recommended)\u003c/b\u003e\u003c/summary\u003e\n\nPoint your MCP client to the SSE URL:\n\n```\nhttps://mcp-sap-docs.marianzeis.de/sse\n```\n\nor the Streamable HTTP URL:\n\n```\nhttps://mcp-sap-docs.marianzeis.de/mcp\n```\n\nVerify from a shell:\n\n```bash\n# Should return JSON with api_last_activity\ncurl -sS https://mcp-sap-docs.marianzeis.de/status | jq .\n\n# Should return an SSE line like: \"event: endpoint\" with a /messages path\ncurl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRun it locally (STDIO + local HTTP status + Streamable HTTP)\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# From repo root\nnpm ci\n./setup.sh # execute this script to clone the github documentation submodules\nnpm run build\n\n# Start the MCP server (STDIO)\nnode dist/src/server.js\n\n# OR start the Streamable HTTP server\nnpm run start:streamable\n```\n\n**Local health checks**\n\n```bash\n# MCP proxy (SSE gateway)\ncurl -sS http://127.0.0.1:18080/status | jq .\n\n# HTTP server\ncurl -sS http://127.0.0.1:3001/status | jq .\n\n# Streamable HTTP server (local \u0026 deployment default)\ncurl -sS http://127.0.0.1:3122/health | jq .\n```\n\n\u003c/details\u003e\n\n---\n\n## What you get\n\n### 🔍 **Unified Documentation Search**\n- **sap_docs_search** – Search across all official SAP documentation sources with intelligent filtering\n- **sap_docs_get** – Retrieve complete documents/snippets with smart formatting\n\n### 🌐 **Community \u0026 Help Portal**  \n- **sap_community_search** – Real-time SAP Community posts with full content of top 3 results\n- **sap_help_search** – Comprehensive search across SAP Help Portal documentation  \n- **sap_help_get** – Retrieve complete SAP Help pages with metadata\n\n---\n\n## Connect from your MCP client\n\n✅ **Remote URL**: use the public SSE endpoint or Streamable HTTP endpoint\n✅ **Local/STDIO**: run `node dist/src/server.js` and point the client to a command + args  \n✅ **Local/Streamable HTTP**: run `npm run start:streamable` and point the client to `http://127.0.0.1:3122/mcp`\n\nBelow are copy-paste setups for popular clients. Each block has remote, local, and streamable HTTP options.\n\n---\n\n## Claude (Desktop / Web \"Connectors\")\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRemote (recommended) — add a custom connector\u003c/b\u003e\u003c/summary\u003e\n\n1. Open Claude Settings → Connectors → Add custom connector\n2. Paste the URL:\n\n```\nhttps://mcp-sap-docs.marianzeis.de/sse\n```\n\n3. Save; Claude will perform the SSE handshake and obtain the /messages endpoint automatically.\n\n(Claude documents the Remote MCP flow for SSE connectors [here](https://modelcontextprotocol.info/docs/clients/).)\n\n**Docs**: Model Context Protocol [\"Connect to Remote MCP Servers\"](https://modelcontextprotocol.info/docs/clients/) (shows how Claude connects to SSE).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal (STDIO) — add a local MCP server\u003c/b\u003e\u003c/summary\u003e\n\nPoint Claude to the command and args:\n\n```\ncommand: node\nargs: [\"\u003cabsolute-path-to-your-repo\u003e/dist/src/server.js\"]\n```\n\nClaude's [user quickstart](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server) shows how to add local servers by specifying a command/args pair.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal (Streamable HTTP) — latest MCP protocol\u003c/b\u003e\u003c/summary\u003e\n\nFor the latest MCP protocol (2025-03-26) with Streamable HTTP support:\n\n1. Start the streamable HTTP server:\n```bash\nnpm run start:streamable\n```\n\n2. Add a custom connector with the URL:\n```\nhttp://127.0.0.1:3122/mcp\n```\n\nThis provides better performance and supports the latest MCP features including session management and resumability.\n\n\u003c/details\u003e\n\n---\n\n## Cursor\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRemote (SSE URL)\u003c/b\u003e\u003c/summary\u003e\n\nCreate or edit `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"sap-docs-remote\": {\n      \"url\": \"https://mcp-sap-docs.marianzeis.de/sse\"\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal (STDIO)\u003c/b\u003e\u003c/summary\u003e\n\n`~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"sap-docs\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/dist/src/server.js\"]\n    }\n  }\n}\n```\n\n\n\u003c/details\u003e\n\n---\n\n## Eclipse (GitHub Copilot)\n\nEclipse users can integrate the SAP Docs MCP server with GitHub Copilot for seamless access to SAP development documentation.\n\n\u003e ⚠️ **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](https://github.com/orgs/community/discussions/171406) for details.\n\u003e \n\u003e **Workaround**: Make sure your Copilot Version in Eclipse is up to date to make it work!\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRemote (recommended) — hosted server\u003c/b\u003e\u003c/summary\u003e\n\n### Prerequisites\n- **Eclipse Version**: 2024-09 or higher\n- **GitHub Copilot Extension**: Latest version from Eclipse Marketplace\n- **GitHub Account**: With Copilot access\n- **Note**: Full ABAP ADT integration is not yet supported\n\n### Configuration Steps\n\n1. **Install GitHub Copilot Extension**\n   - Download from [Eclipse Marketplace](https://marketplace.eclipse.org/content/github-copilot)\n   - Follow the installation instructions\n\n2. **Open MCP Configuration**\n   - Click the Copilot icon (🤖) in the Eclipse status bar  \n   - Select \"Edit preferences\" from the menu\n   - Expand \"Copilot Chat\" in the left panel\n   - Click on \"MCP\"\n\n3. **Add SAP Docs MCP Server**\n   ```json\n   {\n     \"name\": \"SAP Docs MCP\",\n     \"description\": \"Comprehensive SAP development documentation with ABAP keyword documentation\",\n     \"url\": \"https://mcp-sap-docs.marianzeis.de/sse\"\n   }\n   ```\n\n4. **Verify Configuration**\n   - The server should appear in your MCP servers list\n   - Status should show as \"Connected\" when active\n\n### Using SAP Docs in Eclipse\n\nOnce configured, you can use Copilot Chat in Eclipse with enhanced SAP documentation:\n\n**Example queries:**\n```\nHow do I implement a Wizard control in UI5?\nWhat is the syntax for inline declarations in ABAP 7.58?\nShow me best practices for RAP development\nFind wdi5 testing examples for OData services\n```\n\n**Available Tools:**\n- `sap_docs_search` - **Unified search** for all SAP development (UI5, CAP, ABAP, testing) with intelligent ABAP version filtering\n- `sap_community_search` - SAP Community integration  \n- `sap_help_search` - SAP Help Portal access\n- `sap_docs_get` - Retrieve complete documentation for any source\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal setup — for offline use\u003c/b\u003e\u003c/summary\u003e\n\n### Local MCP Server Configuration\n\n```json\n{\n  \"name\": \"SAP Docs MCP (Local)\",\n  \"description\": \"Local SAP documentation server\",\n  \"command\": \"npm\", \n  \"args\": [\"start\"],\n  \"cwd\": \"/absolute/path/to/your/sap-docs-mcp\",\n  \"env\": {\n    \"NODE_ENV\": \"production\"\n  }\n}\n```\n\n**Prerequisites for local setup:**\n1. Clone and build this repository locally\n2. Run `npm run setup` to initialize all documentation sources\n3. Ensure the server starts correctly with `npm start`\n\n\u003c/details\u003e\n\n---\n\n## VS Code (GitHub Copilot Chat)\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRemote (recommended) — no setup required\u003c/b\u003e\u003c/summary\u003e\n\n**Prerequisites**: VS Code 1.102+ with MCP support enabled (enabled by default).\n\n### Quick Setup\nCreate `.vscode/mcp.json` in your workspace:\n\n```json\n{\n  \"servers\": {\n    \"sap-docs\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp-sap-docs.marianzeis.de/mcp\"\n    }\n  }\n}\n```\n\n**Alternative (SSE)**: Use `\"type\": \"sse\"` with `\"url\": \"https://mcp-sap-docs.marianzeis.de/sse\"` if HTTP doesn't work.\n\n### Using the Remote Server\n1. Save the `.vscode/mcp.json` file in your workspace\n2. VS Code will automatically detect and start the MCP server\n3. Open Chat view and select **Agent mode**\n4. Click **Tools** button to see available SAP documentation tools\n5. Ask questions like \"How do I implement authentication in SAPUI5?\"\n\n**Benefits**: \n- ✅ No local installation required\n- ✅ Always up-to-date documentation  \n- ✅ Automatic updates and maintenance\n- ✅ Works across all your projects\n\n**Note**: You'll be prompted to trust the remote MCP server when connecting for the first time.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal setup — for offline use\u003c/b\u003e\u003c/summary\u003e\n\n### Local STDIO Server\n```json\n{\n  \"servers\": {\n    \"sap-docs-local\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"\u003cabsolute-path\u003e/dist/src/server.js\"]\n    }\n  }\n}\n```\n\n### Local HTTP Server\n```json\n{\n  \"servers\": {\n    \"sap-docs-http\": {\n      \"type\": \"http\", \n      \"url\": \"http://127.0.0.1:3122/mcp\"\n    }\n  }\n}\n```\n(Start local server with `npm run start:streamable` first)\n\n### Alternative Setup Methods\n- **Command Palette**: Run `MCP: Add Server` → choose server type → provide details → select scope\n- **User Configuration**: Run `MCP: Open User Configuration` for global setup across all workspaces\n\nSee Microsoft's [\"Use MCP servers in VS Code\"](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for complete documentation.\n\n\u003c/details\u003e\n\n\n---\n\n## Raycast\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRemote (SSE URL)\u003c/b\u003e\u003c/summary\u003e\n\nOpen Raycast → Open Command \"Manage Servers (MCP) → Import following JSON\n\n```json\n{\n  \"mcpServers\": {\n    \"sap-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote@latest\", \"https://mcp-sap-docs.marianzeis.de/sse\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal (STDIO)\u003c/b\u003e\u003c/summary\u003e\n\nOpen Raycast → Open Command \"Manage Servers (MCP) → Import following JSON\n\n```json\n{\n  \"mcpServers\": {\n    \"sap-docs\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/dist/src/server.js\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\nRaycast by default asks to confirm each usage of an MCP tool. You can enable automatic confirmation:\n\nOpen Raycast → Raycast Settings → AI → Model Context Protocol → Check \"Automatically confirm all tool calls\"\n\n---\n\n## Features\n\n### 🔍 Advanced Search Capabilities\n- **Unified search** across all official SAP documentation with intelligent ABAP version filtering\n- **BM25 full-text search** with SQLite FTS5 for fast, relevant results (~15ms average query time)\n- **Context-aware scoring** with automatic stopword filtering and phrase detection\n- **Version-specific filtering** - shows latest ABAP by default, specific versions only when requested\n\n### 🌐 Real-time External Integration\n- **SAP Community**: Full content retrieval using \"Best Match\" algorithm with engagement metrics\n- **SAP Help Portal**: Direct API access to all SAP product documentation (S/4HANA, BTP, Analytics Cloud)\n- **Efficient processing**: Batch content retrieval and intelligent caching for fast response times\n\n### 💡 Smart Features\n- **Automatic content enhancement**: Code highlighting and sample categorization\n- **Intelligent ranking**: Context-aware scoring with source-specific weighting\n- **Performance optimized**: Lightweight SQLite FTS5 with no external ML dependencies\n\n---\n\n## What's Included\n\nThis 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.\n\n### 📊 Documentation Coverage Overview\n\n| Source Category | Sources | File Count | Description |\n|-----------------|---------|------------|-------------|\n| **ABAP Development** | 4 sources | 40,800+ files | Official ABAP keyword docs (8 versions), cheat sheets, Fiori showcase, community guidelines |\n| **UI5 Development** | 6 sources | 12,000+ files | SAPUI5 docs, OpenUI5 APIs/samples, TypeScript, tooling, web components, custom controls |\n| **CAP Development** | 2 sources | 250+ files | Cloud Application Programming model docs and Fiori Elements showcase |\n| **Cloud \u0026 Deployment** | 3 sources | 500+ files | SAP Cloud SDK (JS/Java), Cloud SDK for AI, Cloud MTA Build Tool |\n| **Testing \u0026 Quality** | 2 sources | 260+ files | wdi5 E2E testing framework, SAP style guides |\n\n### 🔍 ABAP Development Sources\n- **Official ABAP Keyword Documentation** (`/abap-docs`) - **40,761+ curated ABAP files** across 8 versions (7.52-7.58 + latest) with intelligent version filtering  \n  📁 **GitHub**: [marianfoo/abap-docs](https://github.com/marianfoo/abap-docs)\n- **ABAP Cheat Sheets** (`/abap-cheat-sheets`) - 32 comprehensive cheat sheets covering core ABAP concepts, SQL, OOP, RAP, and more  \n  📁 **GitHub**: [SAP-samples/abap-cheat-sheets](https://github.com/SAP-samples/abap-cheat-sheets)\n- **ABAP RAP Fiori Elements Showcase** (`/abap-fiori-showcase`) - Complete annotation reference for ABAP RESTful Application Programming (RAP)  \n  📁 **GitHub**: [SAP-samples/abap-platform-fiori-feature-showcase](https://github.com/SAP-samples/abap-platform-fiori-feature-showcase)\n- **DSAG ABAP Guidelines** (`/dsag-abap-leitfaden`) - German ABAP community best practices and development standards  \n  📁 **GitHub**: [1DSAG/ABAP-Leitfaden](https://github.com/1DSAG/ABAP-Leitfaden)\n\n### 🎨 UI5 Development Sources\n- **SAPUI5 Documentation** (`/sapui5-docs`) - **1,485+ files** - Complete official developer guide, controls, and best practices  \n  📁 **GitHub**: [SAP-docs/sapui5](https://github.com/SAP-docs/sapui5)\n- **OpenUI5 Framework** (`/openui5`) - **20,000+ files** - Complete OpenUI5 source including 500+ control APIs with detailed JSDoc and 2,000+ working examples from demokit samples  \n  📁 **GitHub**: [SAP/openui5](https://github.com/SAP/openui5)\n- **UI5 TypeScript Integration** (`/ui5-typescript`) - Official TypeScript setup guides, type definitions, and migration documentation  \n  📁 **GitHub**: [UI5/typescript](https://github.com/UI5/typescript)\n- **UI5 Tooling** (`/ui5-tooling`) - Complete UI5 Tooling documentation for project setup, build, and development workflows  \n  📁 **GitHub**: [SAP/ui5-tooling](https://github.com/SAP/ui5-tooling)\n- **UI5 Web Components** (`/ui5-webcomponents`) - **4,500+ files** - Comprehensive web components documentation, APIs, and implementation examples  \n  📁 **GitHub**: [SAP/ui5-webcomponents](https://github.com/SAP/ui5-webcomponents)\n- **UI5 Custom Controls** (`/ui5-cc-spreadsheetimporter`) - Spreadsheet importer and other community custom control documentation  \n  📁 **GitHub**: [spreadsheetimporter/ui5-cc-spreadsheetimporter](https://github.com/spreadsheetimporter/ui5-cc-spreadsheetimporter)\n\n### ☁️ CAP Development Sources  \n- **CAP Documentation** (`/cap-docs`) - **195+ files** - Complete Cloud Application Programming model documentation for Node.js and Java  \n  📁 **GitHub**: [cap-js/docs](https://github.com/cap-js/docs)\n- **CAP Fiori Elements Showcase** (`/cap-fiori-showcase`) - Comprehensive annotation reference and examples for CAP-based Fiori Elements applications  \n  📁 **GitHub**: [SAP-samples/fiori-elements-feature-showcase](https://github.com/SAP-samples/fiori-elements-feature-showcase)\n\n### 🚀 Cloud \u0026 Deployment Sources\n- **SAP Cloud SDK for JavaScript** (`/cloud-sdk`) - Complete SDK documentation, tutorials, and API references for JavaScript/TypeScript  \n  📁 **GitHub**: [SAP/cloud-sdk](https://github.com/SAP/cloud-sdk)\n- **SAP Cloud SDK for Java** (`/cloud-sdk`) - Comprehensive Java SDK documentation and integration guides  \n  📁 **GitHub**: [SAP/cloud-sdk](https://github.com/SAP/cloud-sdk)\n- **SAP Cloud SDK for AI** (`/cloud-sdk-ai`) - Latest AI capabilities integration documentation for both JavaScript and Java  \n  📁 **GitHub**: [SAP/ai-sdk](https://github.com/SAP/ai-sdk)\n- **Cloud MTA Build Tool** (`/cloud-mta-build-tool`) - Complete documentation for Multi-Target Application development and deployment  \n  📁 **GitHub**: [SAP/cloud-mta-build-tool](https://github.com/SAP/cloud-mta-build-tool)\n\n### ✅ Testing \u0026 Quality Sources\n- **wdi5 Testing Framework** (`/wdi5`) - **225+ files** - End-to-end testing documentation, setup guides, and real-world examples  \n  📁 **GitHub**: [ui5-community/wdi5](https://github.com/ui5-community/wdi5)\n- **SAP Style Guides** (`/sap-styleguides`) - Official SAP coding standards, clean code practices, and development guidelines  \n  📁 **GitHub**: [SAP/styleguides](https://github.com/SAP/styleguides)\n\n---\n\n## Example Prompts\n\nTry these with any connected MCP client to explore the comprehensive documentation:\n\n### 🔍 ABAP Development Queries\n**ABAP Keyword Documentation (8 versions with intelligent filtering):**\n- \"What is the syntax for inline declarations in ABAP 7.58?\"\n- \"How do I use SELECT statements with internal tables in ABAP 7.57?\"\n- \"Show me exception handling with TRY-CATCH in modern ABAP\"\n- \"What are constructor expressions for VALUE and CORRESPONDING?\"\n- \"How do I implement ABAP Unit tests with test doubles?\"\n\n**ABAP Best Practices \u0026 Guidelines:**\n- \"What is Clean ABAP and how do I follow the style guide?\"\n- \"Show me ABAP cheat sheet for internal tables operations\"\n- \"Find DSAG ABAP guidelines for object-oriented programming\"\n- \"How to implement RAP with EML in ABAP for Cloud?\"\n\n### 🎨 UI5 Development Queries  \n**SAPUI5 \u0026 OpenUI5:**\n- \"How do I implement authentication in SAPUI5?\"\n- \"Find OpenUI5 button control examples with click handlers\"\n- \"Show me fragment reuse patterns in UI5\"\n- \"What are UI5 model binding best practices?\"\n\n**Modern UI5 Development:**\n- \"Show me TypeScript setup for UI5 development\"\n- \"How do I configure UI5 Tooling for a new project?\" \n- \"Find UI5 Web Components integration examples\"\n- \"How to implement custom controls with UI5 Web Components?\"\n\n### ☁️ CAP \u0026 Cloud Development\n**CAP Framework:**\n- \"How do I implement CDS views with calculated fields in CAP?\"\n- \"Show me CAP authentication and authorization patterns\"\n- \"Find CAP Node.js service implementation examples\"\n- \"How to handle temporal data in CAP applications?\"\n\n**Cloud SDK \u0026 Deployment:**\n- \"How do I use SAP Cloud SDK for JavaScript with OData?\"\n- \"Show me Cloud SDK for AI integration examples\"\n- \"Find Cloud MTA Build Tool configuration for multi-target apps\"\n- \"How to deploy CAP applications to SAP BTP?\"\n\n### ✅ Testing \u0026 Quality\n**Testing Frameworks:**\n- \"Show me wdi5 testing examples for forms and tables\"\n- \"How do I set up wdi5 for OData service testing?\"\n- \"Find end-to-end testing patterns for Fiori Elements apps\"\n\n**Code Quality:**\n- \"What are SAP style guide recommendations for JavaScript?\"\n- \"Show me clean code practices for ABAP development\"\n\n### 🌐 Community \u0026 Help Portal\n**Community Knowledge (with full content):**\n- \"Find community examples of OData batch operations with complete implementation\"\n- \"Search for RAP development tips and tricks from the community\"\n- \"What are the latest CAP authentication best practices from the community?\"\n\n**SAP Help Portal:**\n- \"How to configure S/4HANA Fiori Launchpad?\"\n- \"Find BTP integration documentation for Analytics Cloud\"\n- \"Search for ABAP development best practices in S/4HANA\"\n\n---\n\n## Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eClaude says it can't connect\u003c/b\u003e\u003c/summary\u003e\n\n- Make sure the URL is the SSE URL:\n`https://mcp-sap-docs.marianzeis.de/sse` (not /messages, not /status).\n- Test SSE from your machine:\n\n```bash\ncurl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head\n```\n\nYou should see `event: endpoint` and a `/messages?...` path. (This is the expected SSE handshake for remote MCP servers.)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eVS Code wizard can't detect the server\u003c/b\u003e\u003c/summary\u003e\n\n- Try adding it as URL first. If your network blocks SSE, use your local server via command:\n```\nnode \u003cabsolute-path\u003e/dist/src/server.js\n```\n\n- Microsoft's [\"Add an MCP server\"](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) guide shows both URL and command flows.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLocal server runs, but the client can't find it\u003c/b\u003e\u003c/summary\u003e\n\n- Ensure you're pointing to the built entry:\n```\nnode dist/src/server.js\n```\n\n- If using PM2/systemd, confirm it's alive:\n```bash\npm2 status mcp-sap-http\npm2 status mcp-sap-proxy\ncurl -fsS http://127.0.0.1:3001/status | jq .\ncurl -fsS http://127.0.0.1:18080/status | jq .\n```\n\n\u003c/details\u003e\n\n---\n\n## Development\n\n### Build Commands\n```bash\nnpm run build:tsc       # Compile TypeScript\nnpm run build:index     # Build search index from sources\nnpm run build:fts       # Build FTS5 database  \nnpm run build           # Complete build pipeline (tsc + index + fts)\nnpm run setup           # Complete setup (submodules + build)\n```\n\n### Server Commands\n```bash\nnpm start                    # Start STDIO MCP server\nnpm run start:http           # Start HTTP status server (port 3001)\nnpm run start:streamable     # Start Streamable HTTP MCP server (port 3122)\n```\n\n### Local Setup  \n```bash\ngit clone https://github.com/marianfoo/mcp-sap-docs.git\ncd mcp-sap-docs\nnpm ci               # Install dependencies\nnpm run setup        # Enhanced setup (optimized submodules + complete build)\n```\n\nThe build process creates optimized search indices for fast offline access while maintaining real-time connectivity to the SAP Community API.\n\n---\n\n## Health \u0026 Status Monitoring\n\n### Public Endpoints\n```bash\n# Check server status\ncurl -sS https://mcp-sap-docs.marianzeis.de/status | jq .\n\n# Test SSE connection\ncurl -i -H 'Accept: text/event-stream' https://mcp-sap-docs.marianzeis.de/sse | head\n```\n\n### Local Endpoints\n```bash\n# HTTP server status\ncurl -sS http://127.0.0.1:3001/status | jq .\n\n# SSE proxy status  \ncurl -sS http://127.0.0.1:18080/status | jq .\n```\n\n---\n\n## Deployment\n\n### Automated Workflows\nThis project includes dual automated workflows:\n\n1. **Main Deployment** (on push to `main` or manual trigger)\n   - SSH into server and pull latest code\n   - Run enhanced setup with optimized submodule handling\n   - Restart all PM2 processes (proxy, http, streamable) with health checks\n\n2. **Daily Documentation Updates** (4 AM UTC)\n   - Update all documentation submodules to latest versions\n   - Rebuild search indices with fresh content using enhanced setup\n   - Restart services automatically\n\n### Manual Updates\nTrigger documentation updates anytime via GitHub Actions → \"Update Documentation Submodules\" workflow.\n\n---\n\n## Architecture\n\n- **MCP Server** (Node.js/TypeScript) - Exposes Resources/Tools for SAP docs, community \u0026 help portal\n- **Streamable HTTP Transport** (Latest MCP spec) - HTTP-based transport with session management and resumability\n- **SSE Proxy** (Python) - Bridges STDIO → URL for remote clients  \n- **BM25 Search Engine** - SQLite FTS5 with optimized OR-logic queries for fast, relevant results\n- **Optimized Submodules** - Shallow, single-branch clones with blob filtering for minimal bandwidth\n\n### Technical Stack\n- **Search Engine**: BM25 with SQLite FTS5 for fast full-text search with OR logic\n- **Performance**: ~15ms average query time with optimized indexing\n- **Transport**: Latest MCP protocol with HTTP/SSE support and session management\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarianfoo%2Fmcp-sap-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarianfoo%2Fmcp-sap-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarianfoo%2Fmcp-sap-docs/lists"}