Skip to content

@W-21748754: Add get-custom-view-data tool#308

Merged
mattcfilbert merged 6 commits intomainfrom
anyoung/get-custom-view-data
Apr 16, 2026
Merged

@W-21748754: Add get-custom-view-data tool#308
mattcfilbert merged 6 commits intomainfrom
anyoung/get-custom-view-data

Conversation

@anyoung-tableau
Copy link
Copy Markdown
Collaborator

@anyoung-tableau anyoung-tableau commented Apr 15, 2026

This PR:

  1. Adds the get-custom-view-data tool.
  2. Driveby fix to add support for view filters to get-view-image and get-view-data.
  3. Driveby fix in the REST API response interceptor where URL query params were not included in the MCP notifications.

Copilot AI review requested due to automatic review settings April 15, 2026 23:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for retrieving CSV data for Tableau Custom Views via a new MCP tool, and extends existing view tools to support optional viewFilters that are forwarded to the REST API as vf_* query parameters.

Changes:

  • Introduces new get-custom-view-data tool (tool registration, OAuth scopes, REST SDK methods, docs, and tests).
  • Adds optional viewFilters support to view image/data flows (REST SDK + docs + tests).
  • Improves REST response logging by including query params in interceptor config (used for URL construction in logs).

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/oauth/tableau-authz/tests/getCustomViewDatatest.ts Adds OAuth authz test for get-custom-view-data tool
tests/e2e/views/getCustomViewData.test.ts Adds E2E test validating custom view CSV output
src/tools/views/getViewImage.ts Adds viewFilters param support and updates tool description
src/tools/views/getViewData.ts Adds viewFilters param to schema (but currently not applied in callback)
src/tools/views/getViewData.test.ts Updates tests and adds coverage for forwarding viewFilters
src/tools/views/getCustomViewData.ts Implements new get-custom-view-data tool
src/tools/views/getCustomViewData.test.ts Unit tests for new tool, including allowlist behavior and filter forwarding
src/tools/tools.ts Registers new tool factory
src/tools/toolName.ts Adds tool name and groups it under view
src/tools/resourceAccessChecker.ts Adds isCustomViewAllowed and custom-view caching
src/tools/resourceAccessChecker.test.ts Adds tests for isCustomViewAllowed behavior
src/server/oauth/scopes.ts Adds OAuth scope mapping for new tool
src/sdks/tableau/methods/viewsMethods.ts Adds REST methods for custom view + adds viewFilters support to view data/image methods
src/sdks/tableau/interceptors.ts Extends response interceptor config to include params
src/sdks/tableau/apis/viewsApi.ts Adds custom view endpoints and “dummy” query param for CSV endpoints
src/restApiInstance.ts Uses response params when building logged response URLs
src/logging/secretMask.test.ts Updates tests for new params field in response masking
docs/docs/tools/views/get-view-image.md Documents viewFilters for get-view-image
docs/docs/tools/views/get-view-data.md Documents viewFilters for get-view-data
docs/docs/tools/views/get-custom-view-data.md Adds docs page for new tool
docs/docs/intro.md Adds new tool to the overall tool list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/tools/views/getViewData.ts
Comment thread src/restApiInstance.ts
Comment thread tests/oauth/tableau-authz/tests/getCustomViewData.test.ts
Comment thread src/tools/resourceAccessChecker.ts
Comment thread docs/docs/intro.md
Comment thread src/restApiInstance.ts
Comment thread src/tools/views/getViewData.ts
Comment thread src/tools/views/getViewImage.ts
Comment thread src/tools/resourceAccessChecker.ts
Copy link
Copy Markdown
Contributor

@mattcfilbert mattcfilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mattcfilbert mattcfilbert merged commit 579ad06 into main Apr 16, 2026
5 checks passed
@mattcfilbert mattcfilbert deleted the anyoung/get-custom-view-data branch April 16, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants