At the moment:
- We do expect that the downstream name is something like this "backend_name"-"upstream_tool_name".
- We need this format because we use "backend_name" to find the details about the connection.
- With the alias approach per backend we have an additional level of mapping ""backend_name"-"upstream_tool_name"-> "actual upstream name"
This is not great and very confusing. We are going to change to:
VirtualHost passed from the control plane structure needs to change from :
pub struct VirtualHost {
pub backends: HashMap<String, BackendMCPGateway>,
}
To
pub struct VirtualHost {
pub backends: HashMap<backend-name BackendMCPGateway>,
pub tools: HashMap <downstream_name, (upstream_name, backend-name)>
}
This should be applied to:
tools, resources, resource_templates, prompts
At the moment:
This is not great and very confusing. We are going to change to:
VirtualHost passed from the control plane structure needs to change from :
To
This should be applied to:
tools, resources, resource_templates, prompts