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

Function toServerInput

packages/plugins/mcp/src/api/handlers.ts:29–103  ·  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?: {
47 server: string;
48 surface?: "sky" | "browser";
49 modulePath?: string;
50 presetId?: string;
51 };
52 slug?: string;
53 };
54 return {
55 transport: "stdio",
56 name: p.name,
57 family: p.family,
58 description: p.description,
59 command: p.command,
60 args: p.args ? [...p.args] : undefined,
61 envVars: p.envVars ? [...p.envVars] : undefined,
62 env: p.env,
63 staticEnv: p.staticEnv,
64 cwd: p.cwd,
65 versionNegotiation: p.versionNegotiation,
66 spawnPerCall: p.spawnPerCall,
67 appServer: p.appServer,
68 slug: p.slug,
69 };
70 }
71
72 const p = payload as {
73 transport?: "remote";
74 name: string;
75 family?: string;
76 description?: string;
77 endpoint: string;
78 remoteTransport?: "streamable-http" | "sse" | "auto";
79 versionNegotiation?: "auto" | "legacy";
80 queryParams?: Record<string, string>;
81 headers?: Record<string, string>;
82 slug?: string;
83 authenticationTemplate?: McpServerInput extends { authenticationTemplate?: infer T }
84 ? T
85 : never;
86 auth?: McpServerInput extends { auth?: infer A } ? A : never;

Callers 1

handlers.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected