Open
Conversation
Sibling to relay-cli: terminates Streamable HTTP MCP from LLM hosts on one side and the relay protocol from slop-relay on the other, routing tool calls per user. Deployed to Fly at bridge.slopai.dev. - bridge-server: relay-hub, mcp-session, tokens, http, cli + e2e test - /debug/providers endpoint (Bearer mcpToken) for relay-state inspection - relay-cli exports ./protocol so the bridge can import wire types without copy-paste - fly.toml at repo root; Dockerfile filters workspace globs to the packages/typescript subset that ships in the image Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two new packages that together let cloud LLM hosts (Mistral Le Chat, ChatGPT, Claude.ai) reach SLOP apps running on a user's machine through a URL-based MCP connector.
@slop-ai/relay-cli— outbound relay agent. Reuses@slop-ai/discoveryto find local SLOP providers and tunnels them over an authenticated WSS connection to a hosted bridge. Bin:slop-relay.@slop-ai/bridge-server— multi-tenant cloud relay. Terminates Streamable HTTP MCP from LLM hosts on one side and the relay protocol on the other, routing tool calls per user. Deployed to Fly atbridge.slopai.dev.Wire protocol lives in
relay-cli/src/protocol.tsand is re-exported via@slop-ai/relay-cli/protocolso the bridge consumes it without copy-paste.Auth (v1): per-user
SLOP_BRIDGE_USERSenv mapping holds two distinct tokens —mcpToken(Bearer header from LLM host) andrelayToken(Bearer header fromslop-relay). Real OAuth lands later.Test plan
bun testinbridge-server(e2e in-process: fake relay + MCP client roundtriplist_apps,open_app,app_action)slop-bridgeapp),https://bridge.slopai.dev/healthzreturns 200, cert provisioned/debug/providers(auth'd by mcpToken) confirms providers are bridged end-to-end, including browser-extension tabs (Excalidraw observed viatransport: relay,source: bridge)https://bridge.slopai.dev/mcpwith Bearer mcpTokencapabilitiesarray on bridged tab providers (extension ordiscovery/src/bridge-client.tslikely drops the field)🤖 Generated with Claude Code