pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
33 lines (32 loc) • 1.82 kB
TypeScript
/**
* @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;