UNPKG

pocketsmith-mcp

Version:

MCP server for managing budgets via PocketSmith API

33 lines (32 loc) 1.82 kB
/** * @fileoverview Provides functions for creating and configuring MCP StdioClientTransport. * This module is responsible for instantiating and setting up the StdioClientTransport * from the @modelcontextprotocol/sdk, which is used to communicate with local MCP * server processes via their standard input/output streams. * @module src/mcp-client/transports/stdioClientTransport */ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; import { RequestContext } from "../../utils/index.js"; /** * Configuration options specifically required for creating a `StdioClientTransport` * (from the `@modelcontextprotocol/sdk`). * This includes the command to execute the server process, arguments to pass to it, * and optional environment variables for the server's execution context. */ export interface StdioTransportConfig { command: string; args: string[]; env?: Record<string, string>; } /** * Creates and configures a `StdioClientTransport` instance (from the `@modelcontextprotocol/sdk`) * for launching and communicating with an MCP server process via its standard input and output streams. * * @param transportConfig - Configuration containing the command, arguments, * and environment variables for the server process. * @param parentContext - Optional parent request context for logging and tracing. * @returns A configured `StdioClientTransport` instance, ready to be connected. * @throws {McpError} If the provided `transportConfig` is invalid (e.g., missing command) * or if the transport fails to initialize for other reasons. */ export declare function createStdioClientTransport(transportConfig: StdioTransportConfig, parentContext?: RequestContext | null): StdioClientTransport;