mcp server instantiation from abap configuration tables
Dynamically creates MCP server instances at runtime using the ZCL_MCP_SERVER_FACTORY class, which reads server metadata from ABAP configuration tables (ZMCP_*) and instantiates the appropriate server class via reflection. The factory pattern decouples server configuration from deployment, enabling zero-code-change server registration and multi-tenant server hosting within a single ABAP system.
Unique: Uses ABAP's native reflection and configuration table system to enable factory-pattern server instantiation without hardcoded server mappings, allowing configuration-driven multi-server hosting within a single ICF service endpoint.
vs alternatives: Eliminates the need for code changes or container orchestration to register new MCP servers, unlike Node.js/Python MCP SDKs which require code modification or environment variable configuration.
json-rpc 2.0 protocol parsing and method routing
The ZCL_MCP_JSONRPC class parses incoming HTTP request bodies as JSON-RPC 2.0 messages, validates structure (jsonrpc version, method, params, id), and routes method calls to the appropriate handler on the instantiated server. Implements full JSON-RPC 2.0 spec including error response formatting, batch request handling, and notification support (fire-and-forget calls with no id field).
Unique: Implements full JSON-RPC 2.0 parsing and routing within ABAP's type-safe environment, leveraging native ABAP JSON deserialization to validate protocol compliance before method dispatch, preventing malformed requests from reaching business logic.
vs alternatives: More robust than manual string parsing; catches JSON-RPC protocol violations at the framework level before they reach custom server code, similar to how Express.js middleware validates HTTP format before routing.
http request routing to mcp servers based on icf path configuration
Routes incoming HTTP requests to appropriate MCP servers based on ICF service path configuration. The ZCL_MCP_HTTP_HANDLER parses the request path, looks up the corresponding server in configuration tables, instantiates the server via the factory, and dispatches the request. Supports multiple servers per ICF service with path-based routing (e.g., /mcp/server1, /mcp/server2).
Unique: Implements path-based routing at the ICF handler level with configuration table-driven server mapping, enabling multiple MCP servers to coexist under a single ICF service without code changes or reverse proxy configuration.
vs alternatives: Simpler than deploying separate ICF services per server; consolidates multiple MCP endpoints into a single service with configuration-driven routing, reducing operational overhead.
abap-native json processing and utility functions for mcp protocol handling
Provides utility classes for JSON serialization/deserialization, schema validation, and data type conversion within ABAP. Leverages ABAP's native JSON support (CALL TRANSFORMATION, /ui2/cl_json) to handle MCP protocol messages and custom data structures. Includes helpers for converting ABAP types to JSON-serializable formats and vice versa.
Unique: Wraps ABAP's native JSON support with MCP-specific utilities, handling protocol-level serialization/deserialization and type conversions transparently, reducing boilerplate in custom server implementations.
vs alternatives: Leverages ABAP's built-in JSON support rather than custom parsing, ensuring compatibility with ABAP's type system and reducing the risk of serialization bugs compared to manual JSON string manipulation.
development and testing utilities for mcp server validation
Provides development tools and demo server examples (zcl_mcp_demo_server_stateless) for testing MCP server implementations. Includes utilities for validating MCP protocol compliance, testing tool invocation, and debugging request/response flows. Demo servers demonstrate best practices for resource, tool, and prompt implementation.
Unique: Provides demo server implementations and development utilities within the SDK, enabling developers to learn MCP patterns and test implementations without external tools, with examples demonstrating stateless server patterns.
vs alternatives: Includes working examples within the SDK itself, reducing the learning curve compared to standalone MCP documentation; enables faster prototyping and validation of custom servers.
session cleanup and lifecycle management for long-running mcp servers
Provides utilities (zmcp_clear_mcp_sessions program) for managing session lifecycle, including automatic cleanup of expired sessions and manual session termination. Prevents memory leaks from accumulated session state in long-running ABAP systems. Supports configurable session timeout and cleanup policies.
Unique: Provides explicit session cleanup utilities integrated into the MCP framework, enabling SAP administrators to manage session lifecycle and prevent memory leaks in long-running servers without custom monitoring code.
vs alternatives: Addresses a common operational concern in long-running ABAP systems; provides built-in cleanup mechanisms rather than relying on external monitoring or manual intervention.
mcp specification version support and protocol evolution handling
Supports multiple MCP specification versions (2025-03-28 and 2025-06-18) with version negotiation during the initialize handshake. Handles protocol evolution by validating client-requested capabilities against server-supported features, enabling forward/backward compatibility as the MCP spec evolves. Version information is exchanged during initialization to ensure client/server compatibility.
Unique: Implements explicit MCP specification version support with version negotiation during initialization, enabling servers to support multiple protocol versions and handle spec evolution without breaking existing clients.
vs alternatives: Provides version negotiation at the protocol level, similar to HTTP version negotiation, enabling graceful handling of protocol evolution as the MCP spec matures and new features are added.
http request authentication and authorization via abap security model
The ZCL_MCP_HTTP_HANDLER class validates incoming HTTP requests using ABAP's native authentication (user credentials, SSO tokens) and authorization (transaction codes, authorization objects). Integrates with SAP's ICF framework to extract user context and enforces ABAP-level access control before routing to MCP servers, enabling fine-grained permission control per server or per tool.
Unique: Leverages SAP's native ICF authentication and ABAP authorization object framework, enabling MCP servers to inherit existing user management and role definitions without custom identity infrastructure, while integrating with SAP's security audit trail.
vs alternatives: Eliminates the need for separate identity management systems (Auth0, Okta) in SAP-native deployments; uses existing SAP user/role infrastructure, reducing operational overhead vs. standalone MCP servers that require external auth setup.
+7 more capabilities