Skip to main content
Glama
biplatform-demo

BI Portal Report Builder MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BI_PORTAL_TOKENYesBearer token for authentication. For delegated mode, a PAT (pat_...) from the backend. For fixed mode, a service identity token (svc_...).
BI_PORTAL_BASE_URLYesBase URL of the BI Portal backend API, e.g. http://localhost:8000
BI_PORTAL_AUTH_MODENoIdentity 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

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

Tools

Functions exposed to the LLM to take actions

NameDescription
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 key, never its label, in run_explore_query.

run_explore_queryA

Run a live, ad-hoc aggregate query against a whitelisted dataset — a preview, never persisted. Pick dataset_key and every column value from list_datasets's output. Returns rows, row_count, whether the result was truncated (capped at 500 rows server-side), and a ranked list of recommended chart types (bar/line/pie/kpi/table) for the shape of the result — use the first recommendation as the visualization.type when building a report section with create_draft_report/update_draft_report.

create_draft_reportA

Create a new draft report in the caller's personal workspace — visible only to the caller until submitted. dashboard_kind is typically "report_builder" (multiple independently-queried sections, each its own dataset/dimensions/ measures/filters/visualization) or "custom_query" (one query, one chart). target_domain_key should match the domain of the report's primary dataset — this is what the report gets submitted into for review. config_json holds that dashboard_kind's own configuration; build it up by test-running each section with run_explore_query first so the dimensions/measures/filters are known to work and to have a sensible recommended visualization.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness3/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues