SAP Integration Content MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_CPI_API_KEY | No | API key for sandbox access (api.sap.com). | |
| SAP_CPI_BASE_URL | No | Base URL for SAP Cloud Integration tenant or sandbox. | |
| SAP_CPI_CLIENT_ID | No | OAuth client ID for production tenant. | |
| SAP_CPI_TOKEN_URL | No | OAuth token URL for production tenant. | |
| SAP_CPI_CLIENT_SECRET | No | OAuth client secret for production tenant. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_integration_packagesA | List all integration packages in the Design workspace. Args: odata_query: Optional OData query string (e.g. "$select=Id,Name&$top=10"). |
| get_integration_packageC | Get details of a specific integration package by ID. |
| create_integration_packageC | Create a new integration package in the Design workspace. |
| delete_integration_packageC | Delete an integration package from the Design workspace. |
| copy_integration_packageB | Copy an integration package from Discover to Design workspace. |
| list_package_iflowsA | List all integration flows (iFlows) within a specific package. Args: package_id: The integration package ID. odata_query: Optional OData query (e.g. "$filter=Version eq 'active'"). |
| get_integration_flowA | Get metadata of an integration flow by ID and version. Use version='active' for the currently active version. |
| create_integration_flowB | Create/upload a new integration flow in a package. Args: iflow_id: Unique ID for the iFlow. name: Display name. package_id: Target integration package ID. artifact_content_base64: Optional ZIP content encoded in base64. |
| update_integration_flowB | Update an existing integration flow (name and/or ZIP content). |
| delete_integration_flowC | Delete an integration flow from the Design workspace. |
| download_integration_flowB | Download an integration flow as a ZIP file (returns base64-encoded content). |
| save_integration_flow_versionC | Save an integration flow as a new version. |
| get_iflow_configurationsC | Get externalized configuration parameters of an integration flow. |
| update_iflow_configurationC | Update a single externalized configuration parameter of an iFlow. |
| list_iflow_resourcesC | List all resources (Groovy scripts, XSLT, XSD, etc.) of an integration flow. |
| get_iflow_resourceC | Download a specific resource from an integration flow. Args: resource_type: One of edmx, groovy, jar, js, mmap, opmap, wsdl, xsd, xslt. |
| update_iflow_resourceC | Update a resource (e.g. Groovy script) within an integration flow. |
| execute_iflow_design_guidelinesC | Execute design guidelines validation on an integration flow. |
| get_iflow_guideline_resultsC | Get design guideline execution results for an integration flow. |
| deploy_integration_flowA | Deploy an integration flow to the runtime (Monitor workspace). Returns a task ID that can be polled with get_deploy_status. |
| get_deploy_statusB | Check the build and deploy status for a deployment task. |
| list_runtime_artifactsA | List all deployed integration artifacts in the runtime (Monitor workspace). Args: odata_query: Optional OData query (e.g. "$filter=Status eq 'STARTED'"). |
| get_runtime_artifactC | Get details of a specific deployed runtime artifact. |
| undeploy_integration_artifactC | Undeploy a runtime integration artifact. |
| list_service_endpointsA | List all service endpoints exposed by deployed integration flows. Args: odata_query: Optional OData query (e.g. "$expand=EntryPoints&$filter=Protocol eq 'REST'"). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Each tool targets a distinct resource and action (e.g., package vs. flow vs. runtime artifact, create vs. update vs. delete). No two tools have overlapping purposes; descriptions clearly differentiate similar operations.
Tools predominantly follow verb_noun pattern with underscores. However, there is minor inconsistency: some use 'iflow' (e.g., execute_iflow_design_guidelines) while others use 'integration_flow' (e.g., create_integration_flow). This is a small deviation from perfect uniformity.
With 25 tools, the server is on the higher end of the typical range (3-15) but still within acceptable bounds for a comprehensive integration platform. The count feels slightly heavy but not excessive.
The tool surface covers the full lifecycle: CRUD for packages and flows, deployment/undeployment, configuration, resource management, and design guidelines. Minor gaps exist (e.g., no tool for monitoring logs or error details), but core workflows are well-supported.