JS

jumenengels/sap_analytics_cloud_mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

17 stars 14 forks 质量 63 趋势 21MIT

一个SAP分析云的MCP(模式上下文协议)服务器. 把克劳德和Cursor等LLMs连接到SAC,用于数据导出,内容管理和智能查询.

概览

一个MCP(模式上下文协议)服务器,将SAP分析云REST API曝光为任何MCP相容客户端所消耗的90个工具(Custom Agent, Claude Desktop, Claude Code, Cursor等). 服务器对 SAC 租户使用 OAuth 2. 0 客户端证书进行认证,并自动管理 CSRF 令牌和会话 cookie 。 然后将SAC REST API的完整表面暴露为分为11个服务领域的离散的MCP工具: 外加接通互联互通检查工具(共计90个),并支援有指引的工作流程. - (本地取取和Headers.getSetCookie需要) - SAP分析云租户,有OAuth客户端(见下文)。 1. 开放你的SAC租户并前往. 2. 确定目标 3. 注意以下四个值: -- -- https://.sapanalytics.cloud -- -- 在OAuth客户端详细页上显示 -- -- 本地测试服务器( 在进行上面的 mcp 设置之后) 最简单的方法就是使用包含的 .

概述(AI 翻译)

一个MCP(模式上下文协议)服务器,将SAP分析云REST API曝光为任何MCP相容客户端所消耗的90个工具(Custom Agent, Claude Desktop, Claude Code, Cursor等).

它会做什么#

服务器对 SAC 租户使用 OAuth 2. 0 客户端证书进行认证,并自动管理 CSRF 令牌和会话 cookie 。 然后将SAC REST API的完整表面暴露为分为11个服务领域的离散的MCP工具:

模块 工具 封面 |.

  • 内容 * 10 * 故事、 资源、 文件存储器、 存储器、 部件查询 * 。 数据导出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 出 QQ 数据导入 24 QQ 模型,导入工作生命周期(创建/上载/验证/运行/状态),一击导入,公有维度,货币转换,单位转换 QQ 执行和民意调查状况 获得、更新、复制日历事件
  • 内容运输 * 7 * 进出口工作、软件包、权限 * QQ用户管理 QQ 10 SCIM v2 用户,团队/组,批量操作 QQ

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

SAP Analytics Cloud MCP Server

An MCP (Model Context Protocol) server that exposes the SAP Analytics Cloud REST API as 90 tools consumable by any MCP-compatible client (Custom Agent, Claude Desktop, Claude Code, Cursor, etc.).

What it does

The server authenticates against an SAC tenant using OAuth 2.0 Client Credentials and manages CSRF tokens and session cookies automatically. It then exposes the full SAC REST API surface as discrete MCP tools grouped into 11 service areas:

Module Tools Covers
Content 10 Stories, Resources, File Repository, Repositories, Widget Query
Data Export 22 Namespaces, Providers, Subscriptions, FactData, MasterData, AuditData, Aggregation, Difference, Currency/Unit tables, Public Dimensions
Data Import 24 Models, Import Jobs lifecycle (create/upload/validate/run/status), One-click Import, Public Dimensions, Currency Conversions, Unit Conversions
Multi Actions 2 Execute and poll status
Calendar 3 Get, update, copy calendar events
Content Transport 7 Export/import jobs, packages, permissions
User Management 10 SCIM v2 Users, Teams/Groups, Bulk operations
Monitoring 2 Audit activity export, model monitoring
Schedule & Publication 4 Schedule CRUD
Translation 4 Artifact metadata, XLIFF download (single + bulk)
Smart Query 1 Intelligent routing (Relational vs Analytical)

Plus a ping connectivity check tool (90 total), and Prompt support for guided workflows.

Prerequisites

  • Node.js >= 18.0 (required for native fetch and Headers.getSetCookie)
  • npm
  • An SAP Analytics Cloud tenant with an OAuth client (see below).

SAC Tenant Setup

  1. Open your SAC tenant and go to System > Administration > App Integration > Add a New OAuth Client.
  2. Set the purpose to Interactive Usage and API Access.
  3. Note down the following four values:
    • Base URL – https://..sapanalytics.cloud
    • Token URL – shown on the OAuth client detail page
    • Client ID
    • Client Secret

Installation & Build

git clone https://github.com/JumenEngels/sap_analytics_cloud_mcp
cd sap_analytics_cloud_mcp
npm install
npm run build

Quick Start: Agent Client

The easiest way to test the server locally (after doing mcp setup above) is using the included Agent Client. It connects to the server and uses an LLM (SAP AI Core, Anthropic, OpenAI, etc.) to interact with your SAC tenant.

1. Setup Configuration

Navigate to the client directory and run the setup script:

cd AgentClient
npm install
npm run setup

This creates mcp_agentclient.json. Open this file and fill in your credentials:

  1. SAC Credentials: Fill in sac section with the values from “SAC Tenant Setup”.
在 GitHub 查看完整 README

安装

docker run -e SAC_BASE_URL="..." ... sac-mcp-server
新手?先看 mcpskill.org 教程 →