Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEADFUL | No | Browser visibility (for debugging) | false |
| PFX_PATH | Yes | Path to SAP Passport certificate (.pfx) | ./certs/sap.pfx |
| LOG_LEVEL | No | Logging level (debug, info, warn, error) | info |
| MAX_JWT_AGE_H | No | Token cache lifetime (hours) | 12 |
| PFX_PASSPHRASE | Yes | Certificate passphrase |
Schema
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sap_note_search | Search SAP Knowledge Base (SAP Notes) for troubleshooting articles, bug fixes, patches, corrections, and known issues. Returns a ranked list of matching notes with metadata. SAP Notes are official support articles that document: • Known bugs and their fixes • Patches and corrections for SAP software • Troubleshooting guides for specific errors • Performance optimization tips • Security vulnerabilities and patches • Missing or incorrect functionality ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ USE WHEN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • User mentions "error", "issue", "bug", "problem", "not working" • User asks about "fixes", "patches", "corrections" • User reports unexpected behavior or incorrect functionality • User mentions specific error codes (e.g., "error 415", "dump ABAP_EXCEPTION") • User asks "why isn't this working?" or "how to fix?" • User references a specific Note ID (e.g., "Note 2744792") ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DO NOT USE WHEN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • User asks "how to configure" or "how to set up" → use sap_help_search instead • User wants implementation guides or best practices → use sap_help_search instead • User asks about product features or capabilities → use sap_help_search instead • User wants training materials or tutorials → use sap_community_search instead • User asks general "what is" questions → use sap_help_search instead ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ QUERY CONSTRUCTION: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Effective queries should:
Query Formula: [Error Code/Transaction] + [Module/Component] + [Issue Type] Examples: ✓ GOOD: • "error 415 CAP action" (specific error + context) • "MM02 material master dump" (transaction + module + issue) • "ABAP CX_SY_ZERODIVIDE" (specific exception class) • "S/4HANA migration performance" (product + issue) • "Note 2744792" (direct note ID lookup) ✗ BAD: • "how to configure SAP" (too vague, use sap_help_search) • "mm22" (transaction only, no issue context) • "I have a problem" (no specifics) • "SAP not working" (too generic) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ WORKFLOW PATTERN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Example Chain: sap_note_search(q="OData gateway error") → Returns: [{id: "2744792", title: "OData Gateway 415 Error"}, ...] → Then call: sap_note_get(id="2744792") → Returns: Full note content with solution ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ IMPORTANT NOTES: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • SAP Notes require S-user credentials to access full content • Note IDs are typically alphanumeric (e.g., "2744792", "438342", "123ABC") • Results are ranked by relevance (best matches first) • Empty results suggest trying sap_help_search instead • Language parameter defaults to English (EN) |
| sap_note_get | Fetch complete content and metadata for a specific SAP Note by ID. Returns full HTML content, solution details, and all metadata. SAP Notes contain: • Detailed problem description • Step-by-step solution instructions • Root cause analysis • Affected releases/versions • Related notes and references • Corrections and patches • Implementation guides ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ USE WHEN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • You have a Note ID from sap_note_search results • User asks for details about a specific note (e.g., "get details for note 2744792") • You need full solution steps, not just the summary • User wants to see the complete note content • You're following the search → get workflow pattern ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DO NOT USE WHEN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • You don't have a specific Note ID (use sap_note_search first) • User hasn't asked for detailed note content (summaries may suffice) • Note ID is invalid (contains spaces or special characters) • You're just browsing/searching (use sap_note_search instead) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PARAMETER REQUIREMENTS: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Note ID Format: • Typically alphanumeric characters only • No spaces, no prefixes • Valid examples: "2744792", "438342", "3089413", "123ABC" • Invalid examples: "Note 2744792", "SAP Note 2744792", "" If user input includes text, extract the ID only: "Note 2744792" → "2744792" "SAP Note 438342" → "438342" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ WORKFLOW PATTERN: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Typical usage flow:
Do NOT fetch all notes - only get details for the most relevant 2-3. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ERROR HANDLING: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Common errors and solutions: • "Note ID must contain only alphanumeric characters" → Validate ID format before calling → Extract alphanumeric ID only from user input • "Note not found" → Note ID doesn't exist or is invalid → Try searching again with different terms • "Access denied" → Some notes require special S-user permissions → Inform user to access directly on SAP Support Portal ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BEST PRACTICES: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|