Add transport type property to Packages (#340)

<!-- Provide a brief summary of your changes -->

## Motivation and Context
<!-- Why is this change needed? What problem does it solve? -->
The following PR:
* Adds the Transport Type property to Packages. _Even though most
packaged MCP servers are stdio this is not always the case so it's nice
to have the option to specify this for clients._
* Adds a constant for the "stdio" type
* Renames the "streamable" one to "streamable-http" (matching better how
the spec refers to it)
* Updates the seed.file to reflect these changes

## How Has This Been Tested?
<!-- Have you tested this in a real application? Which scenarios were
tested? -->
Locally
## Breaking Changes
<!-- Will users need to update their code or configurations? -->
No
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [ ] 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
<!-- Add any other context, implementation notes, or design decisions
-->

This was discussed in
https://github.com/modelcontextprotocol/registry/discussions/200

---------

Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
This commit is contained in:
Radoslav Dimitrov 2025-09-02 16:58:19 +03:00 • committed by GitHub
commit 0c4a9035bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 812 additions and 403 deletions

File diff suppressed because it is too large Load diff

View file

@ -490,7 +490,7 @@ The `dnx` tool ships with the .NET 10 SDK, starting with Preview 6.
]
},
{
"transport_type": "streamable",
"transport_type": "streamable-http",
"url": "https://mcp.anonymous.modelcontextprotocol.io/http"
}
],

View file

@ -117,6 +117,16 @@
"dnx"
]
},
"transport_type": {
"type": "string",
"enum": [
"streamable-http",
"sse",
"stdio"
],
"description": "Transport protocol type for the package",
"example": "stdio"
},
"runtime_arguments": {
"type": "array",
"description": "A list of arguments to be passed to the package's runtime command (such as docker or npx). The `runtime_hint` field should be provided when `runtime_arguments` are present.",
@ -323,8 +333,9 @@
"transport_type": {
"type": "string",
"enum": [
"streamable",
"sse"
"streamable-http",
"sse",
"stdio"
],
"description": "Transport protocol type",
"example": "sse"

View file

@ -21,8 +21,9 @@ const (
// Transport Types - supported remote transport protocols
const (
TransportTypeStreamable = "streamable"
TransportTypeSSE = "sse"
TransportTypeStreamableHTTP = "streamable-http"
TransportTypeSSE = "sse"
TransportTypeStdio = "stdio"
)
// Runtime Hints - supported package runtime hints

View file

@ -20,6 +20,7 @@ type Package struct {
Version string `json:"version,omitempty"`
FileSHA256 string `json:"file_sha256,omitempty"`
RunTimeHint string `json:"runtime_hint,omitempty"`
TransportType string `json:"transport_type,omitempty"`
RuntimeArguments []Argument `json:"runtime_arguments,omitempty"`
PackageArguments []Argument `json:"package_arguments,omitempty"`
EnvironmentVariables []KeyValueInput `json:"environment_variables,omitempty"`