mcp-sap-cpi

mcp-sap-cpi

Connects Claude to SAP Cloud Platform Integration (CPI) to diagnose failed messages, review iFlows, deploy artifacts, and check credentials directly from your conversation.

Category
Visit Server

README

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-rt plan)

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:

  1. Go to your subaccount → Services → Instances and Subscriptions
  2. Create a service instance: Process Integration Runtime → plan it-rt
  3. Create a service key → copy the JSON

From the service key JSON, extract:

  • url → CPI_TENANT_URL
  • tokenurl → CPI_TOKEN_URL
  • clientid → CPI_CLIENT_ID
  • clientsecret → CPI_CLIENT_SECRET

2. Set environment variables

Create a .env file (or set in your Claude Desktop config — see below):

CPI_TENANT_URL=https://<tenant>.it-cpi.cfapps.<region>.hana.ondemand.com
CPI_TOKEN_URL=https://<subdomain>.authentication.<region>.hana.ondemand.com/oauth/token
CPI_CLIENT_ID=sb-<your-client-id>
CPI_CLIENT_SECRET=<your-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://<tenant>.it-cpi.cfapps.<region>.hana.ondemand.com",
        "CPI_TOKEN_URL": "https://<subdomain>.authentication.<region>.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://<tenant>.it-cpi.cfapps.<region>.hana.ondemand.com \
  -e CPI_TOKEN_URL=https://<subdomain>.authentication.<region>.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 HR_Employee_Sync 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured