MCPcopy
hub / github.com/docker/docker-agent / newRemoteClient

Function newRemoteClient

pkg/tools/mcp/remote.go:31–58  ·  view source on GitHub ↗
(
	url, transportType string,
	headers map[string]string,
	tokenStore OAuthTokenStore,
	oauthConfig *latest.RemoteOAuthConfig,
	allowPrivateIPs bool,
)

Source from the content-addressed store, hash-verified

29}
30
31func newRemoteClient(
32 url, transportType string,
33 headers map[string]string,
34 tokenStore OAuthTokenStore,
35 oauthConfig *latest.RemoteOAuthConfig,
36 allowPrivateIPs bool,
37) *remoteMCPClient {
38 slog.Debug("Creating remote MCP client",
39 "url", url,
40 "transport", transportType,
41 "headers", headers,
42 "allow_private_ips", allowPrivateIPs,
43 )
44
45 if tokenStore == nil {
46 tokenStore = NewInMemoryTokenStore()
47 }
48
49 return &remoteMCPClient{
50 sessionClient: sessionClient{serverAddress: sanitizeRemoteAddress(url)},
51 url: url,
52 transportType: transportType,
53 headers: headers,
54 tokenStore: tokenStore,
55 oauthConfig: oauthConfig,
56 allowPrivateIPs: allowPrivateIPs,
57 }
58}
59
60// sanitizeRemoteAddress extracts a span-safe identifier from an MCP URL
61// before stamping it as `server.address`. The URL may legitimately

Calls 3

NewInMemoryTokenStoreFunction · 0.85
sanitizeRemoteAddressFunction · 0.85
DebugMethod · 0.80