sensorium-mcp 2.16.87 → 2.16.89

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.
@@ -2,7 +2,8 @@
2
2
  * Watcher MCP server — lightweight standby server that agents call
3
3
  * during sensorium updates instead of sleeping 600 seconds.
4
4
  *
5
- * Run via: npx sensorium-mcp --watcher
5
+ * Run via: npx sensorium-mcp --watcher (stdio)
6
+ * npx sensorium-mcp --watcher --watcher-port 3848 (HTTP)
6
7
  *
7
8
  * Registers a single tool `await_server_ready` that polls for the
8
9
  * removal of ~/.remote-copilot-mcp/maintenance.flag.
@@ -1 +1 @@
1
- {"version":3,"file":"watcher-server.d.ts","sourceRoot":"","sources":["../src/watcher-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2DxD"}
1
+ {"version":3,"file":"watcher-server.d.ts","sourceRoot":"","sources":["../src/watcher-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoMH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUxD"}
@@ -2,14 +2,18 @@
2
2
  * Watcher MCP server — lightweight standby server that agents call
3
3
  * during sensorium updates instead of sleeping 600 seconds.
4
4
  *
5
- * Run via: npx sensorium-mcp --watcher
5
+ * Run via: npx sensorium-mcp --watcher (stdio)
6
+ * npx sensorium-mcp --watcher --watcher-port 3848 (HTTP)
6
7
  *
7
8
  * Registers a single tool `await_server_ready` that polls for the
8
9
  * removal of ~/.remote-copilot-mcp/maintenance.flag.
9
10
  */
10
11
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
11
12
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
12
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
13
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
14
+ import { CallToolRequestSchema, isInitializeRequest, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
15
+ import { randomUUID } from "node:crypto";
16
+ import { createServer } from "node:http";
13
17
  import { existsSync } from "fs";
14
18
  import { join } from "path";
15
19
  import { homedir } from "os";
@@ -19,7 +23,8 @@ const MAX_WAIT_MS = 600_000;
19
23
  function sleep(ms) {
20
24
  return new Promise((r) => setTimeout(r, ms));
21
25
  }
22
- export async function startWatcherServer() {
26
+ /** Create a watcher Server instance with the await_server_ready tool. */
27
+ function createWatcherMcpServer() {
23
28
  const server = new Server({ name: "sensorium-watcher", version: "1.0.0" }, { capabilities: { tools: {} } });
24
29
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
25
30
  tools: [
@@ -66,7 +71,132 @@ export async function startWatcherServer() {
66
71
  };
67
72
  }
68
73
  });
69
- const transport = new StdioServerTransport();
70
- await server.connect(transport);
74
+ return server;
75
+ }
76
+ // ---------------------------------------------------------------------------
77
+ // Arg parsing
78
+ // ---------------------------------------------------------------------------
79
+ /** Parse --watcher-port from process.argv. Returns undefined if not set. */
80
+ function parseWatcherPort() {
81
+ const idx = process.argv.indexOf("--watcher-port");
82
+ if (idx === -1 || idx + 1 >= process.argv.length)
83
+ return undefined;
84
+ const port = parseInt(process.argv[idx + 1], 10);
85
+ return Number.isNaN(port) ? undefined : port;
86
+ }
87
+ // ---------------------------------------------------------------------------
88
+ // HTTP transport helpers
89
+ // ---------------------------------------------------------------------------
90
+ function parseBody(req) {
91
+ return new Promise((resolve, reject) => {
92
+ const chunks = [];
93
+ req.on("data", (c) => chunks.push(c));
94
+ req.on("end", () => {
95
+ try {
96
+ resolve(JSON.parse(Buffer.concat(chunks).toString()));
97
+ }
98
+ catch (e) {
99
+ reject(e);
100
+ }
101
+ });
102
+ req.on("error", reject);
103
+ });
104
+ }
105
+ /** Start the watcher in HTTP mode on the given port. */
106
+ async function startWatcherHttp(port) {
107
+ const transports = new Map();
108
+ const httpServer = createServer(async (req, res) => {
109
+ res.setHeader("Access-Control-Allow-Origin", "*");
110
+ res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
111
+ res.setHeader("Access-Control-Allow-Headers", "Content-Type, mcp-session-id");
112
+ res.setHeader("Access-Control-Expose-Headers", "mcp-session-id");
113
+ if (req.method === "OPTIONS") {
114
+ res.writeHead(204);
115
+ res.end();
116
+ return;
117
+ }
118
+ if (req.url !== "/mcp") {
119
+ res.writeHead(404, { "Content-Type": "text/plain" });
120
+ res.end("Not Found");
121
+ return;
122
+ }
123
+ const sessionId = req.headers["mcp-session-id"];
124
+ try {
125
+ if (req.method === "POST") {
126
+ const body = await parseBody(req);
127
+ // Existing session
128
+ const existing = sessionId ? transports.get(sessionId) : undefined;
129
+ if (existing) {
130
+ await existing.handleRequest(req, res, body);
131
+ return;
132
+ }
133
+ // New session — initialize handshake
134
+ if (isInitializeRequest(body)) {
135
+ const transport = new StreamableHTTPServerTransport({
136
+ sessionIdGenerator: () => randomUUID(),
137
+ onsessioninitialized: (sid) => { transports.set(sid, transport); },
138
+ });
139
+ transport.onclose = () => {
140
+ const sid = transport.sessionId;
141
+ if (sid)
142
+ transports.delete(sid);
143
+ };
144
+ const server = createWatcherMcpServer();
145
+ await server.connect(transport);
146
+ await transport.handleRequest(req, res, body);
147
+ return;
148
+ }
149
+ res.writeHead(400, { "Content-Type": "application/json" });
150
+ res.end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32000, message: "Bad Request" }, id: null }));
151
+ return;
152
+ }
153
+ if (req.method === "GET") {
154
+ const t = sessionId ? transports.get(sessionId) : undefined;
155
+ if (!t) {
156
+ res.writeHead(400, { "Content-Type": "text/plain" });
157
+ res.end("Invalid session");
158
+ return;
159
+ }
160
+ await t.handleRequest(req, res);
161
+ return;
162
+ }
163
+ if (req.method === "DELETE") {
164
+ const t = sessionId ? transports.get(sessionId) : undefined;
165
+ if (t) {
166
+ await t.handleRequest(req, res);
167
+ }
168
+ else {
169
+ res.writeHead(400, { "Content-Type": "text/plain" });
170
+ res.end("Invalid session");
171
+ }
172
+ return;
173
+ }
174
+ res.writeHead(405, { "Content-Type": "text/plain" });
175
+ res.end("Method Not Allowed");
176
+ }
177
+ catch (err) {
178
+ if (!res.headersSent) {
179
+ res.writeHead(500, { "Content-Type": "application/json" });
180
+ res.end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32603, message: "Internal error" }, id: null }));
181
+ }
182
+ }
183
+ });
184
+ httpServer.listen(port, "127.0.0.1", () => {
185
+ console.error(`Watcher MCP server running on http://127.0.0.1:${port}/mcp`);
186
+ });
187
+ }
188
+ // ---------------------------------------------------------------------------
189
+ // Public entry point
190
+ // ---------------------------------------------------------------------------
191
+ export async function startWatcherServer() {
192
+ const port = parseWatcherPort();
193
+ if (port) {
194
+ await startWatcherHttp(port);
195
+ }
196
+ else {
197
+ const server = createWatcherMcpServer();
198
+ const transport = new StdioServerTransport();
199
+ await server.connect(transport);
200
+ }
71
201
  }
72
202
  //# sourceMappingURL=watcher-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watcher-server.js","sourceRoot":"","sources":["../src/watcher-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher-server.js","sourceRoot":"","sources":["../src/watcher-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sensorium-mcp",
3
- "version": "2.16.87",
3
+ "version": "2.16.89",
4
4
  "description": "MCP server for remote control of AI assistants via Telegram",
5
5
  "main": "dist/index.js",
6
6
  "bin": {