const servers: Record<string, MastraMCPServerDefinition> = {};
for (const mcp of config.mcps) {
if (mcp.type === 'http') {
const serverConfig: MastraMCPServerDefinition = {
url: new URL(mcp.url),
timeout: mcp.timeout || 15000,
capabilities: {
elicitation: {
form: {}
}
}
};
if (mcp.headers) {
serverConfig.requestInit = {
headers: mcp.headers,
};
}
servers[mcp.name] = serverConfig
} else if (mcp.type === 'command') {
const serverConfig: MastraMCPServerDefinition = {
command: mcp.command,
args: mcp.args,
}
servers[mcp.name] = serverConfig
}
}
this.mcpClient = new MCPClient({ servers: servers, timeout: 15000 });
const servers: Record<string, MastraMCPServerDefinition> = {};
for (const mcp of config.mcps) {
if (mcp.type === 'http') {
const serverConfig: MastraMCPServerDefinition = {
url: new URL(mcp.url),
timeout: mcp.timeout || 15000,
capabilities: {
elicitation: {
form: {}
}
}
};
if (mcp.headers) {
serverConfig.requestInit = {
headers: mcp.headers,
};
}
servers[mcp.name] = serverConfig
} else if (mcp.type === 'command') {
const serverConfig: MastraMCPServerDefinition = {
command: mcp.command,
args: mcp.args,
}
servers[mcp.name] = serverConfig
}
}
this.mcpClient = new MCPClient({ servers: servers, timeout: 15000 });