Skip to main content
Glama
stdio.go1.94 kB
package client import ( "context" "fmt" "io" "github.com/mark3labs/mcp-go/client/transport" ) // NewStdioMCPClient creates a new stdio-based MCP client that communicates with a subprocess. // It launches the specified command with given arguments and sets up stdin/stdout pipes for communication. // Returns an error if the subprocess cannot be started or the pipes cannot be created. // // NOTICE: NewStdioMCPClient will start the connection automatically. Don't call the Start method manually. // This is for backward compatibility. func NewStdioMCPClient( command string, env []string, args ...string, ) (*Client, error) { return NewStdioMCPClientWithOptions(command, env, args) } // NewStdioMCPClientWithOptions creates a new stdio-based MCP client that communicates with a subprocess. // It launches the specified command with given arguments and sets up stdin/stdout pipes for communication. // Optional configuration functions can be provided to customize the transport before it starts, // such as setting a custom command function. // // NOTICE: NewStdioMCPClientWithOptions automatically starts the underlying transport. // Don't call the Start method manually. // This is for backward compatibility. func NewStdioMCPClientWithOptions( command string, env []string, args []string, opts ...transport.StdioOption, ) (*Client, error) { stdioTransport := transport.NewStdioWithOptions(command, env, args, opts...) if err := stdioTransport.Start(context.Background()); err != nil { return nil, fmt.Errorf("failed to start stdio transport: %w", err) } return NewClient(stdioTransport), nil } // GetStderr returns a reader for the stderr output of the subprocess. // This can be used to capture error messages or logs from the subprocess. func GetStderr(c *Client) (io.Reader, bool) { t := c.GetTransport() stdio, ok := t.(*transport.Stdio) if !ok { return nil, false } return stdio.Stderr(), true }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mozillazg/kube-audit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server