Skip to content

[mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers#60281

Merged
greedy52 merged 2 commits intomasterfrom
STeve/56588_ui_connect_adjustment
Oct 22, 2025
Merged

[mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers#60281
greedy52 merged 2 commits intomasterfrom
STeve/56588_ui_connect_adjustment

Conversation

@greedy52
Copy link
Copy Markdown
Contributor

@greedy52 greedy52 commented Oct 15, 2025

related:

changes

  • recognize all MCP transport types (mcp+stdio://, mcp+http(s)://, mcp+sse+http(s)://)
  • Teleport Connect to support App Gateway when transport is streamable HTTP. (no golang changes required)

Connect Button:
Screenshot 2025-10-15 at 2 24 22 PM

Gateway Document:
Screenshot 2025-10-15 at 2 18 43 PM

Top bar connection:
Screenshot 2025-10-15 at 2 09 28 PM

@greedy52 greedy52 requested review from gzdunek and ravicious October 15, 2025 18:51
@greedy52 greedy52 self-assigned this Oct 15, 2025
@greedy52 greedy52 added no-changelog Indicates that a PR does not require a changelog entry MCP MCP Server related labels Oct 15, 2025
@github-actions github-actions Bot requested a review from avatus October 15, 2025 18:51
@github-actions github-actions Bot added the ui label Oct 15, 2025
@github-actions github-actions Bot requested a review from rudream October 15, 2025 18:51
Comment thread web/packages/teleport/src/services/apps/makeApps.ts Outdated
Comment thread web/packages/teleterm/src/services/tshd/app.ts Outdated
Comment thread web/packages/teleterm/src/ui/DocumentGatewayApp/AppGateway.tsx Outdated
Comment thread web/packages/teleterm/src/ui/DocumentGatewayApp/AppGateway.tsx Outdated
return (
<ButtonBorder
size="small"
onClick={() => props.setUpGateway()}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
onClick={() => props.setUpGateway()}
onClick={props.setUpGateway}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i get a type check error on this:

web/packages/teleterm/src/ui/DocumentCluster/ActionButtons.tsx:337:11 - error TS2322: Type '(targetPort?: number) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
  Types of parameters 'targetPort' and 'event' are incompatible.
    Type 'MouseEvent<HTMLButtonElement, MouseEvent>' is not assignable to type 'number'.

337           onClick={props.setUpGateway}

if (isMcp(props.app)) {
// TODO(greedy52) decide what to do with MCP servers.
// Streamable HTTP MCP servers support local proxy gateway.
if (doesMcpAppSupportGateway(props.app)) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Out of curiosity, I assume VNet support is out of the question for now because VNet only supports TCP apps, right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

right, it's not supported at the moment. We could technically support it in VNET and make MCP clients always connect as http (not https).

However, we are likely working on this later this Q:
#57882

Once we have that, we might deprecate existing connection methods.

@greedy52 greedy52 enabled auto-merge October 22, 2025 18:46
@greedy52 greedy52 added this pull request to the merge queue Oct 22, 2025
Merged via the queue into master with commit 82bfc41 Oct 22, 2025
41 checks passed
@greedy52 greedy52 deleted the STeve/56588_ui_connect_adjustment branch October 22, 2025 19:10
smallinsky pushed a commit that referenced this pull request Oct 23, 2025
…HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

* review comments
greedy52 added a commit that referenced this pull request Oct 23, 2025
…HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

* review comments
github-merge-queue Bot pushed a commit that referenced this pull request Oct 27, 2025
* [MCP] server-side SSE support (#56051)

* MCP access part 12: server-side SSE support

* parse uri for determining transport type

* fix pointer, atomic, and parse error

� Conflicts:
�	lib/srv/mcp/server.go

* fix schema, etc

* switch to golang internal mcp sse parsing

* remove ParentCtx from logging

* fix build and address comments

* [mcp] refactor jwt token and app header rewrite logic (#58601)

* [mcp] mcputils for streamable http (#58764)

* [mcp] mcputils for streamable http

* fix flaky test

* use utils.ReadAtMost and fmt.Appendf

* add a marshal function for event

* fix spell

* [mcp] update audit events for streamable HTTP transport (#59155)

* [mcp] update audit events for streamable HTTP transport

* nolint for unused functions for now, they will be used in next PR

* [mcp] server handler for streamable HTTP transport (#59499)

* [mcp] server handler for streamable hTTP transport

* review comments round 1

* add comments and fix flaky test

* [mcp] bump mcp-go version (#59500)

* [mcp] bump mcp-go version

* fix IO transport by explicit start

* [mcp] add server prometheus metrics (#59773)

* [mcp] add server prometheus metrics

* remove TODO and nolint

* use counter where possible and limit known methods

* move reporting test to individual tests

* nolint for "cancelled"

* Fix an issue docker container launched by MCP commands are not removed sometimes (#59879)

* Fix an issue docker container launched by MCP commands are not removed sometimes

* switch to math/rand/v2

* add "tsh proxy mcp" command (#59968)

* [refactor] client.NewMCPServerDialer (#60020)

* [refactor] client.NewMCPServerDialer

* TestVerifyTLSCertLeafExpiry

* TestMatchResourcesByFilters

* fix typo

* fix lint

* mcputils for streamable HTTP transport conversion (#60024)

* mcputils for streamable HTTP transport conversion

* remove need of context from mcptest functions

* add test for notification

* [mcp] "tsh mcp connect" support for streamable HTTP (#60120)

* implement "tsh mcp connect" for streamable HTTP

* wait for 5s just to be conservative

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

* review comments

* [mcp] fix some edge cases for streamable HTTP (#60286)

* [mcp] add JWT and rewrite headers support for SSE MCP servers (#60320)

* fix go.mod to match master

* fix lint and ut
mmcallister pushed a commit that referenced this pull request Nov 6, 2025
…HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

* review comments
mmcallister pushed a commit that referenced this pull request Nov 19, 2025
…HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

* review comments
mmcallister pushed a commit that referenced this pull request Nov 20, 2025
…HTTP MCP servers (#60281)

* [mcp] Web UI and Teleport Connect adjustments for SSE and Streamable HTTP MCP servers

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

Labels

MCP MCP Server related no-changelog Indicates that a PR does not require a changelog entry size/md ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants