BI Portal Report Builder MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BI_PORTAL_TOKEN | Yes | Bearer token for authentication. For delegated mode, a PAT (pat_...) from the backend. For fixed mode, a service identity token (svc_...). | |
| BI_PORTAL_BASE_URL | Yes | Base URL of the BI Portal backend API, e.g. http://localhost:8000 | |
| BI_PORTAL_AUTH_MODE | No | Identity mode: 'delegated' (default) acts as a real logged-in human, 'fixed' acts as a standing service identity. | delegated |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_datasetsA | List every dataset the caller's identity can query. Each entry includes the
dataset key, label, owning domain, and its columns — each column's key, label,
kind (dimension/measure), data type, allowed aggregations, and whether it
supports date bucketing. Use a column's |
| run_explore_queryA | Run a live, ad-hoc aggregate query against a whitelisted dataset — a preview,
never persisted. Pick |
| create_draft_reportA | Create a new draft report in the caller's personal workspace — visible only
to the caller until submitted. |
| update_draft_reportA | Edit a report while it's still in draft or rejected status — the backend 409s otherwise. Only fields you pass are changed. |
| get_reportB | Fetch a report's metadata: title, status, dashboard_kind, and its full config_json. |
| submit_reportA | Submit a draft/rejected report for review — moves it to 'submitted' status, visible to that domain's reviewers. Requires author-tier access to the report's target domain (Member, ReportGen, or domain-Admin). |
| view_report_builder_dashboardA | View a saved multi-section report_builder report — every section's rows plus one Claude-generated insight synthesized across all sections. Works for any report the caller can view (draft they own, or published in a domain they have at least Readonly access to). |
| view_custom_query_dashboardA | View a saved single-query custom_query report — its rows, chosen visualization, and a Claude-generated insight. |
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 8 tools
Each tool occupies a distinct role in the dataset-query-draft-submit-view pipeline. The two view tools are clearly separated by dashboard_kind, and list_datasets vs run_explore_query are unambiguous as metadata listing vs live querying.
All tool names follow a consistent lowercase snake_case verb-first pattern (list_, run_, create_, update_, get_, submit_, view_). The compound noun suffixes for the two dashboard viewers are descriptive and predictable.
Eight tools cover the core report-builder workflow without redundancy or bloat. Each tool maps to a meaningful step in the process, making the set well-scoped for its domain.
The core workflow is covered: discover datasets, preview queries, create/update/fetch/submit reports, and view saved results. However, there is no list_reports tool to enumerate existing drafts or reports, and no delete/discard operation, which leaves tangible lifecycle gaps.