mcp-server-value-picker 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +40 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -34120,9 +34120,17 @@ class StreamableHTTPServerTransport {
|
|
|
34120
34120
|
|
|
34121
34121
|
// main.ts
|
|
34122
34122
|
var import_cors = __toESM(require_lib4(), 1);
|
|
34123
|
+
import { createServer as createNetServer } from "node:net";
|
|
34123
34124
|
import { createServer } from "./server.js";
|
|
34124
|
-
|
|
34125
|
-
if (
|
|
34125
|
+
function resolveTransport() {
|
|
34126
|
+
if (process.argv.includes("--stdio"))
|
|
34127
|
+
return "stdio";
|
|
34128
|
+
if (process.argv.includes("--http"))
|
|
34129
|
+
return "http";
|
|
34130
|
+
return process.stdin.isTTY ? "http" : "stdio";
|
|
34131
|
+
}
|
|
34132
|
+
var transport = resolveTransport();
|
|
34133
|
+
if (transport === "stdio") {
|
|
34126
34134
|
const noop = () => {};
|
|
34127
34135
|
console.log = noop;
|
|
34128
34136
|
console.info = noop;
|
|
@@ -34130,22 +34138,44 @@ if (isStdio) {
|
|
|
34130
34138
|
console.error = noop;
|
|
34131
34139
|
console.debug = noop;
|
|
34132
34140
|
}
|
|
34141
|
+
function findAvailablePort(preferred) {
|
|
34142
|
+
return new Promise((resolve, reject) => {
|
|
34143
|
+
const srv = createNetServer();
|
|
34144
|
+
srv.once("error", (err) => {
|
|
34145
|
+
if (err.code === "EADDRINUSE") {
|
|
34146
|
+
srv.listen(0, "0.0.0.0", () => {
|
|
34147
|
+
const addr = srv.address();
|
|
34148
|
+
const port = typeof addr === "object" && addr ? addr.port : 0;
|
|
34149
|
+
srv.close(() => resolve(port));
|
|
34150
|
+
});
|
|
34151
|
+
} else {
|
|
34152
|
+
reject(err);
|
|
34153
|
+
}
|
|
34154
|
+
});
|
|
34155
|
+
srv.listen(preferred, "0.0.0.0", () => {
|
|
34156
|
+
const addr = srv.address();
|
|
34157
|
+
const port = typeof addr === "object" && addr ? addr.port : preferred;
|
|
34158
|
+
srv.close(() => resolve(port));
|
|
34159
|
+
});
|
|
34160
|
+
});
|
|
34161
|
+
}
|
|
34133
34162
|
async function startStreamableHTTPServer(createServer2) {
|
|
34134
|
-
const
|
|
34163
|
+
const preferredPort = parseInt(process.env.PORT ?? "3456", 10);
|
|
34164
|
+
const port = await findAvailablePort(preferredPort);
|
|
34135
34165
|
const app = createMcpExpressApp({ host: "0.0.0.0" });
|
|
34136
34166
|
app.use(import_cors.default());
|
|
34137
34167
|
app.all("/mcp", async (req, res) => {
|
|
34138
34168
|
const server = createServer2();
|
|
34139
|
-
const
|
|
34169
|
+
const transport2 = new StreamableHTTPServerTransport({
|
|
34140
34170
|
sessionIdGenerator: undefined
|
|
34141
34171
|
});
|
|
34142
34172
|
res.on("close", () => {
|
|
34143
|
-
|
|
34173
|
+
transport2.close().catch(() => {});
|
|
34144
34174
|
server.close().catch(() => {});
|
|
34145
34175
|
});
|
|
34146
34176
|
try {
|
|
34147
|
-
await server.connect(
|
|
34148
|
-
await
|
|
34177
|
+
await server.connect(transport2);
|
|
34178
|
+
await transport2.handleRequest(req, res, req.body);
|
|
34149
34179
|
} catch (error2) {
|
|
34150
34180
|
console.error("MCP error:", error2);
|
|
34151
34181
|
if (!res.headersSent) {
|
|
@@ -34172,11 +34202,11 @@ async function startStreamableHTTPServer(createServer2) {
|
|
|
34172
34202
|
}
|
|
34173
34203
|
async function startStdioServer(createServer2) {
|
|
34174
34204
|
const server = createServer2();
|
|
34175
|
-
const
|
|
34176
|
-
await server.connect(
|
|
34205
|
+
const stdioTransport = new StdioServerTransport;
|
|
34206
|
+
await server.connect(stdioTransport);
|
|
34177
34207
|
}
|
|
34178
34208
|
async function main() {
|
|
34179
|
-
if (
|
|
34209
|
+
if (transport === "stdio") {
|
|
34180
34210
|
await startStdioServer(createServer);
|
|
34181
34211
|
} else {
|
|
34182
34212
|
await startStreamableHTTPServer(createServer);
|