Why are the Connect Links Not Working When Adding Pipedream MCP to a macOS App?

This topic was automatically generated from Slack. You can find the original thread here.

Hi everyone, I am trying to add Pipedream MCP to my macOS app and let users connect/authenticate to different services. I am using the hosted MCP server. However the connect links that are returned - when a user tried to use a tool i.e gmail look like this: https://pipedream.com/oauth/gmail?redirect=your-app, what am I doing wrong here?

Where is that URL getting generated / returned?

Thanks for your quick responseIt appears that url I mentioned earlier was incorrectly being set, please ignore it. However the problem we have right now is that there is no connect link url being returned from the Pipedream tool calls. To add more context, we’re connecting to Pipedream’s MCP server using:

Server URL Format: https://mcp.pipedream.com/v1/{userId}

  Authentication Headers:
  "Authorization": "Bearer {access_token}"
  "x-pd-project-id": "{project_id}"
  "x-pd-environment": "development"
  "x-pd-external-user-id": "{external_user_id}"
  "x-pd-mcp-chat-id": "{chat_id}"
  "Content-Type": "application/json"

Transport: Using HTTPClientTransport (Swift MCP SDK) instead of StreamableHTTPClientTransport due to compatibility issues.

OAuth Flow

  • Client credentials grant type via PipedreamClient.swift
  • Access token cached in keychain with expiration handling
  • Token refreshed automatically when needed

Current Issue: Tool Flow Loop

Expected 3-Step Flow (from TypeScript client):

  1. what_are_you_trying_to_do → discovers available tools
  2. select_apps → selects specific app integration
  3. Execution tool (e.g., begin_configuration_notion-search) → either succeeds or returns Connect Link for auth

Actual Behavior:

  • AI gets stuck looping between steps 1 and 2
  • Never calls the actual execution tools in step 3

You should be using [remote.mcp.pipedream.net](http://remote.mcp.pipedream.net) as the base URL

Thanks Danny. Looking at the typescript client I realized I wasn’t refreshing the available tools so the LLM got stuck in a loop. Issue should be resolved now.