@tanstack/ai-mcp
Version:
Host-side Model Context Protocol client for TanStack AI: discover and run MCP server tools, resources, and prompts in any adapter's chat() loop, with generated end-to-end types.
27 lines (26 loc) • 1.14 kB
JavaScript
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
//#region src/transport.ts
function isTransportInstance(input) {
return typeof input.start === "function";
}
async function resolveTransport(input) {
if (isTransportInstance(input)) return input;
switch (input.type) {
case "http": return new StreamableHTTPClientTransport(new URL(input.url), {
requestInit: { headers: input.headers },
fetch: input.fetch,
authProvider: input.authProvider
});
case "sse": return new SSEClientTransport(new URL(input.url), {
requestInit: { headers: input.headers },
fetch: input.fetch,
authProvider: input.authProvider
});
case "stdio": throw new Error("stdio transport must be created via '@tanstack/ai-mcp/stdio': import { stdioTransport } from '@tanstack/ai-mcp/stdio' and pass the result as `transport`.");
default: throw new Error(`Unknown MCP transport config: ${JSON.stringify(input)}`);
}
}
//#endregion
export { isTransportInstance, resolveTransport };
//# sourceMappingURL=transport.js.map