MCP serverMCP servertypeExposes tools to a coding agent over MCP.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

cpi-mcp-server

A Go server over Cloud Integration's design-time content — integration packages and integration flows, listed and searched by id, version, name, vendor or mode.

Scoped to what a tenant contains rather than to what it is doing. get_integration_packages and get_integration_flows enumerate; search_integration_packages and search_integration_flows narrow by id, version, name, vendor or mode. That is the design-time half of Cloud Integration, which is the half you need when the question is what exists and where a flow came from rather than what failed last night.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Agent access to your systemsBTPAgent access to your systemscapabilityGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. [Serving your application over MCP](capability:mcp-servers) exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to [agent access to your code](capability:agent-code-access).

Who is behind it

Vadim KlimovVadim KlimovPersonMaintains this
In the atlas: maintains 1, contributes to 1, wrote 1
@vadimklimov
maintainer

Before choosing this

Conditions

PracticalFunctional boundary

Design-time only: no message monitoring, no deployment, no runtime status. That is a different server in this same section, and the two do not overlap.

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your systemsAn MCP server uses SAP APIs to supply tools, resources or data to an agent.
  • § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
  • § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.

MCP does not replace the API's documented-use boundary. Check that every endpoint is published for the intended use and whether the policy's AI-call or extraction provisions apply to the design.

SAP API Policy 4.2026a →

What it declares

Every artifact

Type
MCP server
Origin
Independently maintained

Connections1

README

quoted from vadimklimov/cpi-mcp-server under MIT, read
vadimklimov/cpi-mcp-server/README.mdOn GitHub

MCP server for SAP Cloud Integration

The MCP server for SAP Cloud Integration provides AI-powered applications with access to integration packages and integration artifacts within an SAP Cloud Integration (a part of SAP Integration Suite) tenant.

Tools

The MCP server exposes the following tools:

ToolDescription
get_integration_packagesGet all integration packages
search_integration_packagesSearch integration packages by ID, version, name, vendor or mode
get_integration_flowsGet all integration flows
search_integration_flowsSearch integration flows by ID, version or name
get_value_mappingsGet all value mappings
search_value_mappingsSearch value mappings by ID, version or name
get_message_mappingsGet all message mappings
search_message_mappingsSearch message mappings by ID, version or name
get_script_collectionsGet all script collections
search_script_collectionsSearch script collections by ID, version or name
get_integration_runtime_artifactsGet all integration runtime artifacts
search_integration_runtime_artifactsSearch integration runtime artifacts by ID, version, name, type or status

Installation

The MCP server can be installed as a standalone binary or run inside a Docker container.

Standalone binary
Option 1: Download binary

Download a binary compatible with your operating system / architecture from the Releases page.

Option 2: Install from source

Use the go install command to compile and install the MCP server:

go install github.com/vadimklimov/cpi-mcp-server@latest
Option 3: Build from source
  1. Clone the repository and navigate into the created directory:
git clone https://github.com/vadimklimov/cpi-mcp-server.git
cd cpi-mcp-server
  1. Optionally, download dependencies (otherwise, dependencies will be downloaded automatically during the next step, build):
go mod download
go mod tidy
  1. Use the go build command to compile the MCP server.

Example of basic build:

go build

Example of build with version information:

go build \
  -ldflags "-s -w -X github.com/vadimklimov/cpi-mcp-server/internal/appinfo.version=1.2.3" \
  -o cpi-mcp-server \
  .

Alternatively, use GoReleaser to build the MCP server using the provided GoReleaser configuration file.

Docker container
Option 1: Pull Docker image
  1. Use the docker image pull command (or docker pull shorthand) to pull the MCP server image:
docker pull vadimklimov/cpi-mcp-server
Option 2: Build Docker image
  1. Clone the repository and navigate into the created directory:
git clone https://github.com/vadimklimov/cpi-mcp-server.git
cd cpi-mcp-server
  1. Use the docker build command to build the Docker image using the provided Dockerfile.

The following build arguments are supported:

ArgumentDescription
VERSIONMCP server version

Example of basic build:

docker build .

Example of build with version information:

docker build \
  --tag vadimklimov/cpi-mcp-server:1.2.3 \
  --build-arg VERSION=1.2.3 \
  .

Alternatively, use the docker bake command (a part of Docker Buildx) to build the Docker image using the provided Bake definition file.

The Bake definition file includes the following build targets:

TargetDescriptionDefaultMulti-platform buildImage tag
devDevelopment buildyesnodev
snapshotSnapshot buildnoyes{VERSION}-snapshot
releaseRelease buildnoyes{VERSION}, latest

The following Bake variables are supported:

VariableDescriptionDefault valueUsed by target
VERSIONMCP server versiondevdev, snapshot, release
COMMIT_SHABuild revision (commit hash for build)unknownsnapshot, release

Note

For snapshot and release builds, using Docker Bake is the recommended approach. The Bake definition file provides sensible defaults and adds additional image metadata.

Warning

Before running snapshot or release builds, ensure that multi-platform build support is enabled in the Docker environment.

Warning

The release target automatically pushes the built image to the registry.

Example of basic build (uses the dev target by default):

docker bake

Example of build with version information:

export VERSION=1.2.3
docker bake

or

docker bake \
  --set dev.tags=vadimklimov/cpi-mcp-server:1.2.3 \
  --set dev.args.VERSION=1.2.3

Tip

Given that the project is managed with Git, it is recommended to use the current commit hash (an SHA-1 hash) as the build revision.

To retrieve the long (full) form of the current commit hash, run the git rev-parse HEAD command.

To retrieve the short form of the current commit hash, run the git rev-parse --short HEAD command.

Tip

Since the project already uses Git tags for MCP server release versioning, it is recommended to use Git tags for build versioning as well.

To retrieve the most recent tag, run the git describe --tags $(git rev-list --tags --max-count=1) command.

Configuration

For the MCP server to function correctly, configuration must be provided in environment variables.

Environment variables

The following environment variables are supported:

Environment variableDescriptionRequiredValid valuesDefault value
MCP_CPI_BASE_URLBase URLyes
MCP_CPI_TOKEN_URLToken URLyes
MCP_CPI_CLIENT_IDClient IDyes
MCP_CPI_CLIENT_SECRETClient secretyes
MCP_CPI_TRANSPORTMCP transportnostdio, httpstdio
MCP_CPI_PORTPort to use for HTTP transportnovalue in range 1024-655358080
MCP_CPI_LOG_LEVELLog levelnonone, error, warn, info, debugnone
MCP_CPI_LOG_FILEPath to log fileno/path/to/log/file.log/var/log/cpi-mcp-server.log
MCP_CPI_MAX_CONCURRENCYMaximum concurrencynoNumber of logical CPUs
MCP_CPI_TIMEOUTTimeout (in seconds)no60
Access to SAP Cloud Integration APIs

The MCP server uses the public APIs of SAP Cloud Integration to retrieve the required information. These APIs are OAuth-protected and support the client credentials flow. This authentication mechanism is employed by the MCP server to authenticate and authorize API calls made to the SAP Cloud Integration tenant.

To enable the MCP server to access the necessary APIs of the SAP Cloud Integration tenant, an OAuth client for it must be created in the SAP Business Technology Platform subaccount where the corresponding subscription for SAP Integration Suite has been created.

In a Cloud Foundry environment, a service instance represents an OAuth client - hence, a service instance and a service key for it must be created.

Step 1: Create a service instance

Create a service instance with the following configuration:

  • Service: SAP Process Integration Runtime
  • Plan: api
  • Grant type: Client Credentials

The following roles are required by the corresponding MCP server tools:

ToolRole
get_integration_packagesWorkspacePackagesRead
search_integration_packagesWorkspacePackagesRead
get_integration_flowsWorkspacePackagesRead
search_integration_flowsWorkspacePackagesRead
get_value_mappingsWorkspacePackagesRead
search_value_mappingsWorkspacePackagesRead
get_message_mappingsWorkspacePackagesRead
search_message_mappingsWorkspacePackagesRead
get_script_collectionsWorkspacePackagesRead
search_script_collectionsWorkspacePackagesRead
get_integration_runtime_artifactsMonitoringDataRead
search_integration_runtime_artifactsMonitoringDataRead

Step 2: Create a service key

Create a service key with the following configuration for the service instance created in the previous step:

  • Key type: ClientId/Secret

OAuth client credentials and endpoints can be found in the oauth section of the service key:

Configuration parameterService key attribute
Base URLurl
Token URLtokenurl
Client IDclientid
Client secretclientsecret
Examples

Minimum configuration (required environment variables only):

MCP_CPI_BASE_URL=https://{subdomain}.it-cpi{xxxxx}.cfapps.{region}.hana.ondemand.com/api/v1
MCP_CPI_TOKEN_URL=https://{subdomain}.authentication.{region}.hana.ondemand.com/oauth/token
MCP_CPI_CLIENT_ID=xxxxxxxxxx
MCP_CPI_CLIENT_SECRET=xxxxxxxxxx

Full configuration (all supported environment variables):

MCP_CPI_BASE_URL=https://{subdomain}.it-cpi{xxxxx}.cfapps.{region}.hana.ondemand.com/api/v1
MCP_CPI_TOKEN_URL=https://{subdomain}.authentication.{region}.hana.ondemand.com/oauth/token
MCP_CPI_CLIENT_ID=xxxxxxxxxx
MCP_CPI_CLIENT_SECRET=xxxxxxxxxx
MCP_CPI_MAX_CONCURRENCY=3
MCP_CPI_TIMEOUT=120
MCP_CPI_TRANSPORT=http
MCP_CPI_PORT=8080
MCP_CPI_LOG_LEVEL=debug
MCP_CPI_LOG_FILE=/var/log/cpi-mcp-server.log

Agentic tools configuration

Refer to the documentation of the IDE, code editor, AI assistant or other agentic tool you use that supports MCP for configuration details.

Local MCP server

The examples below illustrate the configuration required to add a local MCP server to the Claude Desktop. Refer to the documentation of the agentic tool relevant to your setup to adapt these examples.

Option 1: Standalone binary

Assuming the cpi-mcp-server binary is located in the /Users/demo/go/bin directory, add the following configuration to the claude_desktop_config.json file:

{
  "mcpServers": {
    "cpi": {
      "command": "/Users/demo/go/bin/cpi-mcp-server",
      "env": {
        "MCP_CPI_BASE_URL": "https://{subdomain}.it-cpi{xxxxx}.cfapps.{region}.hana.ondemand.com/api/v1",
        "MCP_CPI_TOKEN_URL": "https://{subdomain}.authentication.{region}.hana.ondemand.com/oauth/token",
        "MCP_CPI_CLIENT_ID": "xxxxxxxxxx",
        "MCP_CPI_CLIENT_SECRET": "xxxxxxxxxx"
      }
    }
  }
}
Option 2: Docker container

Assuming the MCP server configuration (see Configuration) is defined in the cpi-mcp-server.env located in the /Users/demo/.config/mcp directory, add the following configuration to the claude_desktop_config.json file:

{
  "mcpServers": {
    "cpi": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env-file",
        "/Users/demo/.config/mcp/cpi-mcp-server.env",
        "vadimklimov/cpi-mcp-server"
      ]
    }
  }
}
Remote MCP server

The examples below illustrate the configuration required to add a remote MCP server to the Claude Code. Refer to the documentation of the agentic tool relevant to your setup to adapt these examples.

Step 1: Start the MCP server

Option 1: Standalone binary

Assuming the cpi-mcp-server binary is located in the /Users/demo/go/bin directory, use the following command to start the MCP server:

export MCP_CPI_BASE_URL=https://{subdomain}.it-cpi{xxxxx}.cfapps.{region}.hana.ondemand.com/api/v1
export MCP_CPI_TOKEN_URL=https://{subdomain}.authentication.{region}.hana.ondemand.com/oauth/token
export MCP_CPI_CLIENT_ID=xxxxxxxxxx
export MCP_CPI_CLIENT_SECRET=xxxxxxxxxx
export MCP_CPI_TRANSPORT=http
/Users/demo/go/bin/cpi-mcp-server
Option 2: Docker container

Assuming the MCP server configuration (see Configuration) is defined in the cpi-mcp-server.env located in the /Users/demo/.config/mcp directory, use the docker container run command (or docker run shorthand) to start the MCP server:

docker run \
  --detach \
  --name cpi-mcp-server \
  --publish 8080:8080 \
  --env-file /Users/demo/.config/mcp/cpi-mcp-server.env \
  vadimklimov/cpi-mcp-server

Tip

When using the HTTP transport in the MCP server, the container listens on port 8080. The -p (--publish) option of the docker run command can be used to publish the container's port 8080 to a different host port (for example, -p 8888:8080).

Step 2: Add a remote MCP server to Claude Code

Option 1: Use Claude Code CLI

Use the claude mcp add command to add the remote MCP server:

claude mcp add --transport http cpi http://localhost:8080/mcp
Option 2: Manually edit configuration file

Add the following configuration to the .mcp.json file:

{
  "mcpServers": {
    "cpi": {
      "type": "http",
      "url": "http://localhost:8080/mcp"
    }
  }
}

Note

When running the MCP server on a remote host, ensure that the host name is set appropriately when adding it to the agentic tool.

Warning

MCP servers operating in remote mode must be configured to use HTTPS (encrypted transport protocol) to ensure secure communication between the client and the server. Use of HTTP is strongly discouraged, as it does not provide transport-level security.

Warning

The current implementation of the MCP server does not provide authorization capabilities. When operating the server in remote mode, appropriate access restriction mechanisms must be implemented to prevent unauthorized access to the server.

MIT, read

History

Latest

v1.0.0

Features 1

Notes

Changelog

New features
  • bb8ff7db5e53e806b4beeca75e87c60c1984cdc4 feat: implement initial version of MCP server
Agent access to your systems
  1. mcp-integration-suiteMCP server for the general Integration Suite functionsfrom BTP/BAIP
  2. mcp-is-tpmJava MCP server for Integration Suite Trading Partner Managementfrom BTP/BAIP
  3. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  4. abap2UI5 for VS CodeVS Code extension to preview, activate and lint abap2UI5 appsfrom ABAP
  5. SF-MCPMCP server with 62 tools over SAP SuccessFactors OData APIsfrom SAP SuccessFactors
  6. hybris-mcp-liteRead-only MCP server over a local SAP Commerce Cloud's HACfrom SAP Commerce
  7. calmcpMCP server with read tools over the SAP Cloud ALM APIsfrom BTP/BAIP
  8. CostingGeek/sap-mcpPython MCP server fetching sales orders from SAP's business data graphfrom BTP/BAIP
  9. mcp-sap-focusedrunMCP tools over SAP Focused Run's Landscape Management Databasefrom BTP/BAIP
  10. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  11. cloud-alm-itsm-mcpMCP server querying installations via the SAP Cloud ALM ITSM APIfrom BTP/BAIP
  12. hana-mcp-serverMCP server for schema discovery and guarded SQL on SAP HANAfrom BTP/BAIP
  13. sap_analytics_cloud_mcpMCP server for the SAP Analytics Cloud REST APIfrom BTP/BAIP
  14. mcp-sap-cpiMCP server for Cloud Integration runtime: messages, logs, deploymentfrom BTP/BAIP
  15. AI Core MCP ServerSAP AI Core APIs as MCP tools from one JSON config filefrom BTP/BAIP
  16. BTP CF MCP ServerCloud Foundry V3 API on SAP BTP as MCP toolsfrom BTP/BAIP
  17. BTP MCP ServerBTP Core Services as MCP tools with in-chat dashboardsfrom BTP/BAIP
  18. btp-sap-odata-to-mcp-serverExposes S/4HANA or ECC OData services as MCP toolsfrom BTP/BAIP
  19. CI MCP ServerSAP Cloud Integration OData APIs as MCP toolsfrom BTP/BAIP
  20. odata-mcp-proxyConfig-driven proxy turning OData and REST endpoints into MCP toolsfrom BTP/BAIP
  21. sap-pi-mcp-serverMCP server for SAP PI and PO monitoring and directory metadatafrom BTP/BAIP
  22. sap-bdc-mcp-serverMCP server managing Delta shares in SAP Business Data Cloudfrom BTP/BAIP
  23. @mariodefe/sap-datasphere-mcpMCP server with forty-five tools across a Datasphere tenantfrom BTP/BAIP
  24. midasol/sap-mcp-serverPython MCP server for SAP Gateway OData operationsfrom BTP/BAIP
  25. odata_mcp_goGo binary bridging any OData v2 or v4 service to MCPfrom BTP/BAIP
  26. odata_mcpPython bridge generating MCP tools from OData v2 metadatafrom BTP/BAIP
  27. sap-bdc-mcpMCP tooling for SAP Business Data Cloud discovery and contractsfrom BTP/BAIP
  28. mcp-sap-datasphere-serverRead-only MCP server for exploring SAP Dataspherefrom BTP/BAIP
  29. sap-mcp-serverReads SAP ECC and S/4HANA for an agent over Gateway OData and RFC, with a Node bridge that speaks the RFC protocol without the proprietary SAP NetWeaver RFC SDK.from ABAP
  30. cap-mcp-bridgeMCP server generating tools from a CAP or OData V4 service's metadatafrom CAP
  31. MCP Server for SAP BTP AdministrationSAP-hosted MCP endpoint for BTP account administrationfrom BTP/BAIP
  32. SAP LeanIX MCP ServerHosted MCP endpoint onto an SAP LeanIX instancefrom BTP/BAIP
  33. SAP-samples/hana-cli-claude-pluginClaude Code plugin registering hana-cli's MCP serverfrom BTP/BAIP
  34. SAP-samples/hana-developer-cli-tool-exampleDeveloper-centric command line for SAP HANAfrom BTP/BAIP
  35. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  36. sap-security-mcpRead-only security analysis MCP server for SAP audits and SoD reviewfrom ABAP
  37. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP
  38. pyrfc-mcpMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP

Details

Sources3
sap-ai-mcp-serversdiscovered herechecked
github.com/vadimklimov/cpi-mcp-servertree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viasap-ai-mcp-servers
first seen in the atlas
ecosystem and domainbtp, integration-and-messaging
History in the atlas3
  1. The concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
  2. Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README. Filed on the BTP door: the Integration Suite is BTP services, which is the reasoning the door list has carried since it was written.
  3. First seen.
For your agent
Ref
artifact:vadimklimov-cpi-mcp-server
JSON
/artifacts/vadimklimov-cpi-mcp-server.json
MCP
Connecting an agent