Lines 1-41javascript
2import cors from "cors";
3import { parseArgs } from "node:util";
4import nodeFetch, { Headers as NodeHeaders } from "node-fetch";
5// Type-compatible wrappers for node-fetch to work with browser-style types
6const fetch = nodeFetch;
7const Headers = NodeHeaders;
8import { SSEClientTransport, SseError, } from "@modelcontextprotocol/sdk/client/sse.js";
9import { StdioClientTransport, getDefaultEnvironment, } from "@modelcontextprotocol/sdk/client/stdio.js";
10import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
11import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
12import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
13import { Client } from "@modelcontextprotocol/sdk/client/index.js";
14import { discoverAuthorizationServerMetadata, discoverOAuthProtectedResourceMetadata, exchangeAuthorization, registerClient, startAuthorization, } from "@modelcontextprotocol/sdk/client/auth.js";
15import express from "express";
16import http from "node:http";
17import path from "node:path";
18import os from "node:os";
19import { promises as fs } from "node:fs";
20import fsSync from "node:fs";
21import { createRequire } from "node:module";
22const require = createRequire(import.meta.url);
23const TOML = require("@iarna/toml");
MediumDynamic Require
Package source references dynamic require/import behavior.
server/build/index.jsView on unpkg · L21 24import { exec } from "node:child_process";
25import { findActualExecutable } from "spawn-rx";
26import mcpProxy from "./mcpProxy.js";
27import logger from "./logger.js";
28import { createHash, randomUUID, randomBytes, timingSafeEqual, } from "node:crypto";
29const DEFAULT_MCP_PROXY_LISTEN_PORT = "6277";
30const defaultEnvironment = {
31 ...getDefaultEnvironment(),
32 ...(process.env.MCP_ENV_VARS ? JSON.parse(process.env.MCP_ENV_VARS) : {}),
34const { values } = parseArgs({
35 args: process.argv.slice(2),
37 env: { type: "string", default: "" },
38 args: { type: "string", default: "" },
39 command: { type: "string", default: "" },
40 transport: { type: "string", default: "" },
41 "server-url": { type: "string", default: "" },