Download node_modules/@modelcontextprotocol/sdk/dist/cjs/cli.js from pgits/mcp-jokes: direct link, hf CLI and curl.
- Browser
- Download file 4.67 kB
-
https://huggingface.co/spaces/pgits/mcp-jokes/resolve/main/node_modules/%40modelcontextprotocol/sdk/dist/cjs/cli.js
- Command line
-
hf download hf://spaces/pgits/mcp-jokes/node_modules/@modelcontextprotocol/sdk/dist/cjs/cli.js
-
curl -L -o cli.js https://huggingface.co/spaces/pgits/mcp-jokes/resolve/main/node_modules/%40modelcontextprotocol/sdk/dist/cjs/cli.js
4.67 kB
| ; | |
| var __importDefault = (this && this.__importDefault) || function (mod) { | |
| return (mod && mod.__esModule) ? mod : { "default": mod }; | |
| }; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| const ws_1 = __importDefault(require("ws")); | |
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | |
| global.WebSocket = ws_1.default; | |
| const express_1 = __importDefault(require("express")); | |
| const index_js_1 = require("./client/index.js"); | |
| const sse_js_1 = require("./client/sse.js"); | |
| const stdio_js_1 = require("./client/stdio.js"); | |
| const websocket_js_1 = require("./client/websocket.js"); | |
| const index_js_2 = require("./server/index.js"); | |
| const sse_js_2 = require("./server/sse.js"); | |
| const stdio_js_2 = require("./server/stdio.js"); | |
| const types_js_1 = require("./types.js"); | |
| async function runClient(url_or_command, args) { | |
| const client = new index_js_1.Client({ | |
| name: "mcp-typescript test client", | |
| version: "0.1.0", | |
| }, { | |
| capabilities: { | |
| sampling: {}, | |
| }, | |
| }); | |
| let clientTransport; | |
| let url = undefined; | |
| try { | |
| url = new URL(url_or_command); | |
| } | |
| catch (_a) { | |
| // Ignore | |
| } | |
| if ((url === null || url === void 0 ? void 0 : url.protocol) === "http:" || (url === null || url === void 0 ? void 0 : url.protocol) === "https:") { | |
| clientTransport = new sse_js_1.SSEClientTransport(new URL(url_or_command)); | |
| } | |
| else if ((url === null || url === void 0 ? void 0 : url.protocol) === "ws:" || (url === null || url === void 0 ? void 0 : url.protocol) === "wss:") { | |
| clientTransport = new websocket_js_1.WebSocketClientTransport(new URL(url_or_command)); | |
| } | |
| else { | |
| clientTransport = new stdio_js_1.StdioClientTransport({ | |
| command: url_or_command, | |
| args, | |
| }); | |
| } | |
| console.log("Connected to server."); | |
| await client.connect(clientTransport); | |
| console.log("Initialized."); | |
| await client.request({ method: "resources/list" }, types_js_1.ListResourcesResultSchema); | |
| await client.close(); | |
| console.log("Closed."); | |
| } | |
| async function runServer(port) { | |
| if (port !== null) { | |
| const app = (0, express_1.default)(); | |
| let servers = []; | |
| app.get("/sse", async (req, res) => { | |
| console.log("Got new SSE connection"); | |
| const transport = new sse_js_2.SSEServerTransport("/message", res); | |
| const server = new index_js_2.Server({ | |
| name: "mcp-typescript test server", | |
| version: "0.1.0", | |
| }, { | |
| capabilities: {}, | |
| }); | |
| servers.push(server); | |
| server.onclose = () => { | |
| console.log("SSE connection closed"); | |
| servers = servers.filter((s) => s !== server); | |
| }; | |
| await server.connect(transport); | |
| }); | |
| app.post("/message", async (req, res) => { | |
| console.log("Received message"); | |
| const sessionId = req.query.sessionId; | |
| const transport = servers | |
| .map((s) => s.transport) | |
| .find((t) => t.sessionId === sessionId); | |
| if (!transport) { | |
| res.status(404).send("Session not found"); | |
| return; | |
| } | |
| await transport.handlePostMessage(req, res); | |
| }); | |
| app.listen(port, () => { | |
| console.log(`Server running on http://localhost:${port}/sse`); | |
| }); | |
| } | |
| else { | |
| const server = new index_js_2.Server({ | |
| name: "mcp-typescript test server", | |
| version: "0.1.0", | |
| }, { | |
| capabilities: { | |
| prompts: {}, | |
| resources: {}, | |
| tools: {}, | |
| logging: {}, | |
| }, | |
| }); | |
| const transport = new stdio_js_2.StdioServerTransport(); | |
| await server.connect(transport); | |
| console.log("Server running on stdio"); | |
| } | |
| } | |
| const args = process.argv.slice(2); | |
| const command = args[0]; | |
| switch (command) { | |
| case "client": | |
| if (args.length < 2) { | |
| console.error("Usage: client <server_url_or_command> [args...]"); | |
| process.exit(1); | |
| } | |
| runClient(args[1], args.slice(2)).catch((error) => { | |
| console.error(error); | |
| process.exit(1); | |
| }); | |
| break; | |
| case "server": { | |
| const port = args[1] ? parseInt(args[1]) : null; | |
| runServer(port).catch((error) => { | |
| console.error(error); | |
| process.exit(1); | |
| }); | |
| break; | |
| } | |
| default: | |
| console.error("Unrecognized command:", command); | |
| } | |
| //# sourceMappingURL=cli.js.map |