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

Function toServerInput

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

Callers 1

handlers.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected