MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / toServerInput

Function toServerInput

packages/plugins/mcp/src/api/handlers.ts:29–96  ·  view source on GitHub ↗
(
  payload: { transport?: "remote" | "stdio" } & Record<string, unknown>,
)

Source from the content-addressed store, hash-verified

27// ---------------------------------------------------------------------------
28
29const toServerInput = (
30 payload: { transport?: "remote" | "stdio" } & Record<string, unknown>,
31): McpServerInput => {
32 if (payload.transport === "stdio") {
33 const p = payload as {
34 transport: "stdio";
35 name: string;
36 family?: string;
37 description?: string;
38 command: string;
39 args?: readonly string[];
40 envVars?: readonly string[];
41 env?: Record<string, string>;
42 staticEnv?: Record<string, string>;
43 cwd?: string;
44 versionNegotiation?: "legacy" | "auto";
45 spawnPerCall?: boolean;
46 appServer?: { server: string; surface?: "sky" | "browser"; modulePath?: string };
47 slug?: string;
48 };
49 return {
50 transport: "stdio",
51 name: p.name,
52 family: p.family,
53 description: p.description,
54 command: p.command,
55 args: p.args ? [...p.args] : undefined,
56 envVars: p.envVars ? [...p.envVars] : undefined,
57 env: p.env,
58 staticEnv: p.staticEnv,
59 cwd: p.cwd,
60 versionNegotiation: p.versionNegotiation,
61 spawnPerCall: p.spawnPerCall,
62 appServer: p.appServer,
63 slug: p.slug,
64 };
65 }
66
67 const p = payload as {
68 transport?: "remote";
69 name: string;
70 family?: string;
71 description?: string;
72 endpoint: string;
73 remoteTransport?: "streamable-http" | "sse" | "auto";
74 queryParams?: Record<string, string>;
75 headers?: Record<string, string>;
76 slug?: string;
77 authenticationTemplate?: McpServerInput extends { authenticationTemplate?: infer T }
78 ? T
79 : never;
80 auth?: McpServerInput extends { auth?: infer A } ? A : never;
81 };
82
83 return {
84 transport: "remote",
85 name: p.name,
86 family: p.family,

Callers 1

handlers.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected