Skip to content

Draft: Tab MCP Slack Integration#271

Closed
mattcfilbert wants to merge 2 commits intomainfrom
slack-int
Closed

Draft: Tab MCP Slack Integration#271
mattcfilbert wants to merge 2 commits intomainfrom
slack-int

Conversation

@mattcfilbert
Copy link
Contributor

@mattcfilbert mattcfilbert commented Mar 19, 2026

Pull Request Template

IMPORTANT: Please do not create a Pull Request without creating an issue first.

Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of
the pull request.

Description

Adds Slack integration support for tableau-mcp: documentation, validation tooling, and configuration
templates for connecting Tableau MCP to Slack apps via the mcp:connect scope.

Changes:

  • Slack integration guide (docs/docs/extras/slack-integration.md) — Option A (passthrough/demo)
    and Option B (external auth/SSO) with Slack app manifest examples and Tableau Cloud DCR curl
  • Validation script (scripts/validate-slack-mcp-flow.ts) — Staged MCP validator (handshake,
    discover, search, datasource, metadata, query, full) for passthrough-authenticated HTTP MCP. Parses
    SSE responses (text/event-stream), preserves mcp-session-id, supports VALIDATE_DEBUG for
    response inspection
  • Demo env template (env.slack-demo.example) — Minimal env for Option A passthrough demo
  • validate:slack-mcp npm script — Wires validator to npm run validate:slack-mcp
  • env.example.list — Trimmed to essential vars (passthrough, HTTP, OAuth)
  • OAuth docs — Updated Tableau Cloud wording to "currently limited" (removed ETA)
  • .gitignore — Added .worktrees/

Motivation and Context

Enables customers and internal teams to connect Tableau MCP to Slack for Data Q&A-style workflows.
The validator proves local HTTP MCP connectivity and passthrough auth before integrating with Slack’s
runtime. Option A supports quick demos; Option B supports per-user OAuth when available.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Other (please describe):

How Has This Been Tested?

  • Ran TABLEAU_SESSION_TOKEN='<token>' VALIDATE_STAGE=discover npm run validate:slack-mcp against
    local HTTP server with passthrough auth; handshake and discover succeed, 16 tools returned.
  • Ran VALIDATE_STAGE=handshake in stateless mode (no session); handshake passes.
  • All 921 unit tests pass (npm test).

Related Issues

Checklist

  • I have updated the version in the package.json file by using npm run version. For example,
    use npm run version:patch for a patch version bump.
  • I have made any necessary changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have documented any breaking changes in the PR description. For example, renaming a config
    environment variable or changing its default value.

Contributor Agreement

By submitting this pull request, I confirm that:

@mattcfilbert mattcfilbert marked this pull request as draft March 19, 2026 01:28
@mattcfilbert mattcfilbert changed the title Draft: Slack int Draft: Tab MCP Slack Integration Mar 19, 2026
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.

1 participant