@search-docs/mcp-server 1.1.5 → 1.2.1

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.
Files changed (37) hide show
  1. package/README.md +57 -3
  2. package/dist/__tests__/dynamic-tool-update.test.d.ts +7 -0
  3. package/dist/__tests__/dynamic-tool-update.test.d.ts.map +1 -0
  4. package/dist/__tests__/dynamic-tool-update.test.js +109 -0
  5. package/dist/__tests__/dynamic-tool-update.test.js.map +1 -0
  6. package/dist/server.js +60 -28
  7. package/dist/server.js.map +1 -1
  8. package/dist/tools/get-document.d.ts +2 -2
  9. package/dist/tools/get-document.d.ts.map +1 -1
  10. package/dist/tools/get-document.js +1 -1
  11. package/dist/tools/get-document.js.map +1 -1
  12. package/dist/tools/index-status.d.ts +2 -2
  13. package/dist/tools/index-status.d.ts.map +1 -1
  14. package/dist/tools/index-status.js +1 -1
  15. package/dist/tools/index-status.js.map +1 -1
  16. package/dist/tools/index.d.ts +1 -1
  17. package/dist/tools/index.d.ts.map +1 -1
  18. package/dist/tools/init.d.ts +2 -2
  19. package/dist/tools/init.d.ts.map +1 -1
  20. package/dist/tools/init.js +11 -5
  21. package/dist/tools/init.js.map +1 -1
  22. package/dist/tools/search.d.ts +2 -2
  23. package/dist/tools/search.d.ts.map +1 -1
  24. package/dist/tools/search.js +1 -1
  25. package/dist/tools/search.js.map +1 -1
  26. package/dist/tools/server-control.d.ts +3 -3
  27. package/dist/tools/server-control.d.ts.map +1 -1
  28. package/dist/tools/server-control.js +16 -6
  29. package/dist/tools/server-control.js.map +1 -1
  30. package/dist/tools/system-status.d.ts +2 -2
  31. package/dist/tools/system-status.d.ts.map +1 -1
  32. package/dist/tools/system-status.js +1 -1
  33. package/dist/tools/system-status.js.map +1 -1
  34. package/dist/tools/types.d.ts +5 -0
  35. package/dist/tools/types.d.ts.map +1 -1
  36. package/package.json +18 -17
  37. package/LICENSE +0 -21
package/README.md CHANGED
@@ -8,11 +8,61 @@ Claude Codeから直接search-docsを利用するためのMCP Serverです。
8
8
 
9
9
  ## 提供機能
10
10
 
11
+ ### 動的ツール登録
12
+
13
+ v1.1.6以降、MCP Serverはシステム状態に応じて利用可能なツールを動的に変更します。
14
+
15
+ **システム状態とツールの対応**:
16
+
17
+ | 状態 | init | server_start | server_stop | get_system_status | search | get_document | index_status |
18
+ |------|------|--------------|-------------|-------------------|--------|--------------|--------------|
19
+ | NOT_CONFIGURED(未設定) | ✓ | - | - | ✓ | - | - | - |
20
+ | CONFIGURED_SERVER_DOWN(設定済み・サーバ停止) | ✓ | ✓ | ✓ | ✓ | - | - | - |
21
+ | RUNNING(稼働中) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
22
+
23
+ **状態遷移時の自動更新**:
24
+ - `init`実行後、自動的にツールリストが更新され、`server_start`などが利用可能になります
25
+ - `server_start`実行後、検索系ツール(`search`、`get_document`、`index_status`)が利用可能になります
26
+ - `server_stop`実行後、検索系ツールは利用できなくなります
27
+
11
28
  ### ツール一覧
12
29
 
13
- #### 1. `search`
30
+ #### 1. `init`
31
+ 設定ファイルを初期化します。
32
+
33
+ **利用可能条件**: 常時
34
+
35
+ **パラメータ**:
36
+ - `port` (number, オプション): サーバポート番号
37
+ - `force` (boolean, オプション): 既存設定を上書き
38
+
39
+ #### 2. `server_start`
40
+ search-docsサーバを起動します。
41
+
42
+ **利用可能条件**: 設定済み(CONFIGURED_SERVER_DOWN または RUNNING)
43
+
44
+ **パラメータ**:
45
+ - `foreground` (boolean, オプション): フォアグラウンド起動
46
+
47
+ #### 3. `server_stop`
48
+ search-docsサーバを停止します。
49
+
50
+ **利用可能条件**: 設定済み(CONFIGURED_SERVER_DOWN または RUNNING)
51
+
52
+ **パラメータ**: なし
53
+
54
+ #### 4. `get_system_status`
55
+ システムの状態を取得します。
56
+
57
+ **利用可能条件**: 常時
58
+
59
+ **パラメータ**: なし
60
+
61
+ #### 5. `search`
14
62
  文書を検索します。
15
63
 
64
+ **利用可能条件**: サーバ稼働中(RUNNING)
65
+
16
66
  **パラメータ**:
17
67
  - `query` (string, 必須): 検索クエリ
18
68
  - `depth` (number | number[], オプション): 検索深度(0-3)
@@ -26,9 +76,11 @@ depth: 1
26
76
  limit: 5
27
77
  ```
28
78
 
29
- #### 2. `get_document`
79
+ #### 6. `get_document`
30
80
  文書の内容を取得します。
31
81
 
82
+ **利用可能条件**: サーバ稼働中(RUNNING)
83
+
32
84
  **パラメータ**:
33
85
  - `path` (string, 必須): 文書パス
34
86
 
@@ -37,9 +89,11 @@ limit: 5
37
89
  path: "docs/architecture.md"
38
90
  ```
39
91
 
40
- #### 3. `index_status`
92
+ #### 7. `index_status`
41
93
  インデックスの状態を確認します。
42
94
 
95
+ **利用可能条件**: サーバ稼働中(RUNNING)
96
+
43
97
  **パラメータ**: なし
44
98
 
45
99
  ## セットアップ
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 動的ツール更新テスト
3
+ *
4
+ * 目的: 状態遷移時にツールリストが動的に更新されることを確認する
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=dynamic-tool-update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tool-update.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/dynamic-tool-update.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * 動的ツール更新テスト
3
+ *
4
+ * 目的: 状態遷移時にツールリストが動的に更新されることを確認する
5
+ */
6
+ import { describe, test, expect, afterEach } from 'vitest';
7
+ import { setupTestEnvironment } from './helpers/test-setup.js';
8
+ describe('動的ツール更新テスト', () => {
9
+ let env = null;
10
+ afterEach(async () => {
11
+ if (env) {
12
+ await env.cleanup();
13
+ env = null;
14
+ }
15
+ });
16
+ test('init実行後にserver_startが利用可能になる', async () => {
17
+ // NOT_CONFIGURED状態で起動
18
+ env = await setupTestEnvironment({
19
+ prefix: 'dynamic-init',
20
+ createConfig: false,
21
+ port: 54330,
22
+ });
23
+ // 初期状態: init, get_system_status のみ
24
+ let response = (await env.tester.sendRequest('tools/list', {}));
25
+ let toolNames = response.tools.map((t) => t.name);
26
+ expect(toolNames).toContain('init');
27
+ expect(toolNames).toContain('get_system_status');
28
+ expect(toolNames).not.toContain('server_start');
29
+ expect(toolNames).not.toContain('server_stop');
30
+ // init実行
31
+ const initResult = await env.tester.callTool('init', {});
32
+ expect(initResult.success).toBe(true);
33
+ // 少し待機(状態更新のため)
34
+ await new Promise((resolve) => setTimeout(resolve, 100));
35
+ // tools/listを再取得
36
+ response = (await env.tester.sendRequest('tools/list', {}));
37
+ toolNames = response.tools.map((t) => t.name);
38
+ // init実行後: server_start, server_stop が追加される
39
+ expect(toolNames).toContain('init');
40
+ expect(toolNames).toContain('get_system_status');
41
+ expect(toolNames).toContain('server_start');
42
+ expect(toolNames).toContain('server_stop');
43
+ // 検索系ツールはまだ利用不可
44
+ expect(toolNames).not.toContain('search');
45
+ expect(toolNames).not.toContain('get_document');
46
+ expect(toolNames).not.toContain('index_status');
47
+ });
48
+ test('server_start実行後に検索系ツールが利用可能になる', async () => {
49
+ // CONFIGURED_SERVER_DOWN状態で起動
50
+ env = await setupTestEnvironment({
51
+ prefix: 'dynamic-start',
52
+ createConfig: true,
53
+ port: 54333,
54
+ createIndexDir: false,
55
+ });
56
+ // 初期状態: 検索系ツールは利用不可
57
+ let response = (await env.tester.sendRequest('tools/list', {}));
58
+ let toolNames = response.tools.map((t) => t.name);
59
+ expect(toolNames).toContain('server_start');
60
+ expect(toolNames).not.toContain('search');
61
+ expect(toolNames).not.toContain('get_document');
62
+ expect(toolNames).not.toContain('index_status');
63
+ // server_start実行
64
+ const startResult = await env.tester.callTool('server_start', {});
65
+ expect(startResult.success).toBe(true);
66
+ // サーバ起動完了を待機
67
+ await new Promise((resolve) => setTimeout(resolve, 2000));
68
+ // tools/listを再取得
69
+ response = (await env.tester.sendRequest('tools/list', {}));
70
+ toolNames = response.tools.map((t) => t.name);
71
+ // server_start実行後: 検索系ツールが追加される
72
+ expect(toolNames).toContain('search');
73
+ expect(toolNames).toContain('get_document');
74
+ expect(toolNames).toContain('index_status');
75
+ }, 30000);
76
+ test('server_stop実行後に検索系ツールが利用不可になる', async () => {
77
+ // RUNNING状態で起動(auto-start)
78
+ env = await setupTestEnvironment({
79
+ prefix: 'dynamic-stop',
80
+ createConfig: true,
81
+ port: 54332,
82
+ createIndexDir: true,
83
+ });
84
+ // auto-start完了を待機
85
+ await new Promise((resolve) => setTimeout(resolve, 3000));
86
+ // 初期状態: 全ツール利用可能
87
+ let response = (await env.tester.sendRequest('tools/list', {}));
88
+ let toolNames = response.tools.map((t) => t.name);
89
+ expect(toolNames).toContain('search');
90
+ expect(toolNames).toContain('get_document');
91
+ expect(toolNames).toContain('index_status');
92
+ // server_stop実行
93
+ const stopResult = await env.tester.callTool('server_stop', {});
94
+ expect(stopResult.success).toBe(true);
95
+ // サーバ停止完了を待機
96
+ await new Promise((resolve) => setTimeout(resolve, 1000));
97
+ // tools/listを再取得
98
+ response = (await env.tester.sendRequest('tools/list', {}));
99
+ toolNames = response.tools.map((t) => t.name);
100
+ // server_stop実行後: 検索系ツールが削除される
101
+ expect(toolNames).not.toContain('search');
102
+ expect(toolNames).not.toContain('get_document');
103
+ expect(toolNames).not.toContain('index_status');
104
+ // サーバ制御ツールは残る
105
+ expect(toolNames).toContain('server_start');
106
+ expect(toolNames).toContain('server_stop');
107
+ }, 40000);
108
+ });
109
+ //# sourceMappingURL=dynamic-tool-update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tool-update.test.js","sourceRoot":"","sources":["../../src/__tests__/dynamic-tool-update.test.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -54,6 +54,47 @@ function parseArgs() {
54
54
  projectDir: options.projectDir ? path.resolve(options.projectDir) : undefined,
55
55
  };
56
56
  }
57
+ /**
58
+ * ツールの有効/無効を更新
59
+ */
60
+ function updateToolAvailability(state, handles) {
61
+ debugLog(`Updating tool availability for state: ${state}`);
62
+ switch (state) {
63
+ case 'NOT_CONFIGURED':
64
+ // 未設定状態: init, get_system_status のみ
65
+ handles.init.enable();
66
+ handles.systemStatus.enable();
67
+ handles.serverStart.disable();
68
+ handles.serverStop.disable();
69
+ handles.search.disable();
70
+ handles.getDocument.disable();
71
+ handles.indexStatus.disable();
72
+ debugLog('Tools enabled: init, systemStatus');
73
+ break;
74
+ case 'CONFIGURED_SERVER_DOWN':
75
+ // 設定済み・サーバ停止状態: init, server_start, server_stop, get_system_status
76
+ handles.init.enable();
77
+ handles.serverStart.enable();
78
+ handles.serverStop.enable();
79
+ handles.systemStatus.enable();
80
+ handles.search.disable();
81
+ handles.getDocument.disable();
82
+ handles.indexStatus.disable();
83
+ debugLog('Tools enabled: init, serverStart, serverStop, systemStatus');
84
+ break;
85
+ case 'RUNNING':
86
+ // 稼働中: 全ツール
87
+ handles.init.enable();
88
+ handles.serverStart.enable();
89
+ handles.serverStop.enable();
90
+ handles.systemStatus.enable();
91
+ handles.search.enable();
92
+ handles.getDocument.enable();
93
+ handles.indexStatus.enable();
94
+ debugLog('All tools enabled');
95
+ break;
96
+ }
97
+ }
57
98
  /**
58
99
  * メイン処理
59
100
  */
@@ -112,43 +153,34 @@ async function main() {
112
153
  tools: {},
113
154
  },
114
155
  });
156
+ // ツールハンドルを保持する変数
157
+ let toolHandles = null;
115
158
  // システム状態を再検出する関数
116
159
  const refreshSystemState = async () => {
117
160
  const newState = await detectSystemState(cwd);
118
161
  // systemStateオブジェクトのプロパティを更新
119
162
  Object.assign(systemState, newState);
120
163
  debugLog(`System state refreshed: ${systemState.state}`);
164
+ // ツールの有効/無効を更新
165
+ if (toolHandles) {
166
+ updateToolAvailability(systemState.state, toolHandles);
167
+ }
121
168
  };
122
169
  // ツール登録コンテキスト
123
170
  const context = { server, systemState, refreshSystemState };
124
- // 状態に応じてツールを登録
125
- switch (systemState.state) {
126
- case 'NOT_CONFIGURED':
127
- // 未設定状態: init, get_system_status のみ
128
- debugLog('Registering tools for NOT_CONFIGURED state');
129
- registerInitTool(context);
130
- registerSystemStatusTool(context);
131
- break;
132
- case 'CONFIGURED_SERVER_DOWN':
133
- // 設定済み・サーバ停止状態: init, server_start, server_stop, get_system_status
134
- debugLog('Registering tools for CONFIGURED_SERVER_DOWN state');
135
- registerInitTool(context);
136
- registerServerStartTool(context);
137
- registerServerStopTool(context);
138
- registerSystemStatusTool(context);
139
- break;
140
- case 'RUNNING':
141
- // 稼働中: 全ツール
142
- debugLog('Registering all tools for RUNNING state');
143
- registerInitTool(context);
144
- registerServerStartTool(context);
145
- registerServerStopTool(context);
146
- registerSystemStatusTool(context);
147
- registerSearchTool(context);
148
- registerGetDocumentTool(context);
149
- registerIndexStatusTool(context);
150
- break;
151
- }
171
+ // 全ツールを登録
172
+ debugLog('Registering all tools...');
173
+ toolHandles = {
174
+ init: registerInitTool(context),
175
+ serverStart: registerServerStartTool(context),
176
+ serverStop: registerServerStopTool(context),
177
+ systemStatus: registerSystemStatusTool(context),
178
+ search: registerSearchTool(context),
179
+ getDocument: registerGetDocumentTool(context),
180
+ indexStatus: registerIndexStatusTool(context),
181
+ };
182
+ // 初期状態に応じてツールの有効/無効を設定
183
+ updateToolAvailability(systemState.state, toolHandles);
152
184
  // サーバの起動
153
185
  const transport = new StdioServerTransport();
154
186
  debugLog('Starting MCP server...');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * get_document ツール
3
3
  * 文書の内容を取得する
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * get_document ツールを登録
8
8
  */
9
- export declare function registerGetDocumentTool(context: ToolRegistrationContext): void;
9
+ export declare function registerGetDocumentTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  //# sourceMappingURL=get-document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-document.d.ts","sourceRoot":"","sources":["../../src/tools/get-document.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAwE9E"}
1
+ {"version":3,"file":"get-document.d.ts","sourceRoot":"","sources":["../../src/tools/get-document.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAwExF"}
@@ -10,7 +10,7 @@ import { getDepthLabel } from '../utils.js';
10
10
  */
11
11
  export function registerGetDocumentTool(context) {
12
12
  const { server, systemState } = context;
13
- server.registerTool('get_document', {
13
+ return server.registerTool('get_document', {
14
14
  description: '文書の内容を取得します。パス指定で文書全体、またはセクションIDで特定セクションを取得できます。pathとsectionIdのどちらか一方は必須です。',
15
15
  inputSchema: {
16
16
  path: z.string().optional().describe('文書パス(sectionIdを指定しない場合は必須)'),
@@ -1 +1 @@
1
- {"version":3,"file":"get-document.js","sourceRoot":"","sources":["../../src/tools/get-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-document.js","sourceRoot":"","sources":["../../src/tools/get-document.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,OAAO,MAAM,CAAC,YAAY,CACxB,cAAc,EACd;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAC/E;KACF,EACD,KAAK,EAAE,IAA2C,EAAE,EAAE;QACpD,SAAS;QACT,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE/C,YAAY;QACZ,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAO,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;YAE7E,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,aAAa;YACb,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAClC,UAAU,IAAI,UAAU,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,IAAI,CAAC;gBACvE,UAAU,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;gBACvD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7D,UAAU,IAAI,UAAU,UAAU,eAAe,WAAW,YAAY,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC;gBACrI,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;gBACzC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvC,UAAU,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC7B,YAAY;gBACZ,UAAU,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;gBAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACrC,UAAU,IAAI,SAAS,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBAC9D,CAAC;gBACD,UAAU,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC;gBAC1F,UAAU,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC;gBAC5F,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;gBACzC,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACxC,UAAU,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -2,9 +2,9 @@
2
2
  * index_status ツール
3
3
  * インデックスの状態を確認する
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * index_status ツールを登録
8
8
  */
9
- export declare function registerIndexStatusTool(context: ToolRegistrationContext): void;
9
+ export declare function registerIndexStatusTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  //# sourceMappingURL=index-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-status.d.ts","sourceRoot":"","sources":["../../src/tools/index-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAmD9E"}
1
+ {"version":3,"file":"index-status.d.ts","sourceRoot":"","sources":["../../src/tools/index-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAmDxF"}
@@ -8,7 +8,7 @@ import { getStateErrorMessage } from '../state.js';
8
8
  */
9
9
  export function registerIndexStatusTool(context) {
10
10
  const { server, systemState } = context;
11
- server.registerTool('index_status', {
11
+ return server.registerTool('index_status', {
12
12
  description: 'インデックスの状態を確認します。総文書数、セクション数、Dirtyセクション数などを表示します。',
13
13
  inputSchema: {},
14
14
  }, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index-status.js","sourceRoot":"","sources":["../../src/tools/index-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,SAAS;QACT,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAO,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAE1C,IAAI,UAAU,GAAG,iBAAiB,CAAC;YACnC,UAAU,IAAI,UAAU,CAAC;YACzB,UAAU,IAAI,YAAY,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;YACtD,UAAU,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YAElD,UAAU,IAAI,aAAa,CAAC;YAC5B,UAAU,IAAI,WAAW,QAAQ,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;YAC5D,UAAU,IAAI,cAAc,QAAQ,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;YAC9D,UAAU,IAAI,iBAAiB,QAAQ,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC;YAE9D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,UAAU,IAAI,aAAa,CAAC;gBAC5B,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACnE,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC;gBACxD,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC;YACrD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,eAAgB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index-status.js","sourceRoot":"","sources":["../../src/tools/index-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,OAAO,MAAM,CAAC,YAAY,CACxB,cAAc,EACd;QACE,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,SAAS;QACT,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAO,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAE1C,IAAI,UAAU,GAAG,iBAAiB,CAAC;YACnC,UAAU,IAAI,UAAU,CAAC;YACzB,UAAU,IAAI,YAAY,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;YACtD,UAAU,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YAElD,UAAU,IAAI,aAAa,CAAC;YAC5B,UAAU,IAAI,WAAW,QAAQ,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;YAC5D,UAAU,IAAI,cAAc,QAAQ,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;YAC9D,UAAU,IAAI,iBAAiB,QAAQ,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC;YAE9D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,UAAU,IAAI,aAAa,CAAC;gBAC5B,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACnE,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC;gBACxD,UAAU,IAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC;YACrD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,eAAgB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -7,5 +7,5 @@ export { registerIndexStatusTool } from './index-status.js';
7
7
  export { registerInitTool } from './init.js';
8
8
  export { registerServerStartTool, registerServerStopTool } from './server-control.js';
9
9
  export { registerSystemStatusTool } from './system-status.js';
10
- export type { ToolRegistrationContext } from './types.js';
10
+ export type { ToolRegistrationContext, RegisteredTool } from './types.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -2,9 +2,9 @@
2
2
  * init ツール
3
3
  * search-docsの設定ファイルを初期化する
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * init ツールを登録
8
8
  */
9
- export declare function registerInitTool(context: ToolRegistrationContext): void;
9
+ export declare function registerInitTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/tools/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAsEvE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/tools/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA6EjF"}
@@ -8,8 +8,8 @@ import { initConfig } from '@search-docs/cli/commands/config/init';
8
8
  * init ツールを登録
9
9
  */
10
10
  export function registerInitTool(context) {
11
- const { server, systemState } = context;
12
- server.registerTool('init', {
11
+ const { server, systemState, refreshSystemState } = context;
12
+ return server.registerTool('init', {
13
13
  description: 'search-docsの設定ファイルを初期化します。プロジェクトで初めてsearch-docsを使用する場合に実行してください。既存の設定ファイルがある場合、forceオプションを指定しない限り上書きしません。',
14
14
  inputSchema: {
15
15
  port: z
@@ -30,6 +30,8 @@ export function registerInitTool(context) {
30
30
  force,
31
31
  cwd: systemState.projectRoot,
32
32
  });
33
+ // システム状態を再検出してツールリストを更新
34
+ await refreshSystemState();
33
35
  let resultText = '✅ 設定ファイルの初期化が完了しました。\n\n';
34
36
  if (force) {
35
37
  resultText += '既存の設定ファイルを上書きしました。\n\n';
@@ -49,11 +51,15 @@ export function registerInitTool(context) {
49
51
  resultText += '**indexing.maxTokensPerSection**: セクションの最大トークン数\n';
50
52
  resultText += ' - デフォルト: 2000トークン\n';
51
53
  resultText += ' - 大きくすると粗い分割、小さくすると細かい分割になります\n\n';
54
+ resultText += '📌 重要: 新しいツール(server_start, server_stop)が利用可能になりました。\n';
55
+ resultText += ' Claude Codeを再接続すると表示されます。\n';
56
+ resultText += ' (Claude Codeは現時点でMCP通知に未対応のため、reconnectが必要です)\n\n';
52
57
  resultText += '次のステップ:\n';
53
58
  resultText += ' 1. 設定を調整(必要に応じて): .search-docs.jsonを編集\n';
54
- resultText += ' 2. サーバを起動: server_start\n';
55
- resultText += ' 3. システム状態を確認: get_system_status\n';
56
- resultText += ' 4. 文書を検索: search\n';
59
+ resultText += ' 2. **Claude Codeを再接続してツールリストを更新**\n';
60
+ resultText += ' 3. サーバを起動: server_start\n';
61
+ resultText += ' 4. システム状態を確認: get_system_status\n';
62
+ resultText += ' 5. 文書を検索: search\n';
57
63
  return {
58
64
  content: [
59
65
  {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/tools/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,WAAW,EACT,2GAA2G;QAC7G,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;SACtC;KACF,EACD,KAAK,EAAE,IAAwC,EAAE,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,UAAU,CAAC;gBACf,IAAI;gBACJ,KAAK;gBACL,GAAG,EAAE,WAAW,CAAC,WAAW;aAC7B,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,0BAA0B,CAAC;YAE5C,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,IAAI,wBAAwB,CAAC;YACzC,CAAC;YAED,UAAU,IAAI,sBAAsB,CAAC;YACrC,UAAU,IAAI,wCAAwC,CAAC;YACvD,UAAU,IAAI,2CAA2C,CAAC;YAC1D,UAAU,IAAI,iCAAiC,CAAC;YAChD,UAAU,IAAI,mCAAmC,CAAC;YAClD,UAAU,IAAI,iDAAiD,CAAC;YAChE,UAAU,IAAI,wBAAwB,CAAC;YACvC,UAAU,IAAI,4CAA4C,CAAC;YAC3D,UAAU,IAAI,iBAAiB,CAAC;YAChC,UAAU,IAAI,mBAAmB,CAAC;YAClC,UAAU,IAAI,mBAAmB,CAAC;YAClC,UAAU,IAAI,4BAA4B,CAAC;YAC3C,UAAU,IAAI,mDAAmD,CAAC;YAClE,UAAU,IAAI,uBAAuB,CAAC;YACtC,UAAU,IAAI,qCAAqC,CAAC;YACpD,UAAU,IAAI,WAAW,CAAC;YAC1B,UAAU,IAAI,4CAA4C,CAAC;YAC3D,UAAU,IAAI,6BAA6B,CAAC;YAC5C,UAAU,IAAI,qCAAqC,CAAC;YACpD,UAAU,IAAI,sBAAsB,CAAC;YAErC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/tools/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE5D,OAAO,MAAM,CAAC,YAAY,CACxB,MAAM,EACN;QACE,WAAW,EACT,2GAA2G;QAC7G,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;SACtC;KACF,EACD,KAAK,EAAE,IAAwC,EAAE,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,UAAU,CAAC;gBACf,IAAI;gBACJ,KAAK;gBACL,GAAG,EAAE,WAAW,CAAC,WAAW;aAC7B,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,kBAAkB,EAAE,CAAC;YAE3B,IAAI,UAAU,GAAG,0BAA0B,CAAC;YAE5C,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,IAAI,wBAAwB,CAAC;YACzC,CAAC;YAED,UAAU,IAAI,sBAAsB,CAAC;YACrC,UAAU,IAAI,wCAAwC,CAAC;YACvD,UAAU,IAAI,2CAA2C,CAAC;YAC1D,UAAU,IAAI,iCAAiC,CAAC;YAChD,UAAU,IAAI,mCAAmC,CAAC;YAClD,UAAU,IAAI,iDAAiD,CAAC;YAChE,UAAU,IAAI,wBAAwB,CAAC;YACvC,UAAU,IAAI,4CAA4C,CAAC;YAC3D,UAAU,IAAI,iBAAiB,CAAC;YAChC,UAAU,IAAI,mBAAmB,CAAC;YAClC,UAAU,IAAI,mBAAmB,CAAC;YAClC,UAAU,IAAI,4BAA4B,CAAC;YAC3C,UAAU,IAAI,mDAAmD,CAAC;YAClE,UAAU,IAAI,uBAAuB,CAAC;YACtC,UAAU,IAAI,qCAAqC,CAAC;YACpD,UAAU,IAAI,wDAAwD,CAAC;YACvE,UAAU,IAAI,gCAAgC,CAAC;YAC/C,UAAU,IAAI,sDAAsD,CAAC;YACrE,UAAU,IAAI,WAAW,CAAC;YAC1B,UAAU,IAAI,4CAA4C,CAAC;YAC3D,UAAU,IAAI,uCAAuC,CAAC;YACtD,UAAU,IAAI,6BAA6B,CAAC;YAC5C,UAAU,IAAI,qCAAqC,CAAC;YACpD,UAAU,IAAI,sBAAsB,CAAC;YAErC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -2,9 +2,9 @@
2
2
  * search ツール
3
3
  * 文書を検索する
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * search ツールを登録
8
8
  */
9
- export declare function registerSearchTool(context: ToolRegistrationContext): void;
9
+ export declare function registerSearchTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CA+GzE"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA+GnF"}
@@ -10,7 +10,7 @@ import { getDepthLabel, getPreviewContent } from '../utils.js';
10
10
  */
11
11
  export function registerSearchTool(context) {
12
12
  const { server, systemState } = context;
13
- server.registerTool('search', {
13
+ return server.registerTool('search', {
14
14
  description: '文書を検索します。クエリに基づいてVector検索を実行し、関連する文書セクションを返します。検索結果には行番号(startLine-endLine)とセクションIDが含まれるため、Readツールで該当箇所を直接参照したり、get_documentでセクション全体を取得できます。',
15
15
  inputSchema: {
16
16
  query: z.string().describe('検索クエリ'),
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  * サーバ制御ツール
3
3
  * server_start, server_stop
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * server_start ツールを登録
8
8
  */
9
- export declare function registerServerStartTool(context: ToolRegistrationContext): void;
9
+ export declare function registerServerStartTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  /**
11
11
  * server_stop ツールを登録
12
12
  */
13
- export declare function registerServerStopTool(context: ToolRegistrationContext): void;
13
+ export declare function registerServerStopTool(context: ToolRegistrationContext): RegisteredTool;
14
14
  //# sourceMappingURL=server-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-control.d.ts","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAwE9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAqD7E"}
1
+ {"version":3,"file":"server-control.d.ts","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA4ExF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA4DvF"}
@@ -11,7 +11,7 @@ import { getStateErrorMessage } from '../state.js';
11
11
  */
12
12
  export function registerServerStartTool(context) {
13
13
  const { server, systemState, refreshSystemState } = context;
14
- server.registerTool('server_start', {
14
+ return server.registerTool('server_start', {
15
15
  description: 'search-docsサーバを起動します。設定ファイルが作成済みであることが必要です。デフォルトではバックグラウンドで起動します。',
16
16
  inputSchema: {
17
17
  foreground: z
@@ -52,10 +52,14 @@ export function registerServerStartTool(context) {
52
52
  else {
53
53
  resultText += 'バックグラウンドモードで起動しました。\n\n';
54
54
  }
55
+ resultText += '📌 重要: 検索系ツール(search, get_document, index_status)が利用可能になりました。\n';
56
+ resultText += ' Claude Codeを再接続すると表示されます。\n';
57
+ resultText += ' (Claude Codeは現時点でMCP通知に未対応のため、reconnectが必要です)\n\n';
55
58
  resultText += '次のステップ:\n';
56
- resultText += ' - システム状態を確認: get_system_status\n';
57
- resultText += ' - インデックス状態を確認: index_status\n';
58
- resultText += ' - 文書を検索: search\n';
59
+ resultText += ' 1. **Claude Codeを再接続してツールリストを更新**\n';
60
+ resultText += ' 2. システム状態を確認: get_system_status\n';
61
+ resultText += ' 3. インデックス状態を確認: index_status\n';
62
+ resultText += ' 4. 文書を検索: search\n';
59
63
  return {
60
64
  content: [
61
65
  {
@@ -75,7 +79,7 @@ export function registerServerStartTool(context) {
75
79
  */
76
80
  export function registerServerStopTool(context) {
77
81
  const { server, systemState, refreshSystemState } = context;
78
- server.registerTool('server_stop', {
82
+ return server.registerTool('server_stop', {
79
83
  description: 'search-docsサーバを停止します。起動中のサーバを安全に終了します。',
80
84
  inputSchema: {},
81
85
  }, async () => {
@@ -104,11 +108,17 @@ export function registerServerStopTool(context) {
104
108
  });
105
109
  // システム状態を再検出
106
110
  await refreshSystemState();
111
+ let resultText = '✅ サーバを停止しました。\n\n';
112
+ resultText += '📌 注意: 検索系ツール(search, get_document, index_status)が利用不可になりました。\n';
113
+ resultText += ' Claude Codeを再接続すると、ツールリストが更新されます。\n';
114
+ resultText += ' (Claude Codeは現時点でMCP通知に未対応のため、reconnectが必要です)\n\n';
115
+ resultText += '次のステップ:\n';
116
+ resultText += ' - サーバを再起動: server_start\n';
107
117
  return {
108
118
  content: [
109
119
  {
110
120
  type: 'text',
111
- text: '✅ サーバを停止しました。\n\nサーバを再起動するには server_start を使用してください。',
121
+ text: resultText,
112
122
  },
113
123
  ],
114
124
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server-control.js","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-control.js","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * get_system_status ツール
3
3
  * システム全体の状態を取得する
4
4
  */
5
- import type { ToolRegistrationContext } from './types.js';
5
+ import type { ToolRegistrationContext, RegisteredTool } from './types.js';
6
6
  /**
7
7
  * get_system_status ツールを登録
8
8
  */
9
- export declare function registerSystemStatusTool(context: ToolRegistrationContext): void;
9
+ export declare function registerSystemStatusTool(context: ToolRegistrationContext): RegisteredTool;
10
10
  //# sourceMappingURL=system-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-status.d.ts","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAsE/E"}
1
+ {"version":3,"file":"system-status.d.ts","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAsEzF"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export function registerSystemStatusTool(context) {
9
9
  const { server, systemState } = context;
10
- server.registerTool('get_system_status', {
10
+ return server.registerTool('get_system_status', {
11
11
  description: 'search-docsシステムの状態を取得します。設定ファイルの有無、サーバの起動状態、インデックス情報を確認できます。',
12
12
  inputSchema: {},
13
13
  }, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"system-status.js","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,8DAA8D;QAChE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,GAAG,2BAA2B,CAAC;QAE7C,QAAQ,WAAW,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,gBAAgB;gBACnB,UAAU,IAAI,aAAa,CAAC;gBAC5B,UAAU,IAAI,kCAAkC,CAAC;gBACjD,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,wBAAwB;gBAC3B,UAAU,IAAI,qBAAqB,CAAC;gBACpC,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,QAAQ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;gBAC5D,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,SAAS;gBACZ,UAAU,IAAI,eAAe,CAAC;gBAC9B,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,WAAW,WAAW,CAAC,SAAS,MAAM,CAAC;gBAErD,WAAW;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAO,CAAC,SAAS,EAAE,CAAC;oBACrD,UAAU,IAAI,UAAU,CAAC;oBACzB,UAAU,IAAI,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;oBACpD,UAAU,IAAI,UAAU,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC9C,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzE,UAAU,IAAI,aAAa,CAAC;oBAC5B,UAAU,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;oBAC1D,UAAU,IAAI,cAAc,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;oBAC5D,UAAU,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC;oBAE9D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAChC,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,gBAAgB,CAAC;wBAC7D,UAAU,IAAI,6BAA6B,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,IAAI,oBAAqB,KAAe,CAAC,OAAO,IAAI,CAAC;gBACjE,CAAC;gBACD,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"system-status.js","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,OAAO,MAAM,CAAC,YAAY,CACxB,mBAAmB,EACnB;QACE,WAAW,EACT,8DAA8D;QAChE,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,GAAG,2BAA2B,CAAC;QAE7C,QAAQ,WAAW,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,gBAAgB;gBACnB,UAAU,IAAI,aAAa,CAAC;gBAC5B,UAAU,IAAI,kCAAkC,CAAC;gBACjD,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,wBAAwB;gBAC3B,UAAU,IAAI,qBAAqB,CAAC;gBACpC,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,QAAQ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;gBAC5D,UAAU,IAAI,iBAAiB,CAAC;gBAChC,UAAU,IAAI,uBAAuB,CAAC;gBACtC,MAAM;YAER,KAAK,SAAS;gBACZ,UAAU,IAAI,eAAe,CAAC;gBAC9B,UAAU,IAAI,WAAW,WAAW,CAAC,UAAU,IAAI,CAAC;gBACpD,UAAU,IAAI,WAAW,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC9D,UAAU,IAAI,WAAW,WAAW,CAAC,SAAS,MAAM,CAAC;gBAErD,WAAW;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAO,CAAC,SAAS,EAAE,CAAC;oBACrD,UAAU,IAAI,UAAU,CAAC;oBACzB,UAAU,IAAI,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;oBACpD,UAAU,IAAI,UAAU,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC9C,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBACzE,UAAU,IAAI,aAAa,CAAC;oBAC5B,UAAU,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;oBAC1D,UAAU,IAAI,cAAc,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC;oBAC5D,UAAU,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC;oBAE9D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAChC,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,gBAAgB,CAAC;wBAC7D,UAAU,IAAI,6BAA6B,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,IAAI,oBAAqB,KAAe,CAAC,OAAO,IAAI,CAAC;gBACjE,CAAC;gBACD,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -3,6 +3,11 @@
3
3
  */
4
4
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import type { SystemStateInfo } from '../state.js';
6
+ /**
7
+ * 登録されたツールのハンドル
8
+ * registerTool()の戻り値の型
9
+ */
10
+ export type RegisteredTool = ReturnType<McpServer['registerTool']>;
6
11
  /**
7
12
  * ツール登録コンテキスト
8
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mBAAmB;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe;IACf,WAAW,EAAE,eAAe,CAAC;IAC7B,qBAAqB;IACrB,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mBAAmB;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe;IACf,WAAW,EAAE,eAAe,CAAC;IAC7B,qBAAqB;IACrB,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@search-docs/mcp-server",
3
- "version": "1.1.5",
3
+ "version": "1.2.1",
4
4
  "description": "MCP Server for search-docs - Claude Code integration",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
@@ -12,13 +12,25 @@
12
12
  "dist",
13
13
  "README.md"
14
14
  ],
15
+ "scripts": {
16
+ "build": "tsc --build --force",
17
+ "clean": "tsc --build --clean",
18
+ "dev": "tsc --watch",
19
+ "start": "node dist/server.js",
20
+ "test": "vitest",
21
+ "typecheck": "tsc --noEmit",
22
+ "lint": "eslint . --max-warnings 0",
23
+ "lint:fix": "eslint . --fix --max-warnings 0",
24
+ "build:fast": "tsc --build",
25
+ "prepublishOnly": "pnpm build"
26
+ },
15
27
  "dependencies": {
16
28
  "@modelcontextprotocol/sdk": "^1.17.0",
29
+ "@search-docs/cli": "workspace:*",
30
+ "@search-docs/client": "workspace:*",
31
+ "@search-docs/types": "workspace:*",
17
32
  "commander": "^12.0.0",
18
- "zod": "^3.22.0",
19
- "@search-docs/client": "1.0.14",
20
- "@search-docs/cli": "1.0.27",
21
- "@search-docs/types": "1.2.0"
33
+ "zod": "^3.22.0"
22
34
  },
23
35
  "devDependencies": {
24
36
  "@coeiro-operator/mcp-debug": "^1.0.0",
@@ -43,16 +55,5 @@
43
55
  "type": "git",
44
56
  "url": "https://github.com/otolab/search-docs.git",
45
57
  "directory": "packages/mcp-server"
46
- },
47
- "scripts": {
48
- "build": "tsc --build --force",
49
- "clean": "tsc --build --clean",
50
- "dev": "tsc --watch",
51
- "start": "node dist/server.js",
52
- "test": "vitest",
53
- "typecheck": "tsc --noEmit",
54
- "lint": "eslint . --max-warnings 0",
55
- "lint:fix": "eslint . --fix --max-warnings 0",
56
- "build:fast": "tsc --build"
57
58
  }
58
- }
59
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 otolab
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.