mirror of
https://github.com/modelcontextprotocol/servers.git
synced 2026-04-18 00:03:23 +02:00
Finalized Roots list changed handling and initial request. Final fit and finish work.
* Updated architecture.md
- Added links to other docs
- Refactor/extracted sections into extension.md, features.md, how-it-works.md, startup.md, and structure.md
* Removed everything.ts
- all features are ported
* In roots.ts
- refactor/renaned setRootsListChangedHandler to syncRoots
- refactor handler logic to requestRoots function
- Calls for roots list directly to get initial list
* In server/index.ts
- import setRootsListChangedHandler
- in clientConnected callback
- call setRootsListChangedHandler passing server and sessionId
* In sse.ts, stdio.ts, and streamableHttp.ts
- update inline and function docs
* In index.ts,
- updated usage output
* In server/index.ts
- refactor/extracted readInstructions to resources/index.ts
- defined ServerFactoryResponse response type
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
// Parse command line arguments first
|
|
const args = process.argv.slice(2);
|
|
const scriptName = args[0] || "stdio";
|
|
|
|
async function run() {
|
|
try {
|
|
// Dynamically import only the requested module to prevent all modules from initializing
|
|
switch (scriptName) {
|
|
case "stdio":
|
|
// Import and run the default server
|
|
await import("./transports/stdio.js");
|
|
break;
|
|
case "sse":
|
|
// Import and run the SSE server
|
|
await import("./transports/sse.js");
|
|
break;
|
|
case "streamableHttp":
|
|
// Import and run the streamable HTTP server
|
|
await import("./transports/streamableHttp.js");
|
|
break;
|
|
default:
|
|
console.error(`-`.repeat(53));
|
|
console.error(` Everything Server Launcher`);
|
|
console.error(` Usage: node ./index.js [stdio|sse|streamableHttp]`);
|
|
console.error(` Default transport: stdio`);
|
|
console.error(`-`.repeat(53));
|
|
console.error(`Unknown transport: ${scriptName}`);
|
|
console.log("Available transports:");
|
|
console.log("- stdio");
|
|
console.log("- sse");
|
|
console.log("- streamableHttp");
|
|
process.exit(1);
|
|
}
|
|
} catch (error) {
|
|
console.error("Error running script:", error);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
await run();
|