naftiko: 1.0.0-alpha2 info: label: Sisense Analytics Administration description: Unified analytics administration workflow for Sisense BI platform management. Combines dashboard management, user and group access control, Elasticube data model management, and data security rule configuration. Used by BI administrators, OEM partners, and DevOps teams automating Sisense platform operations. tags: - Analytics - Business Intelligence - Dashboards - Administration - Data Security created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: SISENSE_API_TOKEN: SISENSE_API_TOKEN SISENSE_HOST: SISENSE_HOST capability: consumes: - type: http namespace: sisense baseUri: https://{{SISENSE_HOST}}/api/v1 description: Sisense REST API v1 for analytics platform management authentication: type: bearer token: '{{SISENSE_API_TOKEN}}' resources: - name: dashboards path: /dashboards description: Manage analytics dashboards operations: - name: list-dashboards method: GET description: List dashboards accessible to the authenticated user inputParameters: - name: limit in: query type: integer required: false description: Maximum number of results - name: skip in: query type: integer required: false description: Number of results to skip - name: fields in: query type: string required: false description: Comma-separated fields to include outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-dashboard method: POST description: Create a new dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: title: '{{tools.title}}' desc: '{{tools.desc}}' - name: dashboard path: /dashboards/{id} description: Manage a specific dashboard operations: - name: get-dashboard method: GET description: Get a specific dashboard by ID inputParameters: - name: id in: path type: string required: true description: Dashboard identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-dashboard method: DELETE description: Delete a dashboard inputParameters: - name: id in: path type: string required: true description: Dashboard identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-admin path: /dashboards/admin description: Admin-level dashboard access operations: - name: list-all-dashboards method: GET description: List all dashboards across all users (admin only) inputParameters: - name: limit in: query type: integer required: false description: Maximum number of results - name: skip in: query type: integer required: false description: Results to skip outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users path: /users description: Manage platform users operations: - name: list-users method: GET description: List users in the system inputParameters: - name: limit in: query type: integer required: false description: Maximum number of results outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-user method: POST description: Create a new user outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: email: '{{tools.email}}' firstName: '{{tools.firstName}}' lastName: '{{tools.lastName}}' role: '{{tools.role}}' - name: user path: /users/{id} description: Manage a specific user operations: - name: get-user method: GET description: Get a user by ID inputParameters: - name: id in: path type: string required: true description: User identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-user method: DELETE description: Delete a user inputParameters: - name: id in: path type: string required: true description: User identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: groups path: /groups description: Manage user groups operations: - name: list-groups method: GET description: List user groups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-group method: POST description: Create a new user group outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' - name: elasticubes path: /elasticubes/getElasticubes description: List Elasticube data models operations: - name: list-elasticubes method: GET description: List all Elasticube data models outputRawFormat: json outputParameters: - name: result type: object value: $. - name: data-security path: /elasticubes/{server}/{elasticube}/datasecurity description: Manage data security rules for Elasticubes operations: - name: get-data-security-rules method: GET description: Get all data security rules for an Elasticube inputParameters: - name: server in: path type: string required: true description: Server name (use LocalHost for single-node) - name: elasticube in: path type: string required: true description: Elasticube title outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-data-security-rule method: POST description: Create a data security rule for an Elasticube inputParameters: - name: server in: path type: string required: true description: Server name - name: elasticube in: path type: string required: true description: Elasticube title outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: column: '{{tools.column}}' table: '{{tools.table}}' members: '{{tools.members}}' exposes: - type: rest port: 8080 namespace: analytics-administration-api description: Unified REST API for Sisense analytics platform administration. resources: - path: /v1/dashboards name: dashboards description: Manage analytics dashboards operations: - method: GET name: list-dashboards description: List user-accessible dashboards call: sisense.list-dashboards with: limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - method: POST name: create-dashboard description: Create a new analytics dashboard call: sisense.create-dashboard outputParameters: - type: object mapping: $. - path: /v1/dashboards/{id} name: dashboard description: Manage a specific dashboard operations: - method: GET name: get-dashboard description: Get dashboard details call: sisense.get-dashboard with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: delete-dashboard description: Delete a dashboard call: sisense.delete-dashboard with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/admin/dashboards name: admin-dashboards description: Admin dashboard access operations: - method: GET name: list-all-dashboards description: List all dashboards (admin) call: sisense.list-all-dashboards outputParameters: - type: object mapping: $. - path: /v1/users name: users description: Manage platform users operations: - method: GET name: list-users description: List all users call: sisense.list-users outputParameters: - type: object mapping: $. - method: POST name: create-user description: Create a new user call: sisense.create-user outputParameters: - type: object mapping: $. - path: /v1/users/{id} name: user description: Manage a specific user operations: - method: GET name: get-user description: Get user details call: sisense.get-user with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: delete-user description: Remove a user call: sisense.delete-user with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/groups name: groups description: Manage user groups operations: - method: GET name: list-groups description: List user groups call: sisense.list-groups outputParameters: - type: object mapping: $. - method: POST name: create-group description: Create a user group call: sisense.create-group outputParameters: - type: object mapping: $. - path: /v1/elasticubes name: elasticubes description: Manage Elasticube data models operations: - method: GET name: list-elasticubes description: List all Elasticubes call: sisense.list-elasticubes outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: analytics-administration-mcp transport: http description: MCP server for AI-assisted Sisense analytics platform administration. tools: - name: list-dashboards description: List analytics dashboards accessible to the current user hints: readOnly: true openWorld: true call: sisense.list-dashboards outputParameters: - type: object mapping: $. - name: list-all-dashboards description: List all dashboards across all users (admin access required) hints: readOnly: true openWorld: false call: sisense.list-all-dashboards outputParameters: - type: object mapping: $. - name: get-dashboard description: Get details for a specific dashboard including its configuration hints: readOnly: true openWorld: false call: sisense.get-dashboard with: id: tools.id outputParameters: - type: object mapping: $. - name: create-dashboard description: Create a new analytics dashboard in Sisense hints: readOnly: false destructive: false call: sisense.create-dashboard with: title: tools.title desc: tools.desc outputParameters: - type: object mapping: $. - name: delete-dashboard description: Delete an analytics dashboard hints: readOnly: false destructive: true idempotent: true call: sisense.delete-dashboard with: id: tools.id outputParameters: - type: object mapping: $. - name: list-users description: List all users in the Sisense platform hints: readOnly: true openWorld: false call: sisense.list-users outputParameters: - type: object mapping: $. - name: create-user description: Create a new Sisense user with specified role and group assignments hints: readOnly: false destructive: false call: sisense.create-user with: email: tools.email firstName: tools.firstName lastName: tools.lastName role: tools.role outputParameters: - type: object mapping: $. - name: get-user description: Get details for a specific user account hints: readOnly: true openWorld: false call: sisense.get-user with: id: tools.id outputParameters: - type: object mapping: $. - name: delete-user description: Remove a user from the Sisense platform hints: readOnly: false destructive: true idempotent: true call: sisense.delete-user with: id: tools.id outputParameters: - type: object mapping: $. - name: list-groups description: List user groups configured for access control hints: readOnly: true openWorld: false call: sisense.list-groups outputParameters: - type: object mapping: $. - name: create-group description: Create a new user group for organizing access control hints: readOnly: false destructive: false call: sisense.create-group with: name: tools.name description: tools.description outputParameters: - type: object mapping: $. - name: list-elasticubes description: List all Elasticube data models in the Sisense platform hints: readOnly: true openWorld: false call: sisense.list-elasticubes outputParameters: - type: object mapping: $. - name: get-data-security-rules description: Get row-level data security rules configured for an Elasticube hints: readOnly: true openWorld: false call: sisense.get-data-security-rules with: server: tools.server elasticube: tools.elasticube outputParameters: - type: object mapping: $.