sap_analytics_cloud_mcp
An MCP (Model Context Protocol) server for SAP Analytics Cloud. Connects LLMs like Claude and Cursor to SAC for data export, content management, and smart queries.
claude mcp add --transport stdio jumenengels-sap_analytics_cloud_mcp node build/index.js \ --env SAC_BASE_URL="https://<tenant>.<datacenter>.sapanalytics.cloud" \ --env SAC_CLIENT_ID="<your-oauth-client-id>" \ --env SAC_TOKEN_URL="https://<tenant>.authentication.<datacenter>.hana.ondemand.com/oauth/token" \ --env SAC_CLIENT_SECRET="<your-oauth-client-secret>"
How to use
This MCP server exposes the SAP Analytics Cloud REST API as a collection of MCP tools organized into 11 service areas (Content, Data Export, Data Import, Multi Actions, Calendar, Content Transport, User Management, Monitoring, Schedule & Publication, Translation, and Smart Query) plus a ping tool and guided Prompts. It authenticates to your SAC tenant via OAuth 2.0 Client Credentials, manages CSRF tokens and session cookies, and then surface all SAC REST endpoints as discrete MCP tools you can call through any MCP-compatible client. You can use this by running the Node-based server and connecting clients such as Claude Desktop, Cursor, Claude Code, or other MCP clients to invoke the individual tools (for example, fetching Stories, exporting data, or running a calendar operation).
For Claude Desktop or Cursor, configure the MCP client to point at the running server (usually via the host/port and your environment config). The server's tools are grouped by SAC surface areas; you can call specific tools like Content > Stories, Data Export > Namespaces, or Translation > XLIFF downloads. A dedicated ping tool allows quick connectivity checks, and there are Prompts to guide common workflows (explore_content, analyze_story, system_health_check). The Smart Query tool routes queries intelligently between relational and analytical SAC endpoints based on SQL patterns.
You can also use the included Agent Client workflow by configuring SAC credentials and LLM integrations in the AgentClient setup, which enables an LLM-powered interface to issue SAC REST calls through the MCP server.
How to install
Prerequisites
- Node.js v18.x or newer
- npm (comes with Node.js)
- Git
- Access to an SAP Analytics Cloud tenant and an OAuth client (as described in the README)
Install and build
# Clone the repository
git clone https://github.com/JumenEngels/sap_analytics_cloud_mcp
cd sap_analytics_cloud_mcp
# Install dependencies
npm install
# Build the server (produces build/index.js or equivalent)
npm run build
Configure environment variables (example)
- SAC_BASE_URL: https://<tenant>.<datacenter>.sapanalytics.cloud
- SAC_TOKEN_URL: https://<tenant>.authentication.<datacenter>.hana.ondemand.com/oauth/token
- SAC_CLIENT_ID: your OAuth client id
- SAC_CLIENT_SECRET: your OAuth client secret
Run the server (as Node.js MCP server)
# Start the MCP server (as configured in mcp_config.json or via your orchestrator)
npm start
Optional: build and run with Docker (if you prefer containerized deployment)
# Build docker image
docker build -t sac-mcp-server .
# Run image with environment variables wired
docker run -e SAC_BASE_URL="https://<tenant>.<datacenter>.sapanalytics.cloud" \
-e SAC_TOKEN_URL="https://<tenant>.authentication.<datacenter>.hana.ondemand.com/oauth/token" \
-e SAC_CLIENT_ID="<client-id>" \
-e SAC_CLIENT_SECRET="<client-secret>" \
sac-mcp-server
Additional notes
- The server reads four required environment variables at runtime: SAC_BASE_URL, SAC_TOKEN_URL, SAC_CLIENT_ID, and SAC_CLIENT_SECRET. Ensure these are set in the runtime environment for your OAuth client and SAC tenant.
- The mcp_config.json file (generated by the setup process) should be populated with your SAC credentials for Claude Desktop or other MCP clients. If you are using Claude Desktop, you can run npm run setup to generate the file and then copy its contents into your client configuration.
- Some tools modify data and may require an allowalteration=true parameter to enable write operations. Ensure your clients supply this when performing mutating actions.
- The Smart Query tool can route queries to the OData API for relational data or to the Widget Query API for analytical workloads. Use it to leverage SAC’s data capabilities efficiently.
- If you encounter connectivity issues, verify that SAC_BASE_URL, SAC_TOKEN_URL, SAC_CLIENT_ID, and SAC_CLIENT_SECRET are correct and that the OAuth client is configured for the proper tenant and data center region.
Related MCP Servers
gemini-cli
An open-source AI agent that brings the power of Gemini directly into your terminal.
cap -plugin
MCP (Model Context Protocol) server plugin for CAP NodeJS
mcp -js
MCP server that exposes YepCode processes as callable tools for AI platforms. Securely connect AI assistants to your YepCode workflows, APIs, and automations.
architect
A powerful, self-extending MCP server for dynamic AI tool orchestration. Features sandboxed JS execution, capability-based security, automated rate limiting, marketplace integration, and a built-in monitoring dashboard. Built for the Model Context Protocol (MCP).
MCP s
A Model Context Protocol (MCP) server that provides AI assistants with access to Microsoft OneNote. This server enables AI models to read from and write to OneNote notebooks, sections, and pages.
remote s
Explore a community-maintained list of remote Model Context Protocol (MCP) servers. Find, learn about, and check the reachability of MCP-enabled services.