@shuji-bonji/rxjs-mcp 0.4.0 → 0.5.0

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/CHANGELOG.md CHANGED
@@ -5,6 +5,49 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.0] - 2026-09-02
9
+
10
+ ### Changed
11
+
12
+ - **MCP TypeScript SDK を v1 から v2 へ移行** — 依存を `@modelcontextprotocol/sdk@^1.25.0` から `@modelcontextprotocol/server@^2.0.0` に差し替えた。v1 の単一パッケージは v2 で `server` / `client` / `core` / フレームワーク別アダプタに分割され、`@modelcontextprotocol/sdk/server/index.js` のような深いパスは解決しなくなった。本サーバーは stdio 専用なので `@modelcontextprotocol/server` 1 つで足りる。
13
+ - **stdio の起動を `serveStdio(factory)` に変更** — `new Server(...)` + `new StdioServerTransport()` + `server.connect(transport)` の手組みをやめた。`serveStdio` は transport とプロトコル世代の決定を持ち、接続ごとに factory から 1 インスタンスを固定する。返る `StdioServerHandle.close()` を SIGINT / SIGTERM のハンドラに置いた。
14
+ - **ツール登録を `registerTool()` に変更** — `setRequestHandler(ListToolsRequestSchema, ...)` と `setRequestHandler(CallToolRequestSchema, ...)` の 2 本立て、および `toolHandlers` の表引きを廃止し、6 ツールを `server.registerTool(name, config, handler)` で登録する。未知のツール名の判定と入力スキーマの検証は SDK 側が行うため、`McpError` / `ErrorCode` の使用箇所は無くなった。
15
+ - **`zod` を `^3.23.0` から `^4.2.0` へ** — v2 は zod 3 を受け付けない。zod 3 のままでも `npm install` も `tsc` も通り、サーバーは起動して接続まで成功するが、最初の `tools/list` が `fromJsonSchema()` を指すエラーを返す。型検査でもユニットテストでも捕まらない経路のため、宣言レンジごと更新した。4.0〜4.1 では変換に SDK 内蔵の zod が使われ、`.describe()` の説明文が JSON Schema から消えるため、下限は 4.2.0 以上が必要。
16
+ - **`zod-to-json-schema` を削除** — v2 は `inputSchema` に渡された zod オブジェクト(Standard Schema)から JSON Schema を生成する。`zodToJsonSchema(schema, { target: 'openApi3' })` の呼び出しは不要になった。実行時依存は 4 個から 2 個 (`@modelcontextprotocol/server`, `rxjs`, `zod`) に減った。
17
+ - **`ToolResponse` を interface から型エイリアスへ** — v2 のツール結果型は `_meta` の通過のために `[x: string]: unknown` を持つ。暗黙のインデックスシグネチャが付くのは型エイリアスだけで、interface のままでは `registerTool` のコールバック型に一致しない。
18
+ - **`ToolDefinition.outputSchema` を削除** — どのツールも宣言しておらず、v1 では `tools/list` に `undefined` が乗っているだけだった。v2 では登録側から渡さないため、残すと「書いても効かないフィールド」になる。`structuredContent` を返すかどうかは別途決める。
19
+
20
+ ### Added
21
+
22
+ - **`src/server.ts`** — `createServer(): McpServer` を `src/index.ts` から切り出して export した。stdio の入口が `serveStdio` に渡す factory であると同時に、プロトコルテストが `createMcpHandler` 経由でプロセス内から叩く対象でもある。`src/index.ts` は stdio の起動とシャットダウンだけになった。
23
+ - **`instructions`** — `initialize` の応答としてクライアントへ返す射程の宣言を追加した。README はモデルが読まず、ツールの `description` はそのツールを検討する時点まで読まれない。`instructions` はツールを 1 つも呼ばないうちにクライアントのシステムコンテキストに載る。書いたのは「しないこと」で、(1) `execute_stream` は RxJS 以外のモジュールを持たない worker で動くため呼び出し元のプロジェクトのコードは動かない、(2) `lint_rxjs` と `detect_memory_leak` は型情報を持たない正規表現照合であり、指摘が 0 件であることはコードが正しいことの証拠にならない、(3) `analyze_operators` / `suggest_pattern` が参照するのは RxJS 7.8.2 に固定した同梱データで、報告されないオペレーターは「データに無い」であって「RxJS に無い」ではない、の 3 点。
24
+ - **`src/server.test.ts`** — 実物の `Client` を in-process で繋いで検証する 6 ケース。`tools/list` が 6 ツールを JSON Schema 付きで返すこと、`.describe()` の説明文が残ること、`annotations` が届くこと、`instructions` が `initialize` の応答に載ること、`z.enum` が拒否する引数がハンドラ到達前に `isError: true` で返ること、`tools/call` で実際にストリームが動くことを見る。zod 変換の失敗は `tsc` でも既存のユニットテストでも検出できないため、このファイルが移行の合格基準を担う。
25
+ - **`@modelcontextprotocol/client`** を devDependencies に追加(上記テスト用。実行時依存ではない)。
26
+ - **`.claude-plugin/plugin.json`** — shuji-bonji marketplace から `/plugin install` できるようにした。`mcpServers` のキーは `rxjs` で、`npx -y @shuji-bonji/rxjs-mcp@latest` を起動する。`claude_desktop_config.json` に手で書いていた設定と同じキー名なので、プラグイン経由に切り替えてもツール名は変わらない。
27
+
28
+ ### Compatibility
29
+
30
+ - MCP クライアントから見た挙動は変わらない。ツール名 6 つ、入力スキーマ、`annotations`、返すテキストのいずれも変更なし。
31
+ - `serveStdio` は既定で 2025 世代のプロトコル改訂を話すクライアントも同じ factory から serve する(`legacy: 'serve'`)。`protocolVersion: '2024-11-05'` で `initialize` する既存の統合テスト(`src/tools/mcp-integration.test.ts` の 8 件、`test-mcp-server.mjs` の 7 件)は、いずれも `dist/index.js` を実際に spawn したまま無修正で通る。
32
+ - Node.js 要件は `>=22.0.0` のまま(v2 の下限は 20)。CI の Node 22 / 24 のマトリクスも変更なし。
33
+ - 各ツールのハンドラ内に残っている `inputSchema.parse(args)` は、SDK 側の検証と二重になる。ユニットテストがハンドラを直接呼び、`takeCount` や `timeout` の既定値をこの `parse` から得ているため残した。
34
+
35
+ ## [0.4.1] - 2026-05-17
36
+
37
+ ### Changed
38
+ - **`detect_memory_leak`**: 単純な subscribe/unsubscribe カウント比較を廃止し、`takeUntilDestroyed()`(Angular 16+)/ `take(N)` / `first()` / `firstValueFrom` / `useEffect` cleanup / `onUnmounted` 等の **自動クリーンアップパターンを認識** するように改修。これにより、Angular 16+ の `takeUntilDestroyed()` 等を使った現代的なコードに対する false positive を解消。
39
+ - **`detect_memory_leak`** の description に "Recognizes modern auto-cleanup patterns" を明記。
40
+ - **memory-leak と lint_rxjs の検出ロジック共通化**: `src/shared/subscription-analysis.ts` を新設し、サブスクリプション解析のヒューリスティクスを一元化。
41
+
42
+ ### Fixed
43
+ - **`getWorkerPath()` の Windows 非互換**: `__dirname.includes('/src/')` というハードコードを `path.sep` 経由のセグメント走査に変更。Windows (`\src\`) でも src/dist 判定が正しく動作するように。
44
+ - **`marble-diagram.ts`**: 未使用変数 `index` 削除、case block の `const value` をブロック化、内部ヘルパー `parseMarbleSyntax` の名前を `_parseMarbleSyntax`(未使用許可・将来の marble syntax 入力対応用)に整理。
45
+
46
+ ### Infrastructure
47
+ - **ESLint 自己適用**: `eslint.config.js`(flat config)を追加し、`@eslint/js` + `typescript-eslint` を全 `src/` に、`eslint-plugin-rxjs-x` を `execute-stream*.ts` のみに(type-aware)適用。`npm run lint` / `npm run lint:fix` を追加し、CI workflow にも `Lint` ステップを追加。
48
+ - **Dependabot**: `.github/dependabot.yml` を追加。npm 依存(dev/prod グループ分け、週次)と GitHub Actions(月次)を自動更新。
49
+ - **MCP integration test の vitest 化**: `src/tools/mcp-integration.test.ts` を新規追加。子プロセスとして `dist/index.js` を spawn し、JSON-RPC で全 6 ツールを実機テスト。`npm test` で一括実行可能(dist 未ビルド時は自動 skip)。既存の `test-mcp-server.mjs` は legacy 用に残存(`npm run test:mcp`)。
50
+
8
51
  ## [0.4.0] - 2026-05-17
9
52
 
10
53
  ### Added
package/README.ja.md CHANGED
@@ -62,8 +62,19 @@ ClaudeなどのAIアシスタントから直接RxJSストリームを実行、
62
62
  - 状態管理
63
63
  - その他多数...
64
64
 
65
+ ### 🔍 RxJS Lint(v0.4.0〜)
66
+ - eslint-plugin-rxjs-x ルールの正規表現ベース再実装
67
+ - ESLint / TypeScript パーサー不要で即チェック
68
+ - recommended(20ルール)/ strict(28ルール)の2段階
69
+ - Angular / React / Vue 固有のフレームワークルール対応
70
+
65
71
  ## インストール
66
72
 
73
+ ### 必要環境
74
+
75
+ - **Node.js >= 22**(`engines.node`)。本サーバーが使う MCP TypeScript SDK v2 の
76
+ 要件は Node.js >= 20 だが、メンテナンス中の LTS に揃えるため上限側に寄せている。
77
+
67
78
  ```bash
68
79
  # グローバルインストール
69
80
  npm install -g @shuji-bonji/rxjs-mcp
@@ -197,6 +208,31 @@ source$.pipe(
197
208
  - `cache-refresh` - リフレッシュ戦略付きキャッシュ
198
209
  - その他多数...
199
210
 
211
+ ### lint_rxjs
212
+
213
+ RxJSコードスニペットを静的解析し、一般的な問題とベストプラクティスを検出します。[eslint-plugin-rxjs-x](https://github.com/JasonWeinzierl/eslint-plugin-rxjs-x) のルールを正規表現ベースで再実装しています(ESLint不要)。
214
+
215
+ ```typescript
216
+ // パラメータ:
217
+ {
218
+ code: string; // 解析対象の RxJS コード
219
+ config?: 'recommended' | 'strict'; // ルールセット(デフォルト: recommended)
220
+ framework?: 'angular' | 'react' | 'vue' | 'none'; // フレームワークコンテキスト
221
+ rules?: string[]; // 個別ルール指定(config を上書き)
222
+ }
223
+ ```
224
+
225
+ **Config レベル:**
226
+
227
+ - `recommended` — 最も一般的な問題をカバーする20ルール
228
+ - `strict` — スタイルチェック含む全ルール(finnish, no-exposed-subjects 等)
229
+
230
+ **フレームワーク固有チェック:**
231
+
232
+ - **Angular** — コンポーネント内の `takeUntilDestroyed()` / `takeUntil(destroy$)` 欠落を検出
233
+ - **React** — `useEffect` なしの `subscribe()` を検出
234
+ - **Vue** — `onUnmounted` なしの `subscribe()` を検出
235
+
200
236
  ## 使用例
201
237
 
202
238
  ### Claudeでの使用
@@ -300,9 +336,16 @@ RxJS MCP Serverは以下と組み合わせて使用できます:
300
336
  │ • analyze_operators│
301
337
  │ • detect_memory_leak│
302
338
  │ • suggest_pattern│
339
+ │ • lint_rxjs │
303
340
  └─────────────────┘
304
341
  ```
305
342
 
343
+ 本サーバーは **MCP TypeScript SDK v2**
344
+ (`@modelcontextprotocol/server@^2.0.0`、プロトコル改訂 2026-07-28) の上に構築している。
345
+ トランスポートは stdio のみで、`src/index.ts` が `src/server.ts` の `createServer()`
346
+ ファクトリを `serveStdio()` に渡す。`serveStdio()` は 2025 世代のプロトコル改訂を話す
347
+ クライアントも同じファクトリから serve する。
348
+
306
349
  ## コントリビューション
307
350
 
308
351
  コントリビューションを歓迎します!お気軽にPRを送ってください。
package/README.md CHANGED
@@ -71,6 +71,12 @@ Execute, debug, and visualize RxJS streams directly from AI assistants like Clau
71
71
 
72
72
  ## Installation
73
73
 
74
+ ### Requirements
75
+
76
+ - **Node.js >= 22** (`engines.node`). The MCP TypeScript SDK v2 this server is
77
+ built on requires Node.js >= 20; this package sets the higher floor to stay on
78
+ a maintained LTS line.
79
+
74
80
  ```bash
75
81
  # Install globally
76
82
  npm install -g @shuji-bonji/rxjs-mcp
@@ -358,6 +364,12 @@ Future Meta-MCP integration will allow seamless coordination between these tools
358
364
  └─────────────────┘
359
365
  ```
360
366
 
367
+ The server is built on the **MCP TypeScript SDK v2**
368
+ (`@modelcontextprotocol/server@^2.0.0`, protocol revision 2026-07-28). It speaks
369
+ stdio only: `src/index.ts` hands the `createServer()` factory in `src/server.ts`
370
+ to `serveStdio()`, which also serves clients that still speak the 2025 protocol
371
+ revisions.
372
+
361
373
  ## Documentation Reference System
362
374
 
363
375
  Since v0.3.0, `analyze_operators` outputs three-tier documentation links for each operator and creation function:
@@ -1 +1 @@
1
- {"version":3,"file":"lint-rules.d.ts","sourceRoot":"","sources":["../../src/data/lint-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,cAAc,EAAE,CAAC;CACxE;AAigCD,eAAO,MAAM,YAAY,EAAE,QAAQ,EAiClC,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,CAMhE"}
1
+ {"version":3,"file":"lint-rules.d.ts","sourceRoot":"","sources":["../../src/data/lint-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAK,cAAc,EAAE,CAAC;CACxE;AA+/BD,eAAO,MAAM,YAAY,EAAE,QAAQ,EAiClC,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,EAAE,CAMhE"}
@@ -252,9 +252,9 @@ const noNestedSubscribe = {
252
252
  continue;
253
253
  // Check if any other subscribe match falls inside this range
254
254
  const innerContent = code.slice(outerStart + 1, endIndex);
255
- const innerSubscribe = /\.subscribe\s*\(/.exec(innerContent);
256
- if (innerSubscribe) {
257
- const absolutePos = outerStart + 1 + innerSubscribe.index;
255
+ const innerSubscribes = findAll(innerContent, /\.subscribe\s*\(/g);
256
+ for (const innerSub of innerSubscribes) {
257
+ const absolutePos = outerStart + 1 + innerSub.index;
258
258
  diagnostics.push({
259
259
  rule: this.name,
260
260
  severity: this.severity,
@@ -263,7 +263,6 @@ const noNestedSubscribe = {
263
263
  suggestion: 'Refactor to: source$.pipe(switchMap(value => inner$)).subscribe()',
264
264
  docUrl: this.docUrl,
265
265
  });
266
- break; // Report once per code snippet
267
266
  }
268
267
  }
269
268
  return diagnostics;
@@ -446,7 +445,6 @@ const noUnsafeTakeuntil = {
446
445
  suggestion: 'Move takeUntil to the end of the pipe (before share/finalize only).',
447
446
  docUrl: this.docUrl,
448
447
  });
449
- break;
450
448
  }
451
449
  }
452
450
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lint-rules.js","sourceRoot":"","sources":["../../src/data/lint-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-rules.js","sourceRoot":"","sources":["../../src/data/lint-rules.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,98 +1,47 @@
1
1
  #!/usr/bin/env node
2
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
5
- import { zodToJsonSchema } from 'zod-to-json-schema';
6
- import { executeStreamTool } from './tools/execute-stream.js';
7
- import { generateMarbleTool } from './tools/marble-diagram.js';
8
- import { analyzeOperatorsTool } from './tools/analyze-operators.js';
9
- import { detectMemoryLeakTool } from './tools/memory-leak.js';
10
- import { suggestPatternTool } from './tools/suggest-pattern.js';
11
- import { lintRxjsTool } from './tools/lint-rxjs.js';
12
- // Server configuration
13
- const server = new Server({
14
- name: 'rxjs-mcp',
15
- version: '0.4.0',
16
- }, {
17
- capabilities: {
18
- tools: {},
19
- },
20
- });
21
- // Tool definitions
22
- const tools = [
23
- executeStreamTool.definition,
24
- generateMarbleTool.definition,
25
- analyzeOperatorsTool.definition,
26
- detectMemoryLeakTool.definition,
27
- suggestPatternTool.definition,
28
- lintRxjsTool.definition,
29
- ];
30
- // Tool handlers mapping
31
- const toolHandlers = {
32
- 'execute_stream': executeStreamTool.handler,
33
- 'generate_marble': generateMarbleTool.handler,
34
- 'analyze_operators': analyzeOperatorsTool.handler,
35
- 'detect_memory_leak': detectMemoryLeakTool.handler,
36
- 'suggest_pattern': suggestPatternTool.handler,
37
- 'lint_rxjs': lintRxjsTool.handler,
38
- };
39
- // Handle list tools request
40
- server.setRequestHandler(ListToolsRequestSchema, async () => {
41
- return {
42
- tools: tools.map(tool => ({
43
- name: tool.name,
44
- description: tool.description,
45
- inputSchema: zodToJsonSchema(tool.inputSchema, { target: 'openApi3' }),
46
- outputSchema: tool.outputSchema,
47
- annotations: tool.annotations,
48
- })),
49
- };
50
- });
51
- // Handle tool execution request
52
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
53
- const { name, arguments: args } = request.params;
54
- const handler = toolHandlers[name];
55
- if (!handler) {
56
- throw new McpError(ErrorCode.MethodNotFound, `Tool "${name}" not found. Available tools: ${Object.keys(toolHandlers).join(', ')}`);
57
- }
2
+ import { serveStdio } from '@modelcontextprotocol/server/stdio';
3
+ import { createServer, SERVER_NAME, SERVER_VERSION } from './server.js';
4
+ /**
5
+ * Handle returned by `serveStdio`. Closed on shutdown so the transport is torn
6
+ * down before the process exits.
7
+ */
8
+ let stdioHandle;
9
+ /**
10
+ * Start the server on stdio.
11
+ *
12
+ * `serveStdio` owns the transport and the protocol era decision: the opening
13
+ * exchange selects the era, one instance from the factory is pinned for the
14
+ * lifetime of the connection, and clients speaking the 2025 revisions are
15
+ * served from the same factory (`legacy: 'serve'` is the default).
16
+ */
17
+ function runStdio() {
18
+ stdioHandle = serveStdio(() => createServer(), {
19
+ onerror: (error) => console.error(`stdio transport error: ${error.message}`),
20
+ });
21
+ // stdout is the JSON-RPC channel, so every log line goes to stderr.
22
+ console.error(`${SERVER_NAME} v${SERVER_VERSION} running on stdio`);
23
+ }
24
+ async function gracefulShutdown(signal) {
25
+ console.error(`Received ${signal}, shutting down RxJS MCP Server...`);
58
26
  try {
59
- const result = await handler(args);
60
- return {
61
- content: result.content,
62
- };
27
+ await stdioHandle?.close();
28
+ process.exit(0);
63
29
  }
64
30
  catch (error) {
65
- if (error instanceof McpError) {
66
- throw error;
67
- }
68
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
69
- throw new McpError(ErrorCode.InternalError, `Tool "${name}" failed: ${errorMessage}`);
31
+ console.error('Shutdown error:', error);
32
+ process.exit(1);
70
33
  }
71
- });
72
- // Start the server
73
- async function main() {
74
- const transport = new StdioServerTransport();
34
+ }
35
+ function main() {
36
+ process.on('SIGINT', () => void gracefulShutdown('SIGINT'));
37
+ process.on('SIGTERM', () => void gracefulShutdown('SIGTERM'));
75
38
  try {
76
- await server.connect(transport);
77
- console.error('RxJS MCP Server started successfully');
39
+ runStdio();
78
40
  }
79
41
  catch (error) {
80
42
  console.error('Failed to start RxJS MCP Server:', error);
81
43
  process.exit(1);
82
44
  }
83
45
  }
84
- // Handle graceful shutdown
85
- process.on('SIGINT', async () => {
86
- console.error('Shutting down RxJS MCP Server...');
87
- process.exit(0);
88
- });
89
- process.on('SIGTERM', async () => {
90
- console.error('Shutting down RxJS MCP Server...');
91
- process.exit(0);
92
- });
93
- // Run the server
94
- main().catch((error) => {
95
- console.error('Fatal error:', error);
96
- process.exit(1);
97
- });
46
+ main();
98
47
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,mBAAmB;AACnB,MAAM,KAAK,GAAqB;IAC9B,iBAAiB,CAAC,UAAU;IAC5B,kBAAkB,CAAC,UAAU;IAC7B,oBAAoB,CAAC,UAAU;IAC/B,oBAAoB,CAAC,UAAU;IAC/B,kBAAkB,CAAC,UAAU;IAC7B,YAAY,CAAC,UAAU;CACxB,CAAC;AAEF,wBAAwB;AACxB,MAAM,YAAY,GAAgC;IAChD,gBAAgB,EAAE,iBAAiB,CAAC,OAAO;IAC3C,iBAAiB,EAAE,kBAAkB,CAAC,OAAO;IAC7C,mBAAmB,EAAE,oBAAoB,CAAC,OAAO;IACjD,oBAAoB,EAAE,oBAAoB,CAAC,OAAO;IAClD,iBAAiB,EAAE,kBAAkB,CAAC,OAAO;IAC7C,WAAW,EAAE,YAAY,CAAC,OAAO;CAClC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACtE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,cAAc,EACxB,SAAS,IAAI,iCAAiC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvF,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,SAAS,IAAI,aAAa,YAAY,EAAE,CACzC,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,iBAAiB;AACjB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAA0B,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExE;;;GAGG;AACH,IAAI,WAA0C,CAAC;AAE/C;;;;;;;GAOG;AACH,SAAS,QAAQ;IACf,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE;QAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC;KAC7E,CAAC,CAAC;IAEH,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,KAAK,cAAc,mBAAmB,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,oCAAoC,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { McpServer } from '@modelcontextprotocol/server';
2
+ export declare const SERVER_NAME = "rxjs-mcp";
3
+ export declare const SERVER_VERSION: string;
4
+ /**
5
+ * Create and configure the MCP server.
6
+ *
7
+ * This is the factory the stdio entry point hands to `serveStdio`, and the
8
+ * same factory the protocol tests drive in-process through `createMcpHandler`.
9
+ */
10
+ export declare function createServer(): McpServer;
11
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAczD,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,cAAc,QAAU,CAAC;AAoCtC;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAsBxC"}
package/dist/server.js ADDED
@@ -0,0 +1,67 @@
1
+ import { McpServer } from '@modelcontextprotocol/server';
2
+ import { createRequire } from 'node:module';
3
+ import { executeStreamTool } from './tools/execute-stream.js';
4
+ import { generateMarbleTool } from './tools/marble-diagram.js';
5
+ import { analyzeOperatorsTool } from './tools/analyze-operators.js';
6
+ import { detectMemoryLeakTool } from './tools/memory-leak.js';
7
+ import { suggestPatternTool } from './tools/suggest-pattern.js';
8
+ import { lintRxjsTool } from './tools/lint-rxjs.js';
9
+ import { RXJS_VERSION_TAG } from './types.js';
10
+ // Read version from package.json (single source of truth)
11
+ const require = createRequire(import.meta.url);
12
+ const { version } = require('../package.json');
13
+ export const SERVER_NAME = 'rxjs-mcp';
14
+ export const SERVER_VERSION = version;
15
+ /**
16
+ * Returned to the client in the `initialize` response, so it is read before
17
+ * any tool is chosen — earlier than the README and earlier than any tool
18
+ * description. What it has to prevent is this server being read as an
19
+ * authority on the caller's project: `execute_stream` runs a snippet in a
20
+ * worker that has RxJS and nothing else, `lint_rxjs` and `detect_memory_leak`
21
+ * match text rather than types, and the operator data is a bundled snapshot
22
+ * rather than a live view of rxjs.dev. Each of those reads as a general
23
+ * capability when only the tool names are seen.
24
+ */
25
+ const INSTRUCTIONS = [
26
+ 'This server executes and inspects RxJS snippets in isolation. It does NOT run the caller\'s project.',
27
+ '',
28
+ 'What it does NOT do:',
29
+ `- It does not read, write, or import files from the caller's workspace. execute_stream evaluates the snippet in a worker thread whose only module is RxJS ${RXJS_VERSION_TAG} — no DOM, no network, no project dependencies. A snippet that imports from the project will not run here.`,
30
+ '- lint_rxjs and detect_memory_leak match source text with regular expressions. They have no type information, so they do not replace running eslint-plugin-rxjs-x in the project, and a result with no findings is not evidence that the code is correct.',
31
+ `- analyze_operators and suggest_pattern read a bundled dataset pinned to RxJS ${RXJS_VERSION_TAG}. An operator this server does not report is an operator the dataset does not carry, NOT an operator that does not exist in RxJS.`,
32
+ '- It does not fetch rxjs.dev at call time. The Official / Source / Guide links in the output are built from the operator name.',
33
+ '',
34
+ 'Tool results carry links to rxjs.dev (authoritative, for humans), the pinned GitHub source (JSDoc and implementation, readable by a model), and a bilingual guide. Follow the source link when the exact semantics of an operator decide the answer.',
35
+ ].join('\n');
36
+ /**
37
+ * Every tool this server exposes, in the order they are advertised.
38
+ */
39
+ const tools = [
40
+ executeStreamTool,
41
+ generateMarbleTool,
42
+ analyzeOperatorsTool,
43
+ detectMemoryLeakTool,
44
+ suggestPatternTool,
45
+ lintRxjsTool,
46
+ ];
47
+ /**
48
+ * Create and configure the MCP server.
49
+ *
50
+ * This is the factory the stdio entry point hands to `serveStdio`, and the
51
+ * same factory the protocol tests drive in-process through `createMcpHandler`.
52
+ */
53
+ export function createServer() {
54
+ const server = new McpServer({
55
+ name: SERVER_NAME,
56
+ version: SERVER_VERSION,
57
+ }, { instructions: INSTRUCTIONS });
58
+ for (const { definition, handler } of tools) {
59
+ server.registerTool(definition.name, {
60
+ description: definition.description,
61
+ inputSchema: definition.inputSchema,
62
+ annotations: definition.annotations,
63
+ }, async (args) => handler(args));
64
+ }
65
+ return server;
66
+ }
67
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,0DAA0D;AAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG;IACnB,sGAAsG;IACtG,EAAE;IACF,sBAAsB;IACtB,6JAA6J,gBAAgB,4GAA4G;IACzR,2PAA2P;IAC3P,iFAAiF,gBAAgB,mIAAmI;IACpO,gIAAgI;IAChI,EAAE;IACF,sPAAsP;CACvP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;GAEG;AACH,MAAM,KAAK,GAAyB;IAClC,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;CACb,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;KACxB,EACD,EAAE,YAAY,EAAE,YAAY,EAAE,CAC/B,CAAC;IAEF,KAAK,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,YAAY,CACjB,UAAU,CAAC,IAAI,EACf;YACE,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,WAAW,EAAE,UAAU,CAAC,WAAW;SACpC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}