Skip to content

Conversation

@blackgirlbytes
Copy link
Contributor

@blackgirlbytes blackgirlbytes commented Aug 9, 2025

Problem

Deeplinks for streamable HTTP extensions had two issues:

  1. Only recognized transport=streamable_http, ignored type=streamable_http (some organizations like Kiwi Flight search have the goose URI
  2. No support for authentication headers

This caused extensions like Kiwi.com to be registered as SSE instead of streamable_http, and prevented extensions requiring auth headers from working via deeplinks.

Solution

Enhanced the deeplink parser to:

  • Support both transport and type parameters
  • Parse header=key%3Dvalue parameters for streamable HTTP extensions
  • Maintain backward compatibility

Why type Parameter Support?

The deeplink parser only recognized transport=streamable_http but the actual config schema uses type: 'streamable_http'. This inconsistency led extension developers (like Kiwi.com) to naturally use type=streamable_http in their deeplinks, expecting it to match the config field name.

The fix maintains backward compatibility with transport while adding support for the more intuitive type parameter that aligns with the config schema.

Examples Now Working

# Kiwi.com (now correctly registered as streamable_http)
goose://extension?url=https%3A%2F%2Fmcp.kiwi.com&name=Kiwi&type=streamable_http

# GitHub with auth headers
goose://extension?url=https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2F&name=GitHub&type=streamable_http&header=Authorization%3DBearer%20token

Fixes #3438

@blackgirlbytes blackgirlbytes merged commit 45e0ec2 into main Aug 9, 2025
15 of 16 checks passed
@blackgirlbytes blackgirlbytes deleted the deeplink-streamable-http branch August 9, 2025 19:56
michaelneale added a commit that referenced this pull request Aug 11, 2025
* main:
  add missing dependencies for developer setup (#3930)
  blog: subagents workshop (#3993)
  Adding better deeplink support for streamable-http (#3986)
  Docs: Add Kiwi Flight Search Extension Tutorial (#3985)
  Revert "Fix file extension on signed osx release (#3974)"
  Fix file extension on signed osx release (#3974)
  Dagger container-use MCP (#3932)
  Add Sunno Song Generator To Recipe Cookbook (#3969)
  docs: update jetbrains tutorial (#3971)
  chore: update linux build - don't run on every PR (#3961)
katzdave added a commit that referenced this pull request Aug 12, 2025
* 'main' of github.com:block/goose:
  docs: update release docs with an additional step needed + adjust list formatting (#4005)
  chore(release): release version 1.3.0 (#3921)
  docs: MCP-ui blog content (#3996)
  feat: Add `GOOSE_TERMINAL` env variable to spawned terminals (#3911)
  add missing dependencies for developer setup (#3930)
  blog: subagents workshop (#3993)
  Adding better deeplink support for streamable-http (#3986)
  Docs: Add Kiwi Flight Search Extension Tutorial (#3985)
  Revert "Fix file extension on signed osx release (#3974)"
  Fix file extension on signed osx release (#3974)
  Dagger container-use MCP (#3932)
  Add Sunno Song Generator To Recipe Cookbook (#3969)
  docs: update jetbrains tutorial (#3971)
  chore: update linux build - don't run on every PR (#3961)
ayax79 pushed a commit to ayax79/goose that referenced this pull request Aug 21, 2025
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.

Desktop deeplink parser for streamable_http extensions: Install link doesn't work and ignores header parameters

3 participants