diff --git a/internal/mcp/registryserver/server.go b/internal/mcp/registryserver/server.go index 4f8526ac..2ae43972 100644 --- a/internal/mcp/registryserver/server.go +++ b/internal/mcp/registryserver/server.go @@ -5,6 +5,7 @@ import ( "encoding/hex" "errors" "fmt" + "strings" "time" restv0 "github.com/agentregistry-dev/agentregistry/internal/registry/api/handlers/v0" @@ -369,10 +370,14 @@ func addDeploymentTools(server *mcp.Server, registry service.RegistryService) { } outIdx := 0 for _, d := range deployments { - if args.ResourceType != "" && d.ResourceType != args.ResourceType { + if args.ResourceType != "" && !strings.EqualFold(d.ResourceType, args.ResourceType) { continue } - resp.Deployments[outIdx] = *d + dep := *d + if dep.Config == nil { + dep.Config = map[string]string{} + } + resp.Deployments[outIdx] = dep outIdx++ } resp.Deployments = resp.Deployments[:outIdx] @@ -392,7 +397,11 @@ func addDeploymentTools(server *mcp.Server, registry service.RegistryService) { if err != nil { return nil, models.Deployment{}, err } - return nil, *deployment, nil + dep := *deployment + if dep.Config == nil { + dep.Config = map[string]string{} + } + return nil, dep, nil }) // Deploy server diff --git a/internal/registry/service/registry_service.go b/internal/registry/service/registry_service.go index 6aab4754..0f2bb26c 100644 --- a/internal/registry/service/registry_service.go +++ b/internal/registry/service/registry_service.go @@ -17,6 +17,7 @@ import ( "github.com/agentregistry-dev/agentregistry/internal/runtime/translation/kagent" "github.com/agentregistry-dev/agentregistry/internal/runtime/translation/registry" "github.com/agentregistry-dev/agentregistry/pkg/models" + "github.com/agentregistry-dev/agentregistry/pkg/registry/auth" "github.com/agentregistry-dev/agentregistry/pkg/registry/database" "github.com/jackc/pgx/v5" apiv0 "github.com/modelcontextprotocol/registry/pkg/api/v0" @@ -195,7 +196,7 @@ func (s *registryServiceImpl) createServerInTransaction(ctx context.Context, tx // Generate embedding asynchronously (non-blocking, best-effort) if s.shouldGenerateEmbeddingsOnPublish() { //nolint:nestif go func() { - bgCtx := context.Background() + bgCtx := auth.WithSystemContext(context.Background()) payload := embeddings.BuildServerEmbeddingPayload(&serverJSON) if strings.TrimSpace(payload) == "" { return @@ -594,7 +595,7 @@ func (s *registryServiceImpl) createAgentInTransaction(ctx context.Context, tx p // Generate embedding asynchronously (non-blocking, best-effort) if s.shouldGenerateEmbeddingsOnPublish() { //nolint:nestif go func() { - bgCtx := context.Background() + bgCtx := auth.WithSystemContext(context.Background()) payload := embeddings.BuildAgentEmbeddingPayload(&agentJSON) if strings.TrimSpace(payload) == "" { return diff --git a/internal/runtime/translation/kagent/kagent_translator.go b/internal/runtime/translation/kagent/kagent_translator.go index bf9ac4c0..621625e6 100644 --- a/internal/runtime/translation/kagent/kagent_translator.go +++ b/internal/runtime/translation/kagent/kagent_translator.go @@ -239,6 +239,10 @@ func (t *translator) translateLocalMCPServer(server *api.MCPServer) (*kmcpv1alph case api.TransportTypeStdio: spec.TransportType = kmcpv1alpha1.TransportType("stdio") spec.StdioTransport = &kmcpv1alpha1.StdioTransport{} + // Default port for transport adapter (matches KMCP CLI default) + if spec.Deployment.Port == 0 { + spec.Deployment.Port = 3000 + } default: return nil, fmt.Errorf("unsupported MCP transport type %q for %s", server.Local.TransportType, server.Name) }