Skip to content

Conversation

@AryanBagade
Copy link

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.

Pull Request Template

Description

This PR clarifies that setting the OAUTH_ISSUER environment variable is what enables OAuth in the MCP server.
Changes made:

  • Added a "How to Enable OAuth" section at the top of the OAuth documentation
  • Updated the OAUTH_ISSUER variable description with bold text stating it enables OAuth
  • Listed the automatic defaults when OAuth is enabled (TRANSPORT=http, AUTH=oauth)
  • Added clearer examples for local testing and production URLs
  • Updated the authentication/oauth.md reference file for consistency

Motivation and Context

Users were confused because the documentation said "When OAuth is enabled..." but never explicitly explained HOW to enable it. This was reported in issue #185.

Type of Change

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

How Has This Been Tested?

  • Documentation builds successfully (cd docs && npm run build)
  • All 786 unit tests pass (npm test)
  • Lint passes (npm run lint)
  • Project builds successfully (npm run build)

Related Issues

Fixes #185

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:

Copilot AI review requested due to automatic review settings December 22, 2025 03:21
@salesforce-cla
Copy link

Thanks for the contribution! Before we can merge this, we need @AryanBagade to sign the Salesforce Inc. Contributor License Agreement.

Copy link
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

This PR clarifies how to enable OAuth in the MCP server by making it explicit that setting the OAUTH_ISSUER environment variable is the key action required. The changes address user confusion reported in issue #185.

Key Changes:

  • Added a new "How to Enable OAuth" section that explicitly states setting OAUTH_ISSUER enables OAuth
  • Enhanced the OAUTH_ISSUER variable description with bold text and clearer examples
  • Listed the automatic defaults that apply when OAuth is enabled (TRANSPORT=http, AUTH=oauth)

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
docs/docs/configuration/mcp-config/oauth.md Added new section explaining how to enable OAuth, updated variable descriptions with clearer examples and automatic defaults
docs/docs/configuration/mcp-config/authentication/oauth.md Added explicit statement that OAuth is enabled by setting OAUTH_ISSUER, updated cross-reference text for clarity

Review Summary: The documentation changes are clear, well-structured, and free from issues. The PR successfully addresses the confusion about how to enable OAuth by explicitly stating that setting OAUTH_ISSUER is the enabling action. No issues were identified during the review.


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

@AryanBagade
Copy link
Author

I have signed CLA!

@bcantoni
Copy link
Contributor

Close and reopen to poke the CLA bot

When `AUTH` is `oauth`, the MCP server will use a Tableau session initiated by the Tableau OAuth
flow to authenticate to the Tableau REST APIs.

OAuth is enabled by setting the `OAUTH_ISSUER` environment variable to the URL of your MCP server.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This isn't quite right. It should say the origin of the MCP server.

For example, the MCP server URL will always have the /tableau-mcp path e.g. https://tableaumcp.foo.com/tableau-mcp.

The OAUTH_ISSUER would just be the origin i.e. https://tableaumcp.foo.com/

server. For more information, please see the
## How to Enable OAuth

To enable OAuth, set the [`OAUTH_ISSUER`](#oauth_issuer) environment variable to the URL of your MCP server. When a URL for `OAUTH_ISSUER` is provided, the MCP server will act as an OAuth 2.1 resource server, capable of accepting and responding to protected resource requests using encrypted access tokens.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same comment as above.

### `OAUTH_ISSUER`

The issuer of the OAuth server. This should be the host of the MCP server.
**Setting this environment variable enables OAuth.** This should be the URL of your MCP server (the issuer of access tokens).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same

@anyoung-tableau
Copy link
Collaborator

Thanks so much for doing this @AryanBagade . I left a few comments. You can also ignore the failing E2E tests in the checks. That is a known issue #172

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make it clearer that setting OAUTH_ISSUER means "enable OAuth"

3 participants