-
Notifications
You must be signed in to change notification settings - Fork 198
Description
It was brought up that packages implicitly are stdio servers, but people might want to publish servers that are only streamable HTTP, e.g. to use authentication mechanisms.
If we do this, I would suggest having having an optional uriTemplate
on packages. This is defined as an RFC 6570 template (same format as resource templates in MCP itself) with variables that can reference arguments and environment variables used in that package. This makes it easy to variables like host
and port
that can be reused to form the template.
However, a common class of vulnerability is escalation of privilege attacks for services listening on the same device or network, and there is no precedent yet in MCP servers to guard against this (e.g. by having a secret token set in the server's environment variable, required as a header or param on the route, and sent by clients.) So it would be up to servers to guard against this individually, or it would be up to clients to isolate the network of such servers, such as by running them in docker. This makes a safe implementation more complex, in exchange for HTTP-only features (currently just auth.)