naftiko: 1.0.0-alpha2 info: label: SAP BI Tools Analytics Content Management description: Unified workflow capability for managing analytics content across SAP Analytics Cloud, including story lifecycle management, content network publishing, and file repository governance. Used by BI administrators and content authors. tags: - Analytics - Business Intelligence - Content Management - SAP created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: SAP_AC_OAUTH_TOKEN: SAP_AC_OAUTH_TOKEN capability: consumes: - type: http namespace: analytics-cloud baseUri: https://{tenant}.{datacenter}.sapanalytics.cloud description: SAP Analytics Cloud REST API for managing stories, resources, users, and teams. authentication: type: bearer token: '{{SAP_AC_OAUTH_TOKEN}}' resources: - name: stories path: /api/v1/stories description: Manage analytic stories including dashboards and reports. operations: - name: list-stories method: GET description: List all stories available on the SAP Analytics Cloud tenant. inputParameters: - name: include in: query type: string required: false description: Comma-separated related resources to include (e.g., models) outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-story method: GET description: Get a story by its unique ID. inputParameters: - name: storyId in: path type: string required: true description: The unique identifier of the story - name: include in: query type: string required: false description: Comma-separated related resources to include outputRawFormat: json outputParameters: - name: result type: object value: $. - name: resources path: /api/v1/Resources description: Browse and manage resources in the SAP Analytics Cloud file repository. operations: - name: list-resources method: GET description: List resources including stories, models, and folders. inputParameters: - name: resourceType in: query type: string required: false description: Filter by resource type (STORY, MODEL, FOLDER) - name: $top in: query type: integer required: false description: Maximum number of records to return - name: $skip in: query type: integer required: false description: Number of records to skip for pagination outputRawFormat: json outputParameters: - name: result type: array value: $. - name: users path: /api/v1/scim2/Users description: SCIM 2.0 endpoints for managing user accounts. operations: - name: list-users method: GET description: List users using SCIM 2.0 protocol. inputParameters: - name: filter in: query type: string required: false description: SCIM 2.0 filter expression - name: count in: query type: integer required: false description: Maximum results per page outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-user method: POST description: Create a new user using SCIM 2.0 protocol. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: userName: '{{tools.userName}}' displayName: '{{tools.displayName}}' - name: get-user method: GET description: Get a user by ID using SCIM 2.0. inputParameters: - name: userId in: path type: string required: true description: The unique identifier of the user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-user method: PUT description: Update a user record using SCIM 2.0. inputParameters: - name: userId in: path type: string required: true description: The unique identifier of the user outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: userName: '{{tools.userName}}' - name: delete-user method: DELETE description: Delete a user from SAP Analytics Cloud. inputParameters: - name: userId in: path type: string required: true description: The unique identifier of the user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: teams path: /api/v1/scim2/Groups description: SCIM 2.0 endpoints for managing teams and group memberships. operations: - name: list-teams method: GET description: List teams using SCIM 2.0 protocol. inputParameters: - name: filter in: query type: string required: false description: SCIM 2.0 filter expression outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-team method: POST description: Create a new team using SCIM 2.0 protocol. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: displayName: '{{tools.displayName}}' - name: calendars path: /api/v1/calendars description: Manage calendar events and tasks for planning workflows. operations: - name: list-calendars method: GET description: List calendar events and planning tasks. outputRawFormat: json outputParameters: - name: result type: array value: $. - type: http namespace: analytics-cloud-content-network baseUri: https://{tenant}.{datacenter}.sapanalytics.cloud description: SAP Analytics Cloud Content Network REST API for sharing and importing content packages. authentication: type: bearer token: '{{SAP_AC_OAUTH_TOKEN}}' resources: - name: content-items path: /api/v1/contentnetwork/items description: Content items in the Content Network. operations: - name: list-content-items method: GET description: List content items available in the Content Network. inputParameters: - name: type in: query type: string required: false description: Filter by content item type - name: visibility in: query type: string required: false description: Filter by visibility (PRIVATE or PUBLIC) outputRawFormat: json outputParameters: - name: result type: array value: $. - name: publish-content-item method: POST description: Publish a content item to the Content Network. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' resourceId: '{{tools.resourceId}}' visibility: '{{tools.visibility}}' - name: get-content-item method: GET description: Get a content item by its unique ID. inputParameters: - name: itemId in: path type: string required: true description: The unique identifier of the content item outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-content-item method: DELETE description: Delete a content item from the Content Network. inputParameters: - name: itemId in: path type: string required: true description: The unique identifier of the content item outputRawFormat: json outputParameters: - name: result type: object value: $. - name: import-content-item method: POST description: Import a content item from the Content Network into the local tenant. inputParameters: - name: itemId in: path type: string required: true description: The unique identifier of the content item to import outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: targetFolderId: '{{tools.targetFolderId}}' overwrite: '{{tools.overwrite}}' exposes: - type: rest port: 8080 namespace: analytics-content-management-api description: Unified REST API for SAP Analytics Cloud content lifecycle management. resources: - path: /v1/stories name: stories description: Analytics story management. operations: - method: GET name: list-stories description: List all analytics stories on the tenant. call: analytics-cloud.list-stories outputParameters: - type: array mapping: $. - path: /v1/stories/{storyId} name: story description: Single analytics story. operations: - method: GET name: get-story description: Get a story by ID. call: analytics-cloud.get-story with: storyId: rest.storyId outputParameters: - type: object mapping: $. - path: /v1/resources name: resources description: File repository resources. operations: - method: GET name: list-resources description: List repository resources (stories, models, folders). call: analytics-cloud.list-resources outputParameters: - type: array mapping: $. - path: /v1/content-items name: content-items description: Content Network items. operations: - method: GET name: list-content-items description: List Content Network items. call: analytics-cloud-content-network.list-content-items outputParameters: - type: array mapping: $. - path: /v1/content-items/{itemId} name: content-item description: Single Content Network item. operations: - method: GET name: get-content-item description: Get a content item by ID. call: analytics-cloud-content-network.get-content-item with: itemId: rest.itemId outputParameters: - type: object mapping: $. - path: /v1/calendars name: calendars description: Planning calendars. operations: - method: GET name: list-calendars description: List calendar events and planning tasks. call: analytics-cloud.list-calendars outputParameters: - type: array mapping: $. - type: mcp port: 9080 namespace: analytics-content-management-mcp transport: http description: MCP server for AI-assisted SAP Analytics Cloud content management. tools: - name: list-stories description: List all analytics stories on the SAP Analytics Cloud tenant. hints: readOnly: true openWorld: true call: analytics-cloud.list-stories outputParameters: - type: array mapping: $. - name: get-story description: Get details of a specific analytics story by ID. hints: readOnly: true openWorld: false call: analytics-cloud.get-story with: storyId: tools.storyId outputParameters: - type: object mapping: $. - name: list-resources description: List file repository resources (stories, models, folders). hints: readOnly: true openWorld: true call: analytics-cloud.list-resources outputParameters: - type: array mapping: $. - name: list-content-items description: List content items in the SAP Analytics Cloud Content Network. hints: readOnly: true openWorld: true call: analytics-cloud-content-network.list-content-items outputParameters: - type: array mapping: $. - name: publish-content-item description: Publish a local analytics artifact to the Content Network for sharing. hints: readOnly: false openWorld: false call: analytics-cloud-content-network.publish-content-item with: name: tools.name resourceId: tools.resourceId outputParameters: - type: object mapping: $. - name: import-content-item description: Import a content package from the Content Network into the local tenant. hints: readOnly: false openWorld: false call: analytics-cloud-content-network.import-content-item with: itemId: tools.itemId outputParameters: - type: object mapping: $. - name: list-calendars description: List planning calendar events and collaborative tasks. hints: readOnly: true openWorld: true call: analytics-cloud.list-calendars outputParameters: - type: array mapping: $.