@search-docs/mcp-server 1.2.0 → 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/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 +0 -0
- package/dist/tools/init.d.ts.map +1 -1
- package/dist/tools/init.js +7 -3
- package/dist/tools/init.js.map +1 -1
- package/dist/tools/server-control.d.ts.map +1 -1
- package/dist/tools/server-control.js +14 -4
- package/dist/tools/server-control.js.map +1 -1
- package/package.json +18 -17
- package/LICENSE +0 -21
|
@@ -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
|
File without changes
|
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,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,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
|
@@ -51,11 +51,15 @@ export function registerInitTool(context) {
|
|
|
51
51
|
resultText += '**indexing.maxTokensPerSection**: セクションの最大トークン数\n';
|
|
52
52
|
resultText += ' - デフォルト: 2000トークン\n';
|
|
53
53
|
resultText += ' - 大きくすると粗い分割、小さくすると細かい分割になります\n\n';
|
|
54
|
+
resultText += '📌 重要: 新しいツール(server_start, server_stop)が利用可能になりました。\n';
|
|
55
|
+
resultText += ' Claude Codeを再接続すると表示されます。\n';
|
|
56
|
+
resultText += ' (Claude Codeは現時点でMCP通知に未対応のため、reconnectが必要です)\n\n';
|
|
54
57
|
resultText += '次のステップ:\n';
|
|
55
58
|
resultText += ' 1. 設定を調整(必要に応じて): .search-docs.jsonを編集\n';
|
|
56
|
-
resultText += ' 2.
|
|
57
|
-
resultText += ' 3.
|
|
58
|
-
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';
|
|
59
63
|
return {
|
|
60
64
|
content: [
|
|
61
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,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,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"}
|
|
@@ -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,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,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"}
|
|
@@ -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
|
{
|
|
@@ -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,OAAO,MAAM,CAAC,YAAY,CACxB,cAAc,EACd;QACE,WAAW,EACT,mEAAmE;QACrE,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;SACnD;KACF,EACD,KAAK,EAAE,IAA8B,EAAE,EAAE;QACvC,SAAS;QACT,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,6DAA6D;qBACpE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC;YACH,yBAAyB;YACzB,sCAAsC;YACtC,MAAM,WAAW,CAAC;gBAChB,MAAM,EAAE,WAAW,CAAC,UAAU;gBAC9B,UAAU;aACX,CAAC,CAAC;YAEH,aAAa;YACb,MAAM,kBAAkB,EAAE,CAAC;YAE3B,IAAI,UAAU,GAAG,mBAAmB,CAAC;YAErC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,IAAI,wBAAwB,CAAC;gBACvC,UAAU,IAAI,6BAA6B,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,yBAAyB,CAAC;YAC1C,CAAC;YAED,UAAU,IAAI,WAAW,CAAC;YAC1B,UAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"server-control.js","sourceRoot":"","sources":["../../src/tools/server-control.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@search-docs/mcp-server",
|
|
3
|
-
"version": "1.2.
|
|
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/cli": "1.0.27",
|
|
20
|
-
"@search-docs/client": "1.0.14",
|
|
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.
|