@@ -109,8 +109,8 @@ func GetState(name string) (ClientInfo, bool) {
109// Close closes all MCP clients. This should be called during application shutdown.
109// Close closes all MCP clients. This should be called during application shutdown.
110func Close() error {
110func Close() error {
111 var errs []error
111 var errs []error
112− for name, c := range sessions.Seq2() {
112+ for name, session := range sessions.Seq2() {
113− if err := c.Close(); err != nil &&
113+ if err := session.Close(); err != nil &&
114 !errors.Is(err, io.EOF) &&
114 !errors.Is(err, io.EOF) &&
115 !errors.Is(err, context.Canceled) &&
115 !errors.Is(err, context.Canceled) &&
116 err.Error() != "signal: killed" {
116 err.Error() != "signal: killed" {
@@ -154,9 +154,7 @@ func Initialize(ctx context.Context, permissions permission.Service, cfg *config
157− ctx, cancel := context.WithTimeout(ctx, mcpTimeout(m))
157+ // createSession handles its own timeout internally.
160 session, err := createSession(ctx, name, m, cfg.Resolver())
158 session, err := createSession(ctx, name, m, cfg.Resolver())
161 if err != nil {
159 if err != nil {
@@ -233,7 +231,6 @@ func updateState(name string, state State, err error, client *mcp.ClientSession,
233 case StateConnected:
231 case StateConnected:
234 info.ConnectedAt = time.Now()
232 info.ConnectedAt = time.Now()
235 case StateError:
233 case StateError:
236− updateTools(name, nil)
237 sessions.Del(name)
234 sessions.Del(name)
239 states.Set(name, info)
236 states.Set(name, info)