Install
$ agentstack add mcp-keelside-mcp-sap-cpi ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
mcp-sap-cpi
An open-source MCP (Model Context Protocol) server that connects Claude to SAP Cloud Platform Integration (CPI). Ask Claude to diagnose failed messages, review iFlows, deploy artifacts, check credentials, and more — directly from your conversation.
What it does
| Category | Tools | |---|---| | Message Monitoring | List failed messages, get full MPL details, retrieve trace logs | | Integration Content | Browse packages, list artifacts, deploy/undeploy iFlows | | Security Artifacts | List credentials, keystores, OAuth2 configurations | | Runtime Status | Check deployed artifact status, system health summary |
Requirements
- Node.js 18+
- SAP CPI tenant (Integration Suite or standalone CPI)
- BTP service key with Process Integration Runtime role (
it-rtplan)
Installation
npm install -g mcp-sap-cpi
Or run without installing:
npx mcp-sap-cpi
Configuration
1. Get your BTP service key
In SAP BTP Cockpit:
- Go to your subaccount → Services → Instances and Subscriptions
- Create a service instance:
Process Integration Runtime→ planit-rt - Create a service key → copy the JSON
From the service key JSON, extract:
url→CPI_TENANT_URLtokenurl→CPI_TOKEN_URLclientid→CPI_CLIENT_IDclientsecret→CPI_CLIENT_SECRET
2. Set environment variables
Create a .env file (or set in your Claude Desktop config — see below):
CPI_TENANT_URL=https://.it-cpi.cfapps..hana.ondemand.com
CPI_TOKEN_URL=https://.authentication..hana.ondemand.com/oauth/token
CPI_CLIENT_ID=sb-
CPI_CLIENT_SECRET=
3. Register with Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"sap-cpi": {
"command": "npx",
"args": ["mcp-sap-cpi"],
"env": {
"CPI_TENANT_URL": "https://.it-cpi.cfapps..hana.ondemand.com",
"CPI_TOKEN_URL": "https://.authentication..hana.ondemand.com/oauth/token",
"CPI_CLIENT_ID": "your-client-id",
"CPI_CLIENT_SECRET": "your-client-secret"
}
}
}
}
4. Register with Claude Code
claude mcp add sap-cpi npx mcp-sap-cpi \
-e CPI_TENANT_URL=https://.it-cpi.cfapps..hana.ondemand.com \
-e CPI_TOKEN_URL=https://.authentication..hana.ondemand.com/oauth/token \
-e CPI_CLIENT_ID=your-client-id \
-e CPI_CLIENT_SECRET=your-client-secret
Tools Reference
Message Monitoring
get_failed_messages
List failed messages from the Message Processing Log.
| Parameter | Type | Required | Description | |---|---|---|---| | top | number | No | Max results (default: 20) | | artifactName | string | No | Filter by iFlow name | | fromDate | string | No | ISO date — messages after this date |
Example prompt: "Show me the last 10 failed messages in CPI"
get_message_details
Get full MPL details for a specific message.
| Parameter | Type | Required | Description | |---|---|---|---| | messageId | string | Yes | The CPI message GUID |
Example prompt: "Get details for message ID abc-123-def"
get_trace_log
Get step-by-step payload trace for a message (requires trace mode enabled on the iFlow).
| Parameter | Type | Required | Description | |---|---|---|---| | messageId | string | Yes | The CPI message GUID |
Example prompt: "Show me the trace log for message abc-123-def"
Integration Content
list_packages
List all integration packages in the tenant.
Example prompt: "What integration packages do I have in CPI?"
list_artifacts
List all artifacts in a package.
| Parameter | Type | Required | Description | |---|---|---|---| | packageId | string | Yes | The integration package ID |
Example prompt: "List all iFlows in the HR_Integration package"
get_artifact
Get metadata and configuration for a specific artifact.
| Parameter | Type | Required | Description | |---|---|---|---| | artifactId | string | Yes | The artifact ID | | artifactType | string | Yes | IntegrationFlow, MessageMapping, ScriptCollection, or ValueMapping |
deploy_artifact
Deploy an artifact version to the runtime.
| Parameter | Type | Required | Description | |---|---|---|---| | artifactId | string | Yes | The artifact ID | | artifactType | string | No | Default: IntegrationFlow |
Example prompt: "Deploy the Employee_Sync iFlow"
undeploy_artifact
Undeploy an artifact from the runtime.
| Parameter | Type | Required | Description | |---|---|---|---| | artifactId | string | Yes | The artifact ID |
Security Artifacts
list_credentials
List all user credential (basic auth) aliases.
Example prompt: "What credentials are configured in CPI?"
list_keystores
List all keystore entries with alias and expiry date.
Example prompt: "Are any of my CPI certificates expiring soon?"
list_oauth_credentials
List all OAuth2 client credential configurations.
Runtime Status
get_runtime_artifacts
List all deployed runtime artifacts with status (STARTED, STOPPED, ERROR).
Example prompt: "Which iFlows are currently in ERROR state?"
get_system_status
Get a summary of deployed artifact health.
Example prompt: "Give me a CPI system health check"
Example conversations
Diagnose a failed message: > "Why did my HREmployeeSync iFlow fail? Show me the last error."
Check certificates: > "List all keystore entries in CPI and flag any expiring within 90 days."
Deploy after a fix: > "Deploy the Order_Processing iFlow to the runtime."
Audit credentials: > "What OAuth2 credentials are configured in my CPI tenant?"
System overview: > "Give me a health check — how many iFlows are running vs in error?"
Local development
git clone https://github.com/prudvigit/mcp-sap-cpi.git
cd mcp-sap-cpi
npm install
cp .env.example .env
# fill in your CPI credentials in .env
npm run dev
Roadmap
- [ ] Value mapping query tool
- [ ] Alert management tools
- [ ] iFlow content download (for AI-assisted review)
- [ ] Integration with tics-sap-ai-suite
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Keelside
- Source: Keelside/mcp-sap-cpi
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.