mark4z commented on PR #757: URL: https://github.com/apache/dubbo-go-pixiu/pull/757#issuecomment-3299278175
This pull request introduces a new provider-agnostic registry controller framework for MCP servers, with an initial implementation for Nacos. It refactors the registry integration to support pluggable providers, adds utility functions for parsing registry addresses, and updates dependencies in `go.mod` to support new features and compatibility. The main changes are grouped below: ### MCP Registry Controller Framework * Added a generic `Controller` interface and provider registration mechanism in `pkg/adapter/mcpserver/registry/controller.go` and `pkg/adapter/mcpserver/registry/factory.go`, allowing pluggable registry backends for MCP servers. [[1]](diffhunk://#diff-c8c5eebf84e35c0e7233f9f46f5e5737bd4054c263e2848618eda72299395134R1-R38) [[2]](diffhunk://#diff-90a620bb0f303601f04a93eb3ccd55161d48c0a93255b4c1dc272c71b548d174R1-R41) ### Nacos Registry Provider Implementation * Introduced a Nacos-specific controller in `pkg/adapter/mcpserver/registry/nacos/controller.go` and a provider registration/builder in `pkg/adapter/mcpserver/registry/nacos/adapter.go`, enabling dynamic discovery and watching of MCP servers via Nacos. [[1]](diffhunk://#diff-057c08631735ab26fea60c2b028ace192c34ea0ce011ce6b88efbf4b50da7767R1-R152) [[2]](diffhunk://#diff-063f812f376b8c965e0e0db94cfeb0add690c7a43a059c0708a09866677aec50R1-R88) ### Utility Functions * Added `ParseHostPortFromURL` in `pkg/adapter/mcpserver/common/url.go` to robustly extract host and port from registry addresses, supporting multiple formats. ### Dependency Updates * Updated `go.mod` to add new dependencies for Alibaba Cloud SDKs, Nacos SDK v2, and other libraries; also upgraded existing dependencies for compatibility and feature support. [[1]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6R38-R46) [[2]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6L84-R105) [[3]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6R115-R123) [[4]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6L128-R151) [[5]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6L170-R197) [[6]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6L192-R219) [[7]](diffhunk://#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6L225-R249) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
