Skip to content

Conversation

@rdimitrov
Copy link
Member

Motivation and Context

The Repository field in ServerJSON was not properly omitting empty values
when marshaling to JSON. Even when a server had no repository configured,
the JSON would include "repository": {"url": "", "source": ""} due to:

  1. Repository struct fields (URL, Source) lacking omitempty tags
  2. Repository being a value type instead of pointer in ServerJSON

This caused validation warnings for servers without repository URLs.

Changes:

  • Add omitempty tags to Repository.URL and Repository.Source fields
  • Change ServerJSON.Repository from model.Repository to *model.Repository
  • Update validateRepository to handle nil pointers
  • Update all code creating Repository instances to use pointers

Now, servers without repository information correctly omit the field
entirely from JSON output, eliminating spurious validation warnings.

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
@domdomegg domdomegg merged commit ef4a605 into main Oct 29, 2025
6 checks passed
@domdomegg domdomegg deleted the fix-repo branch October 29, 2025 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants