mcp-server-value-picker 1.0.1 → 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 +46 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -34120,33 +34120,62 @@ 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 (
|
|
34126
|
-
|
|
34127
|
-
|
|
34128
|
-
|
|
34129
|
-
|
|
34130
|
-
|
|
34131
|
-
|
|
34132
|
-
|
|
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") {
|
|
34134
|
+
const noop = () => {};
|
|
34135
|
+
console.log = noop;
|
|
34136
|
+
console.info = noop;
|
|
34137
|
+
console.warn = noop;
|
|
34138
|
+
console.error = noop;
|
|
34139
|
+
console.debug = noop;
|
|
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
|
+
});
|
|
34133
34161
|
}
|
|
34134
34162
|
async function startStreamableHTTPServer(createServer2) {
|
|
34135
|
-
const
|
|
34163
|
+
const preferredPort = parseInt(process.env.PORT ?? "3456", 10);
|
|
34164
|
+
const port = await findAvailablePort(preferredPort);
|
|
34136
34165
|
const app = createMcpExpressApp({ host: "0.0.0.0" });
|
|
34137
34166
|
app.use(import_cors.default());
|
|
34138
34167
|
app.all("/mcp", async (req, res) => {
|
|
34139
34168
|
const server = createServer2();
|
|
34140
|
-
const
|
|
34169
|
+
const transport2 = new StreamableHTTPServerTransport({
|
|
34141
34170
|
sessionIdGenerator: undefined
|
|
34142
34171
|
});
|
|
34143
34172
|
res.on("close", () => {
|
|
34144
|
-
|
|
34173
|
+
transport2.close().catch(() => {});
|
|
34145
34174
|
server.close().catch(() => {});
|
|
34146
34175
|
});
|
|
34147
34176
|
try {
|
|
34148
|
-
await server.connect(
|
|
34149
|
-
await
|
|
34177
|
+
await server.connect(transport2);
|
|
34178
|
+
await transport2.handleRequest(req, res, req.body);
|
|
34150
34179
|
} catch (error2) {
|
|
34151
34180
|
console.error("MCP error:", error2);
|
|
34152
34181
|
if (!res.headersSent) {
|
|
@@ -34166,7 +34195,6 @@ async function startStreamableHTTPServer(createServer2) {
|
|
|
34166
34195
|
console.log(`Value Picker MCP server listening on http://localhost:${port}/mcp`);
|
|
34167
34196
|
});
|
|
34168
34197
|
const shutdown = () => {
|
|
34169
|
-
console.error("Shutting down...");
|
|
34170
34198
|
httpServer.close(() => process.exit(0));
|
|
34171
34199
|
};
|
|
34172
34200
|
process.on("SIGINT", shutdown);
|
|
@@ -34174,12 +34202,11 @@ async function startStreamableHTTPServer(createServer2) {
|
|
|
34174
34202
|
}
|
|
34175
34203
|
async function startStdioServer(createServer2) {
|
|
34176
34204
|
const server = createServer2();
|
|
34177
|
-
const
|
|
34178
|
-
await server.connect(
|
|
34179
|
-
console.error("Value Picker MCP server running on STDIO");
|
|
34205
|
+
const stdioTransport = new StdioServerTransport;
|
|
34206
|
+
await server.connect(stdioTransport);
|
|
34180
34207
|
}
|
|
34181
34208
|
async function main() {
|
|
34182
|
-
if (
|
|
34209
|
+
if (transport === "stdio") {
|
|
34183
34210
|
await startStdioServer(createServer);
|
|
34184
34211
|
} else {
|
|
34185
34212
|
await startStreamableHTTPServer(createServer);
|