@shuji-bonji/rfcxml-mcp 0.4.5 → 0.4.7
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/README.ja.md +25 -7
- package/README.md +21 -7
- package/package.json +2 -1
package/README.ja.md
CHANGED
|
@@ -60,7 +60,9 @@ MCP 設定ファイルに以下を追加:
|
|
|
60
60
|
|
|
61
61
|
- **Claude Desktop (macOS)**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
62
62
|
- **Claude Desktop (Windows)**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
63
|
-
- **Claude Code**: `.
|
|
63
|
+
- **Claude Code (プロジェクトスコープ)**: プロジェクトルートの `.mcp.json`
|
|
64
|
+
- **Claude Code (ユーザースコープ)**: `~/.claude.json`
|
|
65
|
+
- **Claude Code (CLI)**: `claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcp`
|
|
64
66
|
|
|
65
67
|
### インストール(オプション)
|
|
66
68
|
|
|
@@ -68,8 +70,11 @@ MCP 設定ファイルに以下を追加:
|
|
|
68
70
|
|
|
69
71
|
```bash
|
|
70
72
|
npm install -g @shuji-bonji/rfcxml-mcp
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
MCP 設定:
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
```json
|
|
73
78
|
{
|
|
74
79
|
"mcpServers": {
|
|
75
80
|
"rfcxml": {
|
|
@@ -275,20 +280,27 @@ RFC 9293 (TCP) の実装チェックリストを生成してください。
|
|
|
275
280
|
src/
|
|
276
281
|
├── index.ts # MCP サーバーエントリポイント
|
|
277
282
|
├── config.ts # 設定の一元管理
|
|
278
|
-
├── constants.ts # BCP 14 キーワード定義
|
|
283
|
+
├── constants.ts # BCP 14 キーワード定義 + RFC 番号制限
|
|
279
284
|
├── services/
|
|
280
285
|
│ ├── rfc-fetcher.ts # RFC 取得(並列フェッチ)
|
|
286
|
+
│ ├── rfc-service.ts # RFC パース・キャッシュ管理
|
|
281
287
|
│ ├── rfcxml-parser.ts # RFCXML パーサー
|
|
282
|
-
│
|
|
288
|
+
│ ├── rfc-text-parser.ts # テキストフォールバックパーサー
|
|
289
|
+
│ └── checklist-generator.ts # チェックリスト生成サービス
|
|
283
290
|
├── tools/
|
|
284
291
|
│ ├── definitions.ts # MCP ツール定義
|
|
285
|
-
│ └── handlers.ts #
|
|
292
|
+
│ └── handlers.ts # ツールハンドラー(toolHandlers マップ)
|
|
286
293
|
├── types/
|
|
287
294
|
│ └── index.ts # 型定義
|
|
288
295
|
└── utils/
|
|
289
296
|
├── cache.ts # LRU キャッシュ
|
|
290
297
|
├── fetch.ts # 並列フェッチユーティリティ
|
|
291
|
-
|
|
298
|
+
├── logger.ts # ログ抽象化
|
|
299
|
+
├── requirement-extractor.ts # 共通要件抽出
|
|
300
|
+
├── section.ts # セクション検索ユーティリティ
|
|
301
|
+
├── statement-matcher.ts # 重み付きマッチング
|
|
302
|
+
├── text.ts # テキスト処理ユーティリティ
|
|
303
|
+
└── validation.ts # 入力バリデーション
|
|
292
304
|
```
|
|
293
305
|
|
|
294
306
|
### RFC 取得の最適化
|
|
@@ -339,9 +351,15 @@ npm run dev
|
|
|
339
351
|
# ビルド
|
|
340
352
|
npm run build
|
|
341
353
|
|
|
342
|
-
#
|
|
354
|
+
# テスト(ウォッチモード)
|
|
343
355
|
npm test
|
|
344
356
|
|
|
357
|
+
# テスト(単発実行 — CI 等で使用)
|
|
358
|
+
npm test -- --run
|
|
359
|
+
|
|
360
|
+
# E2E テスト(MCP クライアント統合)
|
|
361
|
+
npm run test:e2e
|
|
362
|
+
|
|
345
363
|
# リント
|
|
346
364
|
npm run lint
|
|
347
365
|
|
package/README.md
CHANGED
|
@@ -66,7 +66,9 @@ Configuration file locations:
|
|
|
66
66
|
|
|
67
67
|
- **Claude Desktop (macOS)**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
68
68
|
- **Claude Desktop (Windows)**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
69
|
-
- **Claude Code**: `.
|
|
69
|
+
- **Claude Code (project scope)**: `.mcp.json` at the project root
|
|
70
|
+
- **Claude Code (user scope)**: `~/.claude.json`
|
|
71
|
+
- **Claude Code (CLI)**: `claude mcp add rfcxml -- npx -y @shuji-bonji/rfcxml-mcp`
|
|
70
72
|
|
|
71
73
|
### Installation (Optional)
|
|
72
74
|
|
|
@@ -74,8 +76,11 @@ For global installation:
|
|
|
74
76
|
|
|
75
77
|
```bash
|
|
76
78
|
npm install -g @shuji-bonji/rfcxml-mcp
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Then configure MCP:
|
|
77
82
|
|
|
78
|
-
|
|
83
|
+
```json
|
|
79
84
|
{
|
|
80
85
|
"mcpServers": {
|
|
81
86
|
"rfcxml": {
|
|
@@ -118,7 +123,7 @@ All responses include source information:
|
|
|
118
123
|
"rfc": 6455,
|
|
119
124
|
"sections": [...],
|
|
120
125
|
"_source": "text",
|
|
121
|
-
"_sourceNote": "
|
|
126
|
+
"_sourceNote": "Warning: Parsed from text format. Accuracy may be limited."
|
|
122
127
|
}
|
|
123
128
|
```
|
|
124
129
|
|
|
@@ -249,7 +254,7 @@ Role: Client
|
|
|
249
254
|
{ "number": "5", "title": "Data Framing" }
|
|
250
255
|
],
|
|
251
256
|
"_source": "text",
|
|
252
|
-
"_sourceNote": "
|
|
257
|
+
"_sourceNote": "Warning: Parsed from text format. Accuracy may be limited."
|
|
253
258
|
}
|
|
254
259
|
```
|
|
255
260
|
|
|
@@ -277,22 +282,25 @@ Generate an implementation checklist for RFC 9293 (TCP).
|
|
|
277
282
|
src/
|
|
278
283
|
├── index.ts # MCP server entry point
|
|
279
284
|
├── config.ts # Centralized configuration
|
|
280
|
-
├── constants.ts # BCP 14 keyword definitions
|
|
285
|
+
├── constants.ts # BCP 14 keyword definitions + RFC number limits
|
|
281
286
|
├── services/
|
|
282
287
|
│ ├── rfc-fetcher.ts # RFC fetching (parallel)
|
|
288
|
+
│ ├── rfc-service.ts # RFC parse & cache management
|
|
283
289
|
│ ├── rfcxml-parser.ts # RFCXML parser
|
|
284
290
|
│ ├── rfc-text-parser.ts # Text fallback parser
|
|
285
291
|
│ └── checklist-generator.ts # Checklist generation service
|
|
286
292
|
├── tools/
|
|
287
293
|
│ ├── definitions.ts # MCP tool definitions
|
|
288
|
-
│ └── handlers.ts # Tool handlers
|
|
294
|
+
│ └── handlers.ts # Tool handlers (toolHandlers map)
|
|
289
295
|
├── types/
|
|
290
296
|
│ └── index.ts # Type definitions
|
|
291
297
|
└── utils/
|
|
292
298
|
├── cache.ts # LRU cache
|
|
293
299
|
├── fetch.ts # Parallel fetch utility
|
|
300
|
+
├── logger.ts # Logger abstraction
|
|
294
301
|
├── requirement-extractor.ts # Shared requirement extraction
|
|
295
302
|
├── section.ts # Section search utilities
|
|
303
|
+
├── statement-matcher.ts # Weighted statement matching
|
|
296
304
|
├── text.ts # Text processing utility
|
|
297
305
|
└── validation.ts # Input validation
|
|
298
306
|
```
|
|
@@ -345,9 +353,15 @@ npm run dev
|
|
|
345
353
|
# Build
|
|
346
354
|
npm run build
|
|
347
355
|
|
|
348
|
-
# Test
|
|
356
|
+
# Test (watch mode)
|
|
349
357
|
npm test
|
|
350
358
|
|
|
359
|
+
# Test (single run — for CI etc.)
|
|
360
|
+
npm test -- --run
|
|
361
|
+
|
|
362
|
+
# E2E test (MCP client integration)
|
|
363
|
+
npm run test:e2e
|
|
364
|
+
|
|
351
365
|
# Lint
|
|
352
366
|
npm run lint
|
|
353
367
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shuji-bonji/rfcxml-mcp",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "MCP server for structured understanding of RFC documents via RFCXML",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"dev": "tsc --watch",
|
|
31
31
|
"start": "node dist/index.js",
|
|
32
32
|
"test": "vitest",
|
|
33
|
+
"test:e2e": "node tests/e2e/mcp-client-test.mjs",
|
|
33
34
|
"lint": "eslint src",
|
|
34
35
|
"format": "prettier --write src",
|
|
35
36
|
"format:check": "prettier --check src",
|