ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Abap Adt MCP

โดย williansaezรุ่น 2.8.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.williansaez/abap-adt-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

ABAP development from Claude and other MCP hosts: source, transports, tests, ATC, debugger

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: SAP_SYSTEMS, MCP_HTTP_TOKEN, SAP_PASSWORD, SAP_OAUTH_CLIENT_SECRET

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: SAP_SYSTEMS_FILE, SAP_SYSTEMS, SAP_DEFAULT_DESTINATION, SAP_AUTH_TYPE, MCP_HTTP_PORT, MCP_HTTP_HOST, MCP_HTTP_TOKEN, MCP_HTTP_MAX_SESSIONS, MCP_HTTP_MAX_BODY_BYTES, MCP_HTTP_SESSION_TTL_MINUTES, MCP_HTTP_ALLOWED_ORIGINS, MCP_HTTP_ALLOWED_HOSTS, MCP_EXPORT_ROOT, MCP_AUDIT_FILE, MCP_ADT_TRACE_FILE, MCP_READ_ONLY, MCP_ALLOW_DATA_PREVIEW, MCP_ALLOW_FREE_SQL, MCP_TOOLSETS, MCP_DISABLED_TOOLSETS, MCP_MAX_RESPONSE_CHARS, SAP_ALLOW_REENTRANCE_TICKET, SAP_URL, SAP_USER, SAP_PASSWORD, SAP_CLIENT, SAP_LANGUAGE, SAP_BROWSER_PATH, SAP_BROWSER_PROFILE_DIR, SAP_SSO2_COMMAND, SAP_SSO2_ARGS, SAP_SSO2_TIMEOUT_MS, SAP_TLS_INSECURE, SAP_OAUTH_TOKEN_URL, SAP_OAUTH_CLIENT_ID, SAP_OAUTH_CLIENT_SECRET, SAP_OAUTH_SCOPE, MCP_PROFILE_GATE, SAP_REQUEST_TIMEOUT_SECONDS, MCP_SOURCE_CACHE_TTL_SECONDS, MCP_CACHE_DIR, MCP_API_CLASSIFICATION_FILES

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "abap-adt": {
      "command": "npx",
      "args": [
        "-y",
        "abap-adt-mcp"
      ],
      "env": {
        "SAP_SYSTEMS_FILE": "ใส่ค่าของคุณ",
        "SAP_SYSTEMS": "ใส่ค่าของคุณ",
        "SAP_DEFAULT_DESTINATION": "ใส่ค่าของคุณ",
        "SAP_AUTH_TYPE": "ใส่ค่าของคุณ",
        "MCP_HTTP_PORT": "ใส่ค่าของคุณ",
        "MCP_HTTP_HOST": "ใส่ค่าของคุณ",
        "MCP_HTTP_TOKEN": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_SESSIONS": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_BODY_BYTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_SESSION_TTL_MINUTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_ORIGINS": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_HOSTS": "ใส่ค่าของคุณ",
        "MCP_EXPORT_ROOT": "ใส่ค่าของคุณ",
        "MCP_AUDIT_FILE": "ใส่ค่าของคุณ",
        "MCP_ADT_TRACE_FILE": "ใส่ค่าของคุณ",
        "MCP_READ_ONLY": "ใส่ค่าของคุณ",
        "MCP_ALLOW_DATA_PREVIEW": "ใส่ค่าของคุณ",
        "MCP_ALLOW_FREE_SQL": "ใส่ค่าของคุณ",
        "MCP_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_DISABLED_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_MAX_RESPONSE_CHARS": "ใส่ค่าของคุณ",
        "SAP_ALLOW_REENTRANCE_TICKET": "ใส่ค่าของคุณ",
        "SAP_URL": "ใส่ค่าของคุณ",
        "SAP_USER": "ใส่ค่าของคุณ",
        "SAP_PASSWORD": "ใส่ค่าของคุณ",
        "SAP_CLIENT": "ใส่ค่าของคุณ",
        "SAP_LANGUAGE": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PATH": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PROFILE_DIR": "ใส่ค่าของคุณ",
        "SAP_SSO2_COMMAND": "ใส่ค่าของคุณ",
        "SAP_SSO2_ARGS": "ใส่ค่าของคุณ",
        "SAP_SSO2_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "SAP_TLS_INSECURE": "ใส่ค่าของคุณ",
        "SAP_OAUTH_TOKEN_URL": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "SAP_OAUTH_SCOPE": "ใส่ค่าของคุณ",
        "MCP_PROFILE_GATE": "ใส่ค่าของคุณ",
        "SAP_REQUEST_TIMEOUT_SECONDS": "ใส่ค่าของคุณ",
        "MCP_SOURCE_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
        "MCP_CACHE_DIR": "ใส่ค่าของคุณ",
        "MCP_API_CLASSIFICATION_FILES": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add abap-adt --env SAP_SYSTEMS_FILE='ใส่ค่าของคุณ' --env SAP_SYSTEMS='ใส่ค่าของคุณ' --env SAP_DEFAULT_DESTINATION='ใส่ค่าของคุณ' --env SAP_AUTH_TYPE='ใส่ค่าของคุณ' --env MCP_HTTP_PORT='ใส่ค่าของคุณ' --env MCP_HTTP_HOST='ใส่ค่าของคุณ' --env MCP_HTTP_TOKEN='ใส่ค่าของคุณ' --env MCP_HTTP_MAX_SESSIONS='ใส่ค่าของคุณ' --env MCP_HTTP_MAX_BODY_BYTES='ใส่ค่าของคุณ' --env MCP_HTTP_SESSION_TTL_MINUTES='ใส่ค่าของคุณ' --env MCP_HTTP_ALLOWED_ORIGINS='ใส่ค่าของคุณ' --env MCP_HTTP_ALLOWED_HOSTS='ใส่ค่าของคุณ' --env MCP_EXPORT_ROOT='ใส่ค่าของคุณ' --env MCP_AUDIT_FILE='ใส่ค่าของคุณ' --env MCP_ADT_TRACE_FILE='ใส่ค่าของคุณ' --env MCP_READ_ONLY='ใส่ค่าของคุณ' --env MCP_ALLOW_DATA_PREVIEW='ใส่ค่าของคุณ' --env MCP_ALLOW_FREE_SQL='ใส่ค่าของคุณ' --env MCP_TOOLSETS='ใส่ค่าของคุณ' --env MCP_DISABLED_TOOLSETS='ใส่ค่าของคุณ' --env MCP_MAX_RESPONSE_CHARS='ใส่ค่าของคุณ' --env SAP_ALLOW_REENTRANCE_TICKET='ใส่ค่าของคุณ' --env SAP_URL='ใส่ค่าของคุณ' --env SAP_USER='ใส่ค่าของคุณ' --env SAP_PASSWORD='ใส่ค่าของคุณ' --env SAP_CLIENT='ใส่ค่าของคุณ' --env SAP_LANGUAGE='ใส่ค่าของคุณ' --env SAP_BROWSER_PATH='ใส่ค่าของคุณ' --env SAP_BROWSER_PROFILE_DIR='ใส่ค่าของคุณ' --env SAP_SSO2_COMMAND='ใส่ค่าของคุณ' --env SAP_SSO2_ARGS='ใส่ค่าของคุณ' --env SAP_SSO2_TIMEOUT_MS='ใส่ค่าของคุณ' --env SAP_TLS_INSECURE='ใส่ค่าของคุณ' --env SAP_OAUTH_TOKEN_URL='ใส่ค่าของคุณ' --env SAP_OAUTH_CLIENT_ID='ใส่ค่าของคุณ' --env SAP_OAUTH_CLIENT_SECRET='ใส่ค่าของคุณ' --env SAP_OAUTH_SCOPE='ใส่ค่าของคุณ' --env MCP_PROFILE_GATE='ใส่ค่าของคุณ' --env SAP_REQUEST_TIMEOUT_SECONDS='ใส่ค่าของคุณ' --env MCP_SOURCE_CACHE_TTL_SECONDS='ใส่ค่าของคุณ' --env MCP_CACHE_DIR='ใส่ค่าของคุณ' --env MCP_API_CLASSIFICATION_FILES='ใส่ค่าของคุณ' -- npx -y abap-adt-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "abap-adt": {
      "command": "npx",
      "args": [
        "-y",
        "abap-adt-mcp"
      ],
      "env": {
        "SAP_SYSTEMS_FILE": "ใส่ค่าของคุณ",
        "SAP_SYSTEMS": "ใส่ค่าของคุณ",
        "SAP_DEFAULT_DESTINATION": "ใส่ค่าของคุณ",
        "SAP_AUTH_TYPE": "ใส่ค่าของคุณ",
        "MCP_HTTP_PORT": "ใส่ค่าของคุณ",
        "MCP_HTTP_HOST": "ใส่ค่าของคุณ",
        "MCP_HTTP_TOKEN": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_SESSIONS": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_BODY_BYTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_SESSION_TTL_MINUTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_ORIGINS": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_HOSTS": "ใส่ค่าของคุณ",
        "MCP_EXPORT_ROOT": "ใส่ค่าของคุณ",
        "MCP_AUDIT_FILE": "ใส่ค่าของคุณ",
        "MCP_ADT_TRACE_FILE": "ใส่ค่าของคุณ",
        "MCP_READ_ONLY": "ใส่ค่าของคุณ",
        "MCP_ALLOW_DATA_PREVIEW": "ใส่ค่าของคุณ",
        "MCP_ALLOW_FREE_SQL": "ใส่ค่าของคุณ",
        "MCP_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_DISABLED_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_MAX_RESPONSE_CHARS": "ใส่ค่าของคุณ",
        "SAP_ALLOW_REENTRANCE_TICKET": "ใส่ค่าของคุณ",
        "SAP_URL": "ใส่ค่าของคุณ",
        "SAP_USER": "ใส่ค่าของคุณ",
        "SAP_PASSWORD": "ใส่ค่าของคุณ",
        "SAP_CLIENT": "ใส่ค่าของคุณ",
        "SAP_LANGUAGE": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PATH": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PROFILE_DIR": "ใส่ค่าของคุณ",
        "SAP_SSO2_COMMAND": "ใส่ค่าของคุณ",
        "SAP_SSO2_ARGS": "ใส่ค่าของคุณ",
        "SAP_SSO2_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "SAP_TLS_INSECURE": "ใส่ค่าของคุณ",
        "SAP_OAUTH_TOKEN_URL": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "SAP_OAUTH_SCOPE": "ใส่ค่าของคุณ",
        "MCP_PROFILE_GATE": "ใส่ค่าของคุณ",
        "SAP_REQUEST_TIMEOUT_SECONDS": "ใส่ค่าของคุณ",
        "MCP_SOURCE_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
        "MCP_CACHE_DIR": "ใส่ค่าของคุณ",
        "MCP_API_CLASSIFICATION_FILES": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "abap-adt": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "abap-adt-mcp"
      ],
      "env": {
        "SAP_SYSTEMS_FILE": "ใส่ค่าของคุณ",
        "SAP_SYSTEMS": "ใส่ค่าของคุณ",
        "SAP_DEFAULT_DESTINATION": "ใส่ค่าของคุณ",
        "SAP_AUTH_TYPE": "ใส่ค่าของคุณ",
        "MCP_HTTP_PORT": "ใส่ค่าของคุณ",
        "MCP_HTTP_HOST": "ใส่ค่าของคุณ",
        "MCP_HTTP_TOKEN": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_SESSIONS": "ใส่ค่าของคุณ",
        "MCP_HTTP_MAX_BODY_BYTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_SESSION_TTL_MINUTES": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_ORIGINS": "ใส่ค่าของคุณ",
        "MCP_HTTP_ALLOWED_HOSTS": "ใส่ค่าของคุณ",
        "MCP_EXPORT_ROOT": "ใส่ค่าของคุณ",
        "MCP_AUDIT_FILE": "ใส่ค่าของคุณ",
        "MCP_ADT_TRACE_FILE": "ใส่ค่าของคุณ",
        "MCP_READ_ONLY": "ใส่ค่าของคุณ",
        "MCP_ALLOW_DATA_PREVIEW": "ใส่ค่าของคุณ",
        "MCP_ALLOW_FREE_SQL": "ใส่ค่าของคุณ",
        "MCP_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_DISABLED_TOOLSETS": "ใส่ค่าของคุณ",
        "MCP_MAX_RESPONSE_CHARS": "ใส่ค่าของคุณ",
        "SAP_ALLOW_REENTRANCE_TICKET": "ใส่ค่าของคุณ",
        "SAP_URL": "ใส่ค่าของคุณ",
        "SAP_USER": "ใส่ค่าของคุณ",
        "SAP_PASSWORD": "ใส่ค่าของคุณ",
        "SAP_CLIENT": "ใส่ค่าของคุณ",
        "SAP_LANGUAGE": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PATH": "ใส่ค่าของคุณ",
        "SAP_BROWSER_PROFILE_DIR": "ใส่ค่าของคุณ",
        "SAP_SSO2_COMMAND": "ใส่ค่าของคุณ",
        "SAP_SSO2_ARGS": "ใส่ค่าของคุณ",
        "SAP_SSO2_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "SAP_TLS_INSECURE": "ใส่ค่าของคุณ",
        "SAP_OAUTH_TOKEN_URL": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_ID": "ใส่ค่าของคุณ",
        "SAP_OAUTH_CLIENT_SECRET": "ใส่ค่าของคุณ",
        "SAP_OAUTH_SCOPE": "ใส่ค่าของคุณ",
        "MCP_PROFILE_GATE": "ใส่ค่าของคุณ",
        "SAP_REQUEST_TIMEOUT_SECONDS": "ใส่ค่าของคุณ",
        "MCP_SOURCE_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
        "MCP_CACHE_DIR": "ใส่ค่าของคุณ",
        "MCP_API_CLASSIFICATION_FILES": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • SAP_SYSTEMS_FILE env
    Path to a JSON file mapping destination names to system configs (url, client, authType basic/sso/sso2/oauth, credentials). Recommended; keep the file mode 0600. See systems.example.json
  • SAP_SYSTEMS ความลับ env
    Inline JSON map of destinations (same shape as SAP_SYSTEMS_FILE). Contains credentials — prefer SAP_SYSTEMS_FILE
  • SAP_DEFAULT_DESTINATION env
    Destination name used when a tool call omits `destination` (alternatively mark an entry with "default": true)
  • SAP_AUTH_TYPE env
    Default auth type for entries that don't specify one: sso (default), sso2, basic, or oauth
  • MCP_HTTP_PORT env
    When set (1024-65535), serve Streamable HTTP on http://127.0.0.1: /mcp with bearer-token auth instead of stdio
  • MCP_HTTP_HOST env
    Bind address for the HTTP transport (default 127.0.0.1). Set 0.0.0.0 only inside containers that publish the port
  • MCP_HTTP_TOKEN ความลับ env
    Bearer token for the HTTP transport; auto-generated and written to ~/.abap-adt-mcp/http-token when unset
  • MCP_HTTP_MAX_SESSIONS env
    Maximum concurrent MCP sessions on the HTTP transport (default 16); further initialize requests get 503
  • MCP_HTTP_MAX_BODY_BYTES env
    Largest request body the HTTP transport accepts, in bytes (default 4194304); larger bodies are refused with HTTP 413
  • MCP_HTTP_SESSION_TTL_MINUTES env
    Idle minutes after which an HTTP session (and its SAP sessions/locks) is closed (default 30)
  • MCP_HTTP_ALLOWED_ORIGINS env
    Comma-separated Origin values allowed on the HTTP transport (loopback origins always allowed when bound to loopback; * allows any)
  • MCP_HTTP_ALLOWED_HOSTS env
    Comma-separated Host header values allowed (DNS-rebinding protection; loopback hosts always allowed when bound to loopback)
  • MCP_EXPORT_ROOT env
    When set, exportPackageSources may only write inside this directory
  • MCP_AUDIT_FILE env
    Path of a JSONL audit trail: one record per tool call (tool, destination, duration, outcome ok/error/denied/unavailable, policy gate, redacted argument summary)
  • MCP_ADT_TRACE_FILE env
    Diagnostics: path of a JSONL trace with one line per ADT request (method, URI, status, headers). Cookie, Set-Cookie, Authorization and CSRF values are reduced to name and length; no response body is…
  • MCP_READ_ONLY env
    Set to 1 to make every destination read-only (server-side; only read-only annotated tools plus login/logout run). Per-destination policies live in systems.json
  • MCP_ALLOW_DATA_PREVIEW env
    Set to 1 to let tableContents read table and CDS rows on every destination that does not state policy.allowDataPreview itself (reading table data is off by default)
  • MCP_ALLOW_FREE_SQL env
    Set to 1 to allow runQuery and tableContents with sqlQuery on every destination that does not state policy.allowFreeSql itself (free SQL is off by default; implies table data)
  • MCP_TOOLSETS env
    Toolsets to publish: comma list (core,source,objects,transports,analysis,tests,atc,data,discovery,runtime,refactoring,rap,services,git,debugger,traces) or a preset: all (default) or focused
  • MCP_DISABLED_TOOLSETS env
    Toolsets to hide, comma list (core cannot be disabled)
  • MCP_MAX_RESPONSE_CHARS env
    Character budget for a single tool response before results are paged/truncated (default 40000, minimum 5000). Raise it if your MCP host accepts larger tool outputs
  • SAP_ALLOW_REENTRANCE_TICKET env
    Set to 1 to enable the reentranceTicket tool (disabled by default: it returns a live SAP logon credential into the conversation)
  • SAP_URL env
    Legacy single-system mode: base URL of the SAP system, e.g. https://host:44300
  • SAP_USER env
    Legacy single-system mode: SAP username
  • SAP_PASSWORD ความลับ env
    Legacy single-system mode: SAP password
  • SAP_CLIENT env
    Legacy single-system mode: SAP client number, e.g. 100
  • SAP_LANGUAGE env
    Legacy single-system mode: logon language, e.g. EN
  • SAP_BROWSER_PATH env
    SSO destinations: path to a Chromium/Chrome/Edge binary for the browser login (auto-detected when unset)
  • SAP_BROWSER_PROFILE_DIR env
    SSO destinations: directory of the persistent browser profile that keeps the identity-provider session (default ~/.abap-adt-mcp/sso/ )
  • SAP_SSO2_COMMAND env
    Legacy single-system sso2 mode: absolute path to the trusted local ticket provider
  • SAP_SSO2_ARGS env
    Legacy single-system sso2 mode: JSON array of provider arguments (never put a ticket here)
  • SAP_SSO2_TIMEOUT_MS env
    Legacy single-system sso2 mode: provider timeout in milliseconds (default 30000; range 1000-300000)
  • SAP_TLS_INSECURE env
    Legacy single-system mode: set to 1 to skip TLS certificate verification for that system only (sandboxes with self-signed certificates)
  • SAP_OAUTH_TOKEN_URL env
    Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 token endpoint (client_credentials)
  • SAP_OAUTH_CLIENT_ID env
    Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 client id
  • SAP_OAUTH_CLIENT_SECRET ความลับ env
    Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 client secret
  • SAP_OAUTH_SCOPE env
    Legacy single-system mode with SAP_AUTH_TYPE=oauth: optional OAuth2 scope
  • MCP_PROFILE_GATE env
    Platform gate for toolsets the destination does not expose (debugger, traces, abapGit, ...): enforce (default, refuse before calling SAP), warn (log only) or off
  • SAP_REQUEST_TIMEOUT_SECONDS env
    Seconds an ADT request may receive nothing before it fails as a network error, so a connection that died while the machine slept cannot hang every call (default 600; 0 waits forever)
  • MCP_SOURCE_CACHE_TTL_SECONDS env
    Lifetime of the per-session source cache used by grepPackage, cdsViewInfo and syntaxCheckCode (default 300; 0 keeps entries until logout)
  • MCP_CACHE_DIR env
    Directory for the cached SAP cloudification repository used by apiReleaseState (default ~/.abap-adt-mcp/cache)
  • MCP_API_CLASSIFICATION_FILES env
    Extra classification files for apiReleaseState, comma list: a path inside SAP's cloudification repository (partner/objectClassifications_ACME.json) or an https URL

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub williansaez ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32742 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 87% ของอีก 32742 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32742 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Abap Adt MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: SAP_SYSTEMS, MCP_HTTP_TOKEN, SAP_PASSWORD, SAP_OAUTH_CLIENT_SECRET

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.8.2) เข้า registry 5 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Asset Notation

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

Asset Notation

โดย assetnotation

Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

abap-adt-mcp

Let Claude read, write, test and check ABAP code on your SAP systems.

English · Português (Brasil) · Deutsch · Project site

You type a sentence in Claude. You get back an activated class, green unit tests and a transport number. abap-adt-mcp is the server in between: a Model Context Protocol server that gives Claude Desktop, Claude Code, VS Code or any other MCP host the same ADT services Eclipse uses, on every SAP system you configure, S/4HANA Cloud and on-prem alike. 173 tools, one process, and guard rails the server enforces itself: a destination marked read-only refuses every write before it reaches SAP, whatever the host approves.

See it in motion. The project site has seven short films, the setup in three steps and what to ask the model.

Before you connect a production system

- The model acts as your SAP user and can do nothing Eclipse would refuse you. What it reads (source, dumps, table rows where you open them) is sent to the model.

- A destination without a policy block is writable in every package your user may edit; table data stays closed until you open it.

- Recommended: development and test systems only. If a production destination must exist, give it the PRD policy of step 4: the server enforces it before any SAP call, whatever the host approves, so a careless prompt cannot write where the policy forbids it (For administrators).

See it work

That is the whole idea. You type a sentence. The model picks the tools, the server locks the object, writes, activates and unlocks it, and the unit tests come back green with a transport number attached. Ask for the same change on a production system and the answer is policyDenied before a single SAP call goes out: the guard rails live in the server, not in the chat window.

Seven short films show this and the single jobs behind it, a short dump traced to its line, an ATC run with its quickfixes, a transport review, a class created with its test, an ABAP Cloud readiness check. They are on the project site.

Table of contents

  • See it work
  • Setup
  • What to ask the model
  • For administrators
  • Authentication
  • S/4HANA Cloud versus on-prem
  • Other ways to install
  • Configuration
  • Tool catalog
  • Compared with SAP's official ADT MCP Server
  • SAP API Policy
  • Troubleshooting
  • Testing and contributing
  • Credits
  • License

Setup

Three prerequisites:

  • Node.js 22.12 or newer (22 or 24 LTS) from nodejs.org. On a managed laptop the ticket to IT is one line: "Please install Node.js LTS (22 or newer)"; nothing else needs installing.
  • Access to the SAP system, the same as for Eclipse ADT: on S/4HANA Cloud the developer business role (SAP_BR_DEVELOPER in the standard delivery); on-prem, ask your Basis team for the /sap/bc/adt service in SICF and the usual ADT authorizations.
  • A Chromium browser (Chrome, Edge or Brave) for the browser login (authType: sso, the default); not needed for basic, oauth or sso2.
1. Describe your SAP systems

Create the folder .abap-adt-mcp in your home directory and the file systems.json inside it, one entry per system (a "destination"):

  • Windows: the folder is C:\Users\ \.abap-adt-mcp. Paste the JSON into Notepad and in Save As set "Save as type" to "All files" and the name to systems.json, otherwise Notepad saves systems.json.txt and the server finds nothing.
  • macOS: the folder is /Users/ /.abap-adt-mcp (Finder, Shift-Cmd-G, ~); any editor.
{

"DEV": { "url": "https://myXXXXXX.s4hana.cloud.sap", "client": "080", "authType": "sso", "default": true, "policy": { "allowedPackages": ["ZFIN"] } } }

  • DEV is your name for the system and the word you will use in chats; "default": true lets you omit it.
  • url: the address you open the launchpad or Eclipse with, without a path.
  • client: the client your SSO session logs on to (About in the launchpad's user menu shows it). A wrong client shows up later as "not authorized" on objects you can open in Eclipse.
  • authType defaults to sso: a browser window opens once for the login, like Eclipse ADT. Other modes: Authentication.
  • policy.allowedPackages: the packages the model may write to, exact names or patterns (ZFIN, Z*). Leave it out and every package you can edit in Eclipse is writable; start with one.

Production and on-prem systems come in step 4, after the first successful call.

2. Register the server in your host

The package is on npm as abap-adt-mcp; npx fetches it. Claude Desktop, no terminal: first block. Claude Code: one command. VS Code, Cursor and others: pointer below. Every entry passes the server two settings: SAP_SYSTEMS_FILE (where systems.json is) and MCP_TOOLSETS=focused, which publishes the 114 everyday development tools instead of all 173 so the tool schemas do not eat the chat's context (drop it when you need the debugger, traces, abapGit, RAP or refactoring).

Claude Desktop, no terminal needed:

  1. Settings > Developer > Edit Config opens the folder that holds claude_desktop_config.json; open the file in Notepad or any editor. If Settings has no Developer tab, your Claude Desktop is managed by IT: ask them to add the entry below.
  2. If the file already contains "mcpServers", add only the "abap-adt-mcp" entry inside it; if it is empty, paste the whole block.
  3. Replace with your user name (macOS: /Users/ /.abap-adt-mcp/systems.json). The forward slashes in the Windows path are deliberate: JSON needs \\ for every backslash, forward slashes need nothing.
  4. Quit and reopen the app.
{

"mcpServers": { "abap-adt-mcp": { "command": "npx", "args": ["-y", "abap-adt-mcp"], "env": { "SAP_SYSTEMS_FILE": "C:/Users/ /.abap-adt-mcp/systems.json", "MCP_TOOLSETS": "focused" } } } }

Claude Code, one line in a terminal (-s user registers the server for every project, not only the current folder):

claude mcp add -s user abap-adt-mcp -e SAP_SYSTEMS_FILE=$HOME/.abap-adt-mcp/systems.json -e MCP_TOOLSETS=focused -- npx -y abap-adt-mcp

The same on Windows PowerShell:

claude mcp add -s user abap-adt-mcp -e SAP_SYSTEMS_FILE=$env:USERPROFILE\.abap-adt-mcp\systems.json -e MCP_TOOLSETS=focused -- npx -y abap-adt-mcp

VS Code with GitHub Copilot: the same entry in .vscode/mcp.json under a top-level servers key instead of mcpServers; docs/HOSTS.md has the file as tested, with ${input:} for secrets.

  • Cursor, Cline, Windsurf, the Copilot CLI and Eclipse: docs/HOSTS.md.
  • Keep the key abap-adt-mcp: it is the name the host shows, the prefix of every tool, and what this project's agent skills look for.
3. Say hello

Open a new chat and type (replace DEV with the key you chose; the class is standard SAP, so the prompt is read-only and safe on any system):

List my SAP systems, log in to DEV and show me the source of class CL_ABAP_CHAR_UTILITIES.

A browser window opens for the SSO login (tick "stay signed in" and later logins are silent); the model then calls listSystems, searchObject and getObjectSource, and the reply names your destinations and ends with the class source. The host asks before running a tool you have not approved permanently: that dialog is a courtesy of the host, the policy block is the guarantee. If the server does not appear in the host, Troubleshooting names the log to read.

Two things worth knowing before the first edit:

  • A write the policy forbids comes back as a refusal, not as a silent no-op: kind: "policyDenied", Policy: setObjectSource blocked on destination PRD (readOnly).
  • Every change the model makes is on your transport and in the object's version history: objectDiff and revisions show it, and nothing leaves DEV without a transport release you approve.
4. Add production and on-prem systems

The same file with a production entry and an on-prem entry (systems.example.json has every option):

{

"DEV": { "url": "https://myXXXXXX.s4hana.cloud.sap", "client": "080", "authType": "sso", "default": true, "policy": { "allowedPackages": ["Z*"] } }, "PRD": { "url": "https://myYYYYYY.s4hana.cloud.sap", "client": "100", "authType": "sso", "policy": { "readOnly": true, "allowDataPreview": false, "deniedTools": ["exportPackageSources"] } }, "ONPREM": { "url": "https://sap.example.com:44300", "client": "100", "authType": "basic", "user": "DEVELOPER", "password": "${env:ONPREM_PASSWORD}", "policy": { "allowedPackages": ["Z*", "$*"] }, "tls": { "ca": "/etc/ssl/corp-ca.pem" } } }

  • If a production destination must exist, PRD is its minimum policy: readOnly refuses every write, whatever the model is asked; allowDataPreview: false keeps table data closed even where the environment opens it for other destinations; deniedTools closes exportPackageSources, the one read that copies whole packages to disk.
  • ${env:VAR} reads a secret from the environment, so it never sits in the file; add the variable where the host starts the server: -e ONPREM_PASSWORD=... on claude mcp add (or export it in the shell that starts Claude Code), a "ONPREM_PASSWORD": "..." line in the env block of Claude Desktop, which does not pass your shell environment on. A file with an inline password must be readable by you only (chmod 600 ~/.abap-adt-mcp/systems.json on macOS and Linux; on Windows your profile folder is already private); an SSO-only file needs nothing.
  • tls.ca names a corporate CA certificate. Verification can be relaxed per destination only (insecureTls: true, announced at startup), never for the whole process.
  • An older on-prem system (SAP_BASIS below 7.51, such as SAP ERP 6.0 EHP7 or EHP8) reads fine over HTTP but cannot keep a lock between requests, so writes fail. Give its entry "transport": "rfc" and an rfc block, and install the SAP NetWeaver RFC SDK, which you download from SAP with your own S-user because SAP does not allow it to be bundled. docs/RFC.md has the

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx