SAP BusinessObjects MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAP_BO_PASSWORD | No | Default password for the login tool | |
| SAP_BO_USERNAME | No | Default username for the login tool | |
| SAP_BO_REST_API_URL | Yes | URL 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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):
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:
|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 46 tools
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.
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.
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.
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.