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

Function toServerInput

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

Callers 1

handlers.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected