@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.
- package/README.md +57 -3
- package/dist/__tests__/dynamic-tool-update.test.d.ts +7 -0
- package/dist/__tests__/dynamic-tool-update.test.d.ts.map +1 -0
- package/dist/__tests__/dynamic-tool-update.test.js +109 -0
- package/dist/__tests__/dynamic-tool-update.test.js.map +1 -0
- package/dist/server.js +60 -28
- package/dist/server.js.map +1 -1
- package/dist/tools/get-document.d.ts +2 -2
- package/dist/tools/get-document.d.ts.map +1 -1
- package/dist/tools/get-document.js +1 -1
- package/dist/tools/get-document.js.map +1 -1
- package/dist/tools/index-status.d.ts +2 -2
- package/dist/tools/index-status.d.ts.map +1 -1
- package/dist/tools/index-status.js +1 -1
- package/dist/tools/index-status.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/init.d.ts +2 -2
- package/dist/tools/init.d.ts.map +1 -1
- package/dist/tools/init.js +11 -5
- package/dist/tools/init.js.map +1 -1
- package/dist/tools/search.d.ts +2 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/server-control.d.ts +3 -3
- package/dist/tools/server-control.d.ts.map +1 -1
- package/dist/tools/server-control.js +16 -6
- package/dist/tools/server-control.js.map +1 -1
- package/dist/tools/system-status.d.ts +2 -2
- package/dist/tools/system-status.d.ts.map +1 -1
- package/dist/tools/system-status.js +1 -1
- package/dist/tools/system-status.js.map +1 -1
- package/dist/tools/types.d.ts +5 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/package.json +18 -17
- 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. `
|
|
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
|
-
####
|
|
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
|
-
####
|
|
92
|
+
#### 7. `index_status`
|
|
41
93
|
インデックスの状態を確認します。
|
|
42
94
|
|
|
95
|
+
**利用可能条件**: サーバ稼働中(RUNNING)
|
|
96
|
+
|
|
43
97
|
**パラメータ**: なし
|
|
44
98
|
|
|
45
99
|
## セットアップ
|
|
@@ -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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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...');
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,iBAAiB,
|
|
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):
|
|
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;
|
|
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":"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,MAAM,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"get-document.js","sourceRoot":"","sources":["../../src/tools/get-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -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):
|
|
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;
|
|
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,
|
|
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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/tools/init.d.ts
CHANGED
|
@@ -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):
|
|
9
|
+
export declare function registerInitTool(context: ToolRegistrationContext): RegisteredTool;
|
|
10
10
|
//# sourceMappingURL=init.d.ts.map
|
package/dist/tools/init.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/tools/init.js
CHANGED
|
@@ -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.
|
|
55
|
-
resultText += ' 3.
|
|
56
|
-
resultText += ' 4.
|
|
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
|
{
|
package/dist/tools/init.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -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):
|
|
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;
|
|
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"}
|
package/dist/tools/search.js
CHANGED
|
@@ -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('検索クエリ'),
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.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,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IACjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAExC,MAAM,CAAC,YAAY,
|
|
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):
|
|
9
|
+
export declare function registerServerStartTool(context: ToolRegistrationContext): RegisteredTool;
|
|
10
10
|
/**
|
|
11
11
|
* server_stop ツールを登録
|
|
12
12
|
*/
|
|
13
|
-
export declare function registerServerStopTool(context: ToolRegistrationContext):
|
|
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;
|
|
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 += '
|
|
57
|
-
resultText += '
|
|
58
|
-
resultText += '
|
|
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:
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgC;IACtE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE5D,MAAM,CAAC,YAAY,
|
|
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):
|
|
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;
|
|
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,
|
|
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"}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -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
|
|
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.
|