Skip to main content
Glama
alexraio

SAP BusinessObjects MCP Server

by alexraio

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAP_BO_PASSWORDNoDefault password for the login tool
SAP_BO_USERNAMENoDefault username for the login tool
SAP_BO_REST_API_URLYesURL to SAP BI Platform REST Web Services (biprws)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
loginA

Log in to the SAP BusinessObjects BI Platform. Establishes an active enterprise session and acquires a logon token (X-SAP-LogonToken). If username/password are omitted, values from .env are used automatically.

logoutA

Log out from the SAP BusinessObjects platform and invalidate the active session token.

get_universesA

Retrieves all published Universes (UNX and UNV) from the BI platform. Returns a list of objects containing 'id', 'name', and 'folderId'.

get_universe_detailsC

Retrieves detailed metadata of a specific Universe (engine type: 'unx' or 'unv', name, CUID).

get_universe_structureB

Retrieves the complete business layer hierarchy (classes, dimensions, measures, attributes) of a universe using the Semantic Layer REST API (/sl/v1/universes/{id}).

get_universe_related_reportsB

Queries the CMS to discover all Web Intelligence reports built on top of a specific universe. Returns universe ID, name, universe type, and the list of related Webi report IDs.

get_universe_connection_idC

Retrieves the Data Connection ID associated with a Universe.

get_documentsB

Retrieves a paginated list of Web Intelligence documents from the repository. Returns document ID, CUID, name, folder ID, and last updated timestamp.

get_doc_detailsC

Retrieves metadata of a Webi report (name, repository folder path, CUID, scheduled status, and state).

get_doc_propertiesB

Retrieves document configuration properties (refreshOnOpen, usePersonalData, formatting locale).

save_webi_docA

Saves a Web Intelligence document in place (if webi_doc_name is omitted), or saves/overwrites it with a specified name (Save As). Preserves user comments and annotations.

delete_webi_docB

Permanently deletes a Web Intelligence document from the repository.

get_doc_parametersB

Retrieves all prompt parameters required by a Web Intelligence report. Returns parameter ID, prompt question/name, technical name, data type, and whether it is mandatory or optional.

get_parameter_lovC

Retrieves the List of Values (LOV) allowed for a constrained prompt parameter in a Webi document.

refresh_webi_docB

Refreshes a Web Intelligence document. If the report requires prompts, answers can be passed as a list of objects, e.g. [{"id": 0, "value": "2026"}, {"id": 1, "value": ["Region A", "Region B"]}].

get_reportsB

Lists all sheets/tabs in a Web Intelligence document (returns report IDs and tab names).

get_report_elementsC

Lists all visual and data elements (tables, charts, sections) inside a report sheet/tab.

get_report_element_dataB

Extracts structured tabular data rows from a table or chart block in a report tab. Caps output to max_rows (default 1000) to protect LLM context windows. Returns column names and a list of dictionary rows.

get_variablesC

Retrieves all custom formulas and calculated variables defined inside a Webi document.

get_commentsB

Retrieves collaborative user comments and cell annotations in a Webi document.

get_dpB

Lists all Data Provider identifiers (e.g. 'DP0', 'DP1') within a Webi document.

get_dp_detailsB

Retrieves metadata of a specific Data Provider (data source name, ID, type, and update status).

get_dp_sqlC

Extracts the generated SQL query statement of a Data Provider.

get_dp_specificationC

Retrieves the query specification tree (result objects, query filters, sort rules) of a Data Provider.

refresh_dpB

Refreshes a single Data Provider without recalculating the rest of the report.

purge_dpC

Purges cached data rows from a specific Data Provider to reduce document storage size.

get_dp_mapping_proposalA

Generates and evaluates a Change Data Source mapping proposal for a Data Provider. Simulates repointing a Web Intelligence query to a target universe (e.g. UNV to UNX or repointed UNX) and reports matching status ('Ok', 'Ambiguous', 'NotFound') for all objects.

Mapping Strategies (evaluated in sequence):

  • SameID: Matches objects having identical unique IDs. Recommended for UNV->UNX converted via IDT (100% precision).

  • SamePath: Matches objects by full folder hierarchy path (e.g. [Folder]/[Subfolder]/[Object]). Distinguishes homonyms safely.

  • SameTechnicalName: Matches objects by underlying database column or technical field name.

  • SameName: Matches objects by display name across any folder reorganization.

  • CloseName: Fuzzy string distance matching (Levenshtein). Helpful for minor typos/casing, but caution recommended.

Recommended default: 'SameID,SamePath,SameName'.

change_dp_datasourceA

Executes Change Data Source on a Web Intelligence Data Provider (e.g. migrating UNV to UNX or repointing universes). Generates mapping proposal using evaluated strategies, applies any custom mapping overrides, submits changes to Raylight, and optionally saves the document permanently in the repository.

Parameters: webi_doc_id: ID of the Web Intelligence document. dp_id: Data Provider identifier (e.g. 'DP0'). target_datasource_id: ID of the target universe (UNX or UNV). strategies: Comma-separated list of strategies (default: 'SameID,SamePath,SameName'). custom_mappings: Optional list of explicit overrides, e.g. [{"source_id": "OBJ_147", "target_id": "OBJ_147"}]. save: If True (default), permanently commits changes to the repository via in-place save.

cms_queryB

Executes an arbitrary SQL-like query against the CMS repository tables (CI_INFOOBJECTS, CI_APPOBJECTS, CI_SYSTEMOBJECTS). Examples:

  • 'SELECT SI_ID, SI_NAME FROM CI_INFOOBJECTS WHERE SI_KIND = "Webi"'

  • 'SELECT SI_ID, SI_NAME, SI_LASTLOGONTIME FROM CI_SYSTEMOBJECTS WHERE SI_KIND = "User"'

get_usersC

Lists user accounts in the BI platform repository (ID, username, email, disabled status, last logon).

get_user_detailsB

Retrieves full profile properties of a specific user ID.

set_user_statusC

Enables (disabled=False) or disables (disabled=True) a user account in the BI platform.

get_user_groupsC

Retrieves all User Groups configured in the BI platform along with member counts.

get_group_usersB

Lists all users that are members of a specific User Group.

get_active_sessionsA

Monitors active connections and user sessions currently open on the Central Management Server.

terminate_sessionB

Forcibly disconnects and terminates an active user session by connection ID.

get_doc_schedulesB

Lists scheduled execution rules defined for a Web Intelligence document.

get_doc_instancesB

Retrieves historical run instances of a Webi report, including execution status (Success, Failed, Running) and execution timestamps.

get_instance_detailsB

Retrieves detailed diagnostic information for a specific instance run, including failure error messages and file sizes.

delete_instanceC

Deletes a historical report execution instance from the CMS repository.

get_foldersB

Gets all subfolder IDs recursively starting from a root folder ID.

get_folder_detailsB

Retrieves metadata of a repository folder (name, CUID, parent ID, description).

create_folderC

Creates a new folder in the InfoStore repository under a parent folder.

delete_folderC

Permanently deletes a folder from the InfoStore repository.

get_webi_docsB

Lists all Web Intelligence document IDs located directly inside a repository folder.

get_categoriesA

Lists all Corporate Categories defined in the BI platform repository.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 46 tools

Disambiguation4/5

Most tools target a clearly distinct resource+action (universe metadata vs. structure, document details vs. properties vs. parameters, each data-provider aspect separately). A few boundaries blur, notably get_documents vs. get_webi_docs and get_reports (sheets) which could momentarily confuse, but descriptions disambiguate them adequately.

Naming Consistency4/5

Strong, predictable verb_noun snake_case throughout with consistent prefixes (get_universe_*, get_doc_*, get_dp_*, create_*, delete_*, refresh_*). Minor deviations like cms_query (noun_verb) and verbless login/logout are the only irregularities.

Tool Count2/5

46 tools is very high even for a complex BI platform, and several thin getters (e.g. get_dp_details, get_dp_sql, get_universe_connection_id) could be consolidated into richer calls. The surface is heavy enough that tool selection becomes a burden for an agent.

Completeness4/5

Broad lifecycle coverage across universes, documents, data providers, folders, users/groups, sessions, schedules, instances, and raw CMS queries. Gaps remain (no user/group creation, no document creation or schedule triggering, no comment posting), but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues