Skip to main content
Glama

SAP Documentation MCP Server

by marianfoo
ABAP-USAGE-GUIDE.md8.27 kB
# ABAP Documentation Usage Guide ## 🎯 **Overview** ABAP documentation is now fully integrated into the standard MCP search system with **intelligent version filtering** for clean, focused results. ## 🔍 **How to Search ABAP Documentation** ### **Standard Interface - No Special Tools** Use **`sap_docs_search`** for all ABAP queries - same as UI5, CAP, wdi5! ### **✅ General ABAP Queries (Latest + Context)** #### **Query Patterns:** ```javascript sap_docs_search: "inline declarations" sap_docs_search: "SELECT statements" sap_docs_search: "exception handling" sap_docs_search: "class definition" sap_docs_search: "internal table operations" ``` #### **What You Get:** - **Latest ABAP documentation** - Most current syntax and features - **Clean ABAP style guides** - Best practices and guidelines - **ABAP cheat sheets** - Practical examples and working code - **4-5 focused results** - No version clutter or duplicates #### **Example Result:** ``` Found 4 results for 'inline declarations': ⭐️ SAP Style Guides - Best practices (Score: 22.75) Prefer inline to up-front declarations 🔗 Clean ABAP guidelines ⭐️ ABAP Cheat Sheets - Examples (Score: 19.80) Inline Declaration, CAST Operator, Method Chaining 🔗 Practical code examples ⭐️ Latest ABAP Docs - Programming guide (Score: 18.59) Background The declaration operators - [DATA(var)] for variables ⭐️ Latest ABAP Docs - Language reference (Score: 17.72) An inline declaration is performed using a declaration operator... ``` ### **✅ Version-Specific Queries (Targeted)** #### **Query Patterns:** ```javascript sap_docs_search: "LOOP 7.57" // → ABAP 7.57 only sap_docs_search: "SELECT statements 7.58" // → ABAP 7.58 only sap_docs_search: "exception handling latest" // → Latest ABAP only sap_docs_search: "class definition 7.53" // → ABAP 7.53 only ``` #### **What You Get:** - **Requested ABAP version only** - No other versions shown - **Dramatically boosted scores** - Requested version gets priority - **Related sources included** - Style guides and cheat sheets for context - **Clean, targeted results** - 5-8 results, all relevant #### **Example Result:** ``` Found 5 results for 'LOOP 7.57': ⭐️ /abap-docs-757/abenloop_glosry (Score: 14.35) - Boosted 7.57 docs Loops - This section describes the loops defined using DO-ENDDO, WHILE-ENDWHILE ⭐️ /abap-docs-757/abenabap_loops (Score: 14.08) - Boosted 7.57 docs ABAP Loops - Loop processing and control structures ⭐️ /abap-docs-757/abapexit_loop (Score: 13.53) - Boosted 7.57 docs EXIT, loop - Exits a loop completely with EXIT statement ⭐️ Style guides and cheat sheets for additional context ``` --- ## **📖 Document Retrieval** ### **Standard Document Access** ```javascript // Use IDs from search results sap_docs_get: "/abap-docs-latest/abeninline_declarations" sap_docs_get: "/abap-docs-758/abenselect" sap_docs_get: "/abap-docs-757/abenloop_glosry" ``` ### **What You Get:** - **Complete documentation** with full content and examples - **Official attribution** - Direct links to help.sap.com - **Rich formatting** - Optimized for LLM consumption - **Source context** - Version, category, and related concepts --- ## **🎯 Supported ABAP Versions** | Version | Library ID | Default Boost | When Shown | |---------|------------|---------------|------------| | **Latest** | `/abap-docs-latest` | 1.0 | Always (default) | | **7.58** | `/abap-docs-758` | 0.05 | When "7.58" in query | | **7.57** | `/abap-docs-757` | 0.02 | When "7.57" in query | | **7.56** | `/abap-docs-756` | 0.01 | When "7.56" in query | | **7.55** | `/abap-docs-755` | 0.01 | When "7.55" in query | | **7.54** | `/abap-docs-754` | 0.01 | When "7.54" in query | | **7.53** | `/abap-docs-753` | 0.01 | When "7.53" in query | | **7.52** | `/abap-docs-752` | 0.01 | When "7.52" in query | ### **Context Boosting** When versions are mentioned in queries, they get **2.0x boost** for perfect targeting. --- ## **💡 Query Examples** ### **ABAP Language Concepts** ```javascript // General queries (latest ABAP + context) "How do I use inline declarations?" → Latest ABAP + style guides + examples "What are different LOOP statement types?" → Latest ABAP + best practices "Explain exception handling in ABAP" → Latest ABAP + clean code guidelines "ABAP object-oriented programming" → Latest ABAP + OOP examples // Expected: 4-5 clean, focused results ``` ### **Version-Specific Development** ```javascript // Version-targeted queries (specific version only) "LOOP variations in 7.57" → ABAP 7.57 + related sources only "SELECT features in 7.58" → ABAP 7.58 + related sources only "What's new in ABAP latest?" → Latest ABAP + feature highlights "Exception handling in 7.53" → ABAP 7.53 + related sources only // Expected: 5-8 targeted results, dramatically boosted scores ``` ### **Cross-Source Discovery** ```javascript // Finds related content across all sources "ABAP class definition best practices" → Official docs + Clean ABAP + examples "SELECT statement performance optimization" → ABAP syntax + performance guides + examples "ABAP clean code guidelines" → Style guides + latest syntax + examples ``` --- ## **📈 Performance & Quality** ### **Search Quality** - **4-5 focused results** instead of 25 crowded duplicates - **Rich content descriptions** with actual explanations - **Cross-source intelligence** - finds related content everywhere - **Perfect relevance** - only show what's actually needed ### **Version Management** - **Latest by default** - always current unless specified otherwise - **Smart targeting** - specific versions only when requested - **Automatic detection** - no need to specify version parameters manually - **Clean results** - no version clutter or noise ### **Content Quality** - **40,761 curated files** - irrelevant content filtered out - **Meaningful frontmatter** - structured metadata for better AI understanding - **Official attribution** - complete source linking to help.sap.com - **LLM-optimized** - perfect file sizes and content structure --- ## **🔄 Migration from Old Tools** ### **Old Approach (Deprecated)** ```javascript // Required specialized tools (now deprecated) abap_search: "inline declarations" abap_get: "abap-7.58-individual-abeninline_declarations" ``` ### **New Approach (Standard)** ```javascript // Uses unified tool like everything else sap_docs_search: "inline declarations" sap_docs_get: "/abap-docs-latest/abeninline_declarations" ``` ### **Benefits of Migration** - ✅ **Simpler interface** - one tool for all SAP development - ✅ **Better results** - intelligent filtering and cross-source discovery - ✅ **Rich content** - meaningful descriptions and context - ✅ **Version flexibility** - automatic management with manual override --- ## **🚀 Production Usage** ### **For LLM Interactions** ``` Human: "How do I handle exceptions in ABAP?" LLM uses: sap_docs_search: "exception handling" Gets: ✅ Latest ABAP exception syntax ✅ Clean ABAP best practices ✅ Practical examples with TRY/CATCH ✅ Cross-references to related concepts ``` ### **For Version-Specific Development** ``` Human: "I'm working with ABAP 7.53, how do LOOP statements work?" LLM uses: sap_docs_search: "LOOP statements 7.53" Gets: ✅ ABAP 7.53 loop documentation only ✅ Version-specific features and limitations ✅ Related style guides and examples ✅ No confusion from other versions ``` --- ## **📋 Summary** **The ABAP integration is now complete and production-ready with:** - ✅ **Unified interface** - same tool for all SAP development - ✅ **Intelligent filtering** - clean, focused results - ✅ **Rich content** - meaningful descriptions and context - ✅ **Version flexibility** - latest by default, specific when needed - ✅ **Cross-source intelligence** - finds related content everywhere - ✅ **Standard architecture** - proven, scalable, maintainable **Result: The cleanest, most intelligent ABAP documentation search experience available for LLMs!** 🎉

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