PBIP Builder MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PBIP_ALLOWED_WORKSPACES | No | Optional environment variable to restrict writes to specific workspace roots. If unset, writes are limited to process.cwd(). |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pbip_create_projectC | Create a new PBIP project with PBIR report and TMDL semantic model folders. |
| pbip_open_projectB | Open an existing PBIP project path and return a structured summary. |
| pbip_describe_projectC | Describe report pages, visuals, tables, columns, and measures in a PBIP project. |
| pbip_validate_projectC | Validate PBIP project structure, JSON files, schemas where available, and semantic references. |
| pbip_delete_projectB | Delete a PBIP project folder. Requires confirmDelete=true. |
| pbip_export_summaryC | Export a structured JSON summary of a PBIP project. |
| model_add_tableD | Add a TMDL table file with columns and measures. |
| model_update_tableC | Replace an existing TMDL table definition. |
| model_delete_tableC | Delete a table TMDL file. |
| model_add_columnC | Add a column to an existing TMDL table. |
| model_add_measureC | Add a measure to an existing TMDL table. |
| model_update_measureC | Replace or create a measure on an existing TMDL table. |
| model_delete_measureC | Delete a measure from a TMDL table. |
| model_add_relationshipC | Add a relationship to relationships.tmdl. |
| model_delete_relationshipC | Delete a relationship by name. |
| model_add_roleC | Add or replace a simple row-level-security role in definition/roles/*.tmdl. |
| model_generate_from_schemaC | Generate model tables from a simple schema object. |
| model_describeC | Describe semantic model tables, relationships, and roles. |
| model_validateC | Validate the semantic model in the context of the PBIP project. |
| report_createC | Create or repair the report PBIR skeleton files. |
| report_update_settingsC | Merge settings into report.json. |
| report_set_themeC | Set a theme reference in report.json. |
| report_add_filterD | report_add_filter is reserved for structured report filter/bookmark support after the MVP generator is stable. |
| report_remove_filterD | report_remove_filter is reserved for structured report filter/bookmark support after the MVP generator is stable. |
| report_add_bookmarkD | report_add_bookmark is reserved for structured report filter/bookmark support after the MVP generator is stable. |
| report_validateC | Validate the report files in a PBIP project. |
| page_addC | Add a report page and register it in pages.json. |
| page_updateB | Update page display name, size, or filters. |
| page_deleteC | Delete a page folder and unregister it from pages.json. |
| page_renameC | Rename a page display name. |
| page_set_sizeC | Set page canvas width and height. |
| page_listC | List report pages. |
| page_duplicateC | Duplicate a page. Planned for Phase 2. |
| visual_addC | Add a visual from a reusable template and bind fields or measures. |
| visual_updateC | Merge raw structured updates into a visual.json file. |
| visual_deleteD | Delete a visual folder. |
| visual_set_positionC | Set a visual position and size. |
| visual_bind_fieldsC | Replace a visual's semantic model bindings. |
| visual_set_formatC | Set formatting objects on a visual. |
| visual_set_filterC | Set visual-level filters. |
| visual_listC | List visuals on a page. |
| visual_describeC | Describe one visual. |
| visual_duplicateC | Duplicate a visual. Planned for Phase 2. |
| blueprint_generate_projectC | Create a PBIP project from a high-level dashboard blueprint. |
| blueprint_applyC | Apply a high-level dashboard blueprint to an existing PBIP project. |
| blueprint_validateC | Validate the high-level dashboard blueprint shape. |
| blueprint_previewB | Return a dry-run preview of files changed by a blueprint. |
| schema_listA | List locally available Microsoft JSON schemas. |
| schema_getC | Return one locally available Microsoft JSON schema. |
| schema_validate_jsonC | Validate JSON against a locally available Microsoft schema type. |
| schema_syncC | Explain how to sync Microsoft JSON schemas into the local schemas folder. |
| schema_explain_errorB | Explain a schema validation error in agent-readable terms. |
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 52 tools
Tools are grouped by clear prefixes (blueprint_, model_, page_, etc.) with distinct verb-noun actions. Even similar tools like blueprint_apply and blueprint_generate_project have descriptions clarifying their different targets (existing vs. new projects). No significant overlap.
All tools use a consistent prefix_verb_noun pattern in snake_case. Verbs are standard (add, delete, update, list, etc.) and uniformly applied across groups. No mixing of styles or irregular naming.
52 tools is high for an MCP server. There is some redundancy (e.g., separate page_rename, page_set_size, and page_update) and several reserved, non-functional tools (e.g., report_add_bookmark, visual_duplicate). This bloat reduces appropriateness despite serving a complex domain.
The tool set covers core CRUD for models, pages, visuals, and report settings, plus blueprint and schema utilities. Missing features like bookmark management are noted as reserved, and there is no deployment or export tool, but the primary editing lifecycle is well-represented.