Skip to content

feat: support configurable Atlassian MCP server via ATLASSIAN_MCP_SERVER_URL and pass-through OAuth metadata - #546

Merged
maxtechera merged 3 commits into
productionfrom
staging
Sep 23, 2025
Merged

feat: support configurable Atlassian MCP server via ATLASSIAN_MCP_SERVER_URL and pass-through OAuth metadata#546
maxtechera merged 3 commits into
productionfrom
staging

Conversation

@ct3685

@ct3685 ct3685 commented Sep 18, 2025

Copy link
Copy Markdown

Title

feat: support configurable Atlassian MCP server via ATLASSIAN_MCP_SERVER_URL and pass-through OAuth metadata

Description

Motivation

Enable use of a custom remote MCP server instead of the hard-coded Atlassian endpoint. Ensure all OAuth flows and SSE connectivity respect a configurable base URL. Motivation not evident from diff beyond enabling configurability.

Enhancements

  • packages/components/nodes/tools/MCP/Atlassian/AtlassianMcp.ts
    • Replace hard-coded SSE endpoint with ${process.env.ATLASSIAN_MCP_SERVER_URL}/sse.
    • Add guard: log error and short-circuit if ATLASSIAN_MCP_SERVER_URL is missing.
    • Update class docstring to reflect “custom remote MCP server”.
  • packages/server/src/config/passport.ts
    • In Atlassian auth callback, require ATLASSIAN_MCP_SERVER_URL; return an auth error if unset.
    • Update metadata retrieval to fetchMCPMetadata(baseUrl) instead of defaulting.
  • packages/server/src/utils/constants.ts
    • Add /api/v1/atlassian-auth/mcp-initialize to WHITELIST_URLS.
  • packages/server/src/utils/index.ts
    • registerOAuthClient: require ATLASSIAN_MCP_SERVER_URL; pass it to fetchMCPMetadata.
    • Update requested OAuth scopes: switch from an array .join(' ') to a single consolidated space-delimited string including Jira and Confluence read/write scopes plus offline-access, read:me, and read:account.
    • refreshStoredCredentialTokens: require ATLASSIAN_MCP_SERVER_URL; pass it to fetchMCPMetadata before refreshing tokens.
  • packages/server/src/utils/mcp-metadata.ts
    • Change fetchMCPMetadata signature to require an explicit baseUrl; remove default 'https://mcp.atlassian.com'.

Expected Impact

  • Functionality
    • The MCP node and server flows will target whatever MCP base URL is provided via ATLASSIAN_MCP_SERVER_URL, enabling self-hosted or environment-specific deployments.
    • OAuth registration, token exchange, and refresh now resolve metadata against the configured base URL.
    • New whitelist entry allows initialization endpoint to be accessed without auth (consistent with other OAuth endpoints).
  • Performance
    • No material performance changes apparent. Metadata caching behavior remains unchanged; only the source URL becomes configurable.
  • Developer Experience
    • Clearer failure modes when the base URL is not configured (explicit errors/logs).

Breaking Changes

  • Required Environment Variable
    • ATLASSIAN_MCP_SERVER_URL must be set for:
      • MCP node initialization
      • Atlassian OAuth callback flow
      • OAuth dynamic client registration
      • Token refresh
  • API/Function Signature
    • fetchMCPMetadata now requires a baseUrl argument; callers updated accordingly. Any external/internal callers not updated will break at compile/runtime.

Config / Env Changes

  • New required env var: ATLASSIAN_MCP_SERVER_URL (e.g., https://my-mcp.example.com).
  • No new dependencies observed.

Routes / Security

  • WHITELIST_URLS includes /api/v1/atlassian-auth/mcp-initialize to support the auth/init flow. Ensure this is intended and reviewed.

@vercel

vercel Bot commented Sep 18, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
answerai-docs Building Building Preview Sep 18, 2025 8:59pm
the-answerai Building Building Preview Sep 18, 2025 8:59pm

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Codex Review: Here are some suggestions.

Reply with @codex fix comments to fix any unresolved comments.

About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".

Comment on lines +131 to +137
if (!process.env.ATLASSIAN_MCP_SERVER_URL) {
console.error('ATLASSIAN_MCP_SERVER_URL environment variable is not set')
return []
}

const serverParams = {
url: 'https://mcp.atlassian.com/v1/sse'
url: `${process.env.ATLASSIAN_MCP_SERVER_URL}/sse`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[P1] Env var can’t satisfy both MCP metadata and SSE URLs

The new configuration assumes a single ATLASSIAN_MCP_SERVER_URL is used for all Atlassian MCP endpoints, but the code now derives the SSE address as ${ATLASSIAN_MCP_SERVER_URL}/sse here while fetchMCPMetadata builds its OAuth well‑known URL as ${ATLASSIAN_MCP_SERVER_URL}/.well-known/oauth-authorization-server. On the current Atlassian service the SSE endpoint lives under /v1/sse while the metadata lives at /.well-known/..., so no single value for ATLASSIAN_MCP_SERVER_URL can make both requests correct. Setting it to the host breaks SSE (…/sse), and adding /v1 fixes SSE but causes metadata requests to …/v1/.well-known, which will 404. This effectively breaks existing installations unless a second variable or path handling is added.

Useful? React with 👍 / 👎.

@ct3685 ct3685 changed the title added support for a custom atlassian remote MCP server (#545) feat: support configurable Atlassian MCP server via ATLASSIAN_MCP_SERVER_URL and pass-through OAuth metadata Sep 18, 2025
This commit introduces several updates to the configuration and
functionality of the DALL-E image generation tools.

### Changes:
- Added a new environment variable `API_HOST` to the manifest for better
API endpoint management.
- Updated the `next.config.js` to support HTTPS for the specified
hostname.
- Modified the DALL-E image tools to prioritize the new `API_HOST`
variable for constructing URLs, ensuring that the tools can correctly
reference the API in production environments.
- Incremented the version of the DALL-E tools from 1.0 to 1.1 to reflect
these changes.

### Impact:
These updates enhance the flexibility of the API configuration and
improve the reliability of image generation by ensuring the correct API
endpoint is used based on the environment settings.
## Summary
Updates to webinar landing pages, ElevenLabs widget integration, and
supporting styles.

## Changes
- Enhanced ElevenLabs inline widget component with improved
functionality and styles
- Updated webinar enterprise AI landing page with improved content
structure
- Refactored webinar thank you page layout and user experience  
- Streamlined mailerLite service implementation
- Improved responsive design for index page with additional styles

## Test plan
- [x] Tested webinar landing page locally
- [x] Verified ElevenLabs widget integration works correctly
- [x] Confirmed thank you page displays properly after registration
- [x] Validated responsive design on mobile and desktop
- [x] ESLint and prettier checks pass
@maxtechera
maxtechera merged commit 305bb83 into production Sep 23, 2025
6 of 7 checks passed
@maxtechera
maxtechera temporarily deployed to staging - aai-unified2-flowise-moonstruck September 23, 2025 19:41 — with Render Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants