Skip to main content
Glama
MCP SAP GUI Server

MCP SAP GUI Server

by kts982

Sap Connect

sap_connect

Connect to an SAP system by its SAP Logon Pad name, resolving credentials from a .env file so passwords stay out of MCP tool calls.

Instructions

Connect to an SAP system by its name in SAP Logon Pad.

Credentials are resolved from a .env file (SAP_USER, SAP_PASSWORD, SAP_CLIENT, SAP_LANGUAGE) so passwords never appear in MCP tool calls. Parameters provided here override the .env values (except password). If SAP is already open and logged in, use sap_connect_existing instead.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "system_description": "<system_description>"
    },
    "name": "sap_connect"
  }
}

Input Schema

NameRequiredDescriptionDefault
userNo
clientNo
languageNo
system_descriptionYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the credential resolution model (.env keys), the security rationale (passwords never appear in tool calls), and the override precedence with its exception for password. It does not state what happens on failed authentication or whether a new session/GUI instance is launched, which is the main remaining behavioral gap; output schema covers the return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and the credential model, then routing. Minor line-break fragmentation in the first sentence but no filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a connect tool with an output schema and safety annotations already declared, the description covers credentials, override precedence, and sibling routing, which is what an agent needs to invoke it. Missing only failure-mode and session-lifecycle detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate — and it largely does, mapping user/client/language to their .env counterparts and explaining that passed values override env defaults except password. It leaves the expected format of system_description (exact Logon Pad entry string) and of client/language codes implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — connecting to an SAP system identified by its Logon Pad entry name — and explicitly contrasts itself with the sibling sap_connect_existing. An agent can distinguish it from other connection tools without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not condition with the alternative named: 'If SAP is already open and logged in, use sap_connect_existing instead.' It also sets the precondition that a system name from SAP Logon Pad is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.