mcpConnectorsFromRoomServices function
List<Connector>
mcpConnectorsFromRoomServices({
- required Iterable<
ServiceSpec> services, - String? agentName,
Implementation
List<Connector> mcpConnectorsFromRoomServices({required Iterable<ServiceSpec> services, String? agentName}) {
final connectors = <Connector>[];
for (final service in services) {
final filter = service.metadata.annotations["meshagent.agent.filter"];
if (filter != null && filter != agentName) {
continue;
}
for (final port in service.ports) {
for (final endpoint in port.endpoints) {
final mcp = endpoint.mcp;
if (mcp == null) {
continue;
}
connectors.add(
Connector(
name: mcp.label,
server: MCPServer(
serverLabel: mcp.label,
serverUrl: _roomServiceMcpServerUrl(service: service, port: port, endpoint: endpoint),
headers: _headersFromEndpointSpec(mcp.headers),
requireApproval: mcp.requireApproval,
openaiConnectorId: mcp.openaiConnectorId,
),
oauth: mcp.oauth,
),
);
}
}
}
return connectors;
}