[WIP] Refactor everything server to be more modular and use recommended APIs

In src/everything:

* Refactor / move streamableHttp.ts, sse.ts, and stdio.ts to transports/

* Move everything.ts to server/ for reference

* Add server/index.js
  - exports the createServer function
  - import registerTools from tools/index.js
  - in createServer()
    - read instructions.md and include in ServerOptions for McpServer constructor
    - construct McpServer instead of Server
    - call registerTools, passing server

* Add tools/echo.ts
  - define EchoSchema
  - define tool config
  - export addToolEcho function
  - in addToolEcho()
    - register handler for Echo tool

* Add tools/index.ts
  - import addToolEcho
  - export registerTools function
  - in registerTools()
    - call addToolEcho
This commit is contained in:
cliffhall
2025-12-03 17:36:47 -05:00
parent b7e1cf3a79
commit 5de886ca63
11 changed files with 319 additions and 233 deletions

View File

@@ -10,15 +10,15 @@ async function run() {
switch (scriptName) {
case 'stdio':
// Import and run the default server
await import('./stdio.js');
await import('./transports/stdio.js');
break;
case 'sse':
// Import and run the SSE server
await import('./sse.js');
await import('./transports/sse.js');
break;
case 'streamableHttp':
// Import and run the streamable HTTP server
await import('./streamableHttp.js');
await import('./transports/streamableHttp.js');
break;
default:
console.error(`Unknown script: ${scriptName}`);