Skip to content

Commit 96495ac

Browse files
authored
fixes binding issue (#3491)
1 parent 6721cd6 commit 96495ac

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

misk-mcp/src/main/kotlin/misk/mcp/McpServerModule.kt

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ class McpServerModule private constructor(
9696
val mcpMetricsProvider = binder().getProvider(McpMetrics::class.java)
9797

9898
// Bind the factories for the transports
99-
bind<MiskStreamableHttpServerTransport.Factory>().toProvider(
99+
val streamableHttpServerTransportFactoryKey = keyOf<MiskStreamableHttpServerTransport.Factory>(groupAnnotationClass)
100+
bind(streamableHttpServerTransportFactoryKey).toProvider(
100101
object : Provider<MiskStreamableHttpServerTransport.Factory> {
101102
@Inject
102103
lateinit var httpCall: ActionScoped<HttpCall>
@@ -112,8 +113,10 @@ class McpServerModule private constructor(
112113
}
113114
}
114115
)
116+
val streamableHttpServerTransportFactoryProvider = binder().getProvider(streamableHttpServerTransportFactoryKey)
115117

116-
bind<MiskWebSocketServerTransport.Factory>().toProvider(
118+
val webSocketServerTransportFactoryKey = keyOf<MiskWebSocketServerTransport.Factory>(groupAnnotationClass)
119+
bind(keyOf<MiskWebSocketServerTransport.Factory>(groupAnnotationClass)).toProvider(
117120
object : Provider<MiskWebSocketServerTransport.Factory> {
118121
@Inject
119122
lateinit var httpCall: ActionScoped<HttpCall>
@@ -128,6 +131,7 @@ class McpServerModule private constructor(
128131
}
129132
}
130133
)
134+
val webSocketServerTransportFactoryProvider = binder().getProvider(webSocketServerTransportFactoryKey)
131135

132136
// Create a qualified binding for the MiskMcpServer
133137
val serverKey = keyOf<MiskMcpServer>(groupAnnotationClass)
@@ -147,18 +151,12 @@ class McpServerModule private constructor(
147151
// Create a qualified binding for the McpStreamManager
148152
val streamManagerKey = keyOf<McpStreamManager>(groupAnnotationClass)
149153
bind(streamManagerKey).toProvider(
150-
object : Provider<McpStreamManager> {
151-
@Inject
152-
lateinit var streamableHttpServerTransportFactory: MiskStreamableHttpServerTransport.Factory
153-
154-
@Inject
155-
lateinit var webSocketServerTransportFactory: MiskWebSocketServerTransport.Factory
156-
override fun get(): McpStreamManager =
157-
McpStreamManager(
158-
streamableHttpServerTransportFactory,
159-
webSocketServerTransportFactory,
160-
mcpServer = mcpServerProvider.get()
161-
)
154+
Provider {
155+
McpStreamManager(
156+
streamableHttpServerTransportFactoryProvider.get(),
157+
webSocketServerTransportFactoryProvider.get(),
158+
mcpServer = mcpServerProvider.get()
159+
)
162160
},
163161
)
164162
}

0 commit comments

Comments
 (0)