@search-docs/mcp-server 1.3.0 → 1.4.3

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.
@@ -23,6 +23,8 @@ export interface TestEnvironment {
23
23
  testDir: string;
24
24
  /** MCPテスター */
25
25
  tester: MCPServiceE2ETester;
26
+ /** サーバポート */
27
+ port: number;
26
28
  /** クリーンアップ関数 */
27
29
  cleanup: () => Promise<void>;
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/test-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAmB,MAAM,4BAA4B,CAAC;AAQlF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gBAAgB;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CAyG1B"}
1
+ {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/test-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAmB,MAAM,4BAA4B,CAAC;AAQlF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CA0G1B"}
@@ -100,6 +100,7 @@ export async function setupTestEnvironment(options = {}) {
100
100
  return {
101
101
  testDir,
102
102
  tester,
103
+ port,
103
104
  cleanup,
104
105
  };
105
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/test-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/test-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 関連プロジェクト機能のE2Eテスト
3
+ *
4
+ * 目的: 複数プロジェクトの検索機能が正しく動作するかを確認する
5
+ *
6
+ * テストのコンセプト:
7
+ * - メインプロジェクトと関連プロジェクトを用意
8
+ * - 各プロジェクトにテスト用のドキュメントを作成
9
+ * - 関連プロジェクトの設定を解決して検索できることを確認
10
+ * - get_system_statusで関連プロジェクト情報が表示されることを確認
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=related-projects.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-projects.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/related-projects.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * 関連プロジェクト機能のE2Eテスト
3
+ *
4
+ * 目的: 複数プロジェクトの検索機能が正しく動作するかを確認する
5
+ *
6
+ * テストのコンセプト:
7
+ * - メインプロジェクトと関連プロジェクトを用意
8
+ * - 各プロジェクトにテスト用のドキュメントを作成
9
+ * - 関連プロジェクトの設定を解決して検索できることを確認
10
+ * - get_system_statusで関連プロジェクト情報が表示されることを確認
11
+ */
12
+ import { describe, test, expect, afterEach } from 'vitest';
13
+ import { setupTestEnvironment } from './helpers/test-setup.js';
14
+ import * as fs from 'fs/promises';
15
+ import * as path from 'path';
16
+ import { SearchDocsClient } from '@search-docs/client';
17
+ describe('関連プロジェクト機能', () => {
18
+ let mainEnv = null;
19
+ let relatedEnv = null;
20
+ afterEach(async () => {
21
+ // 両方のサーバを停止
22
+ if (mainEnv) {
23
+ try {
24
+ await mainEnv.tester.callTool('server_stop', {});
25
+ await new Promise((resolve) => setTimeout(resolve, 2000));
26
+ }
27
+ catch {
28
+ // ignore
29
+ }
30
+ await mainEnv.cleanup();
31
+ mainEnv = null;
32
+ }
33
+ if (relatedEnv) {
34
+ try {
35
+ // 関連プロジェクトのサーバを直接停止
36
+ const { SearchDocsClient } = await import('@search-docs/client');
37
+ const client = new SearchDocsClient({
38
+ baseUrl: `http://localhost:${relatedEnv.port}`,
39
+ });
40
+ try {
41
+ await client.shutdown();
42
+ await new Promise((resolve) => setTimeout(resolve, 2000));
43
+ }
44
+ catch {
45
+ // ignore
46
+ }
47
+ }
48
+ catch {
49
+ // ignore
50
+ }
51
+ await relatedEnv.cleanup();
52
+ relatedEnv = null;
53
+ }
54
+ });
55
+ test('relatedProjectsを設定すると、CONFIGURED_SERVER_DOWN状態でも設定を読み込める', async () => {
56
+ // メインプロジェクトをセットアップ
57
+ mainEnv = await setupTestEnvironment({
58
+ prefix: 'related-config',
59
+ createConfig: true,
60
+ port: 54340,
61
+ createIndexDir: false,
62
+ });
63
+ // 関連プロジェクトをセットアップ
64
+ relatedEnv = await setupTestEnvironment({
65
+ prefix: 'related-sub',
66
+ createConfig: true,
67
+ port: 54341,
68
+ createIndexDir: false,
69
+ });
70
+ // メインプロジェクトの設定に関連プロジェクトを追加
71
+ const mainConfigPath = path.join(mainEnv.testDir, '.search-docs.json');
72
+ const mainConfig = JSON.parse(await fs.readFile(mainConfigPath, 'utf-8'));
73
+ mainConfig.relatedProjects = {
74
+ 'related-sub': {
75
+ dir: relatedEnv.testDir,
76
+ description: 'Test related project',
77
+ },
78
+ };
79
+ await fs.writeFile(mainConfigPath, JSON.stringify(mainConfig, null, 2));
80
+ // 設定ファイルが正しく保存されたことを確認
81
+ const savedConfig = JSON.parse(await fs.readFile(mainConfigPath, 'utf-8'));
82
+ expect(savedConfig.relatedProjects).toBeDefined();
83
+ expect(savedConfig.relatedProjects['related-sub']).toBeDefined();
84
+ expect(savedConfig.relatedProjects['related-sub'].description).toBe('Test related project');
85
+ }, 30000);
86
+ test('関連プロジェクトのドキュメントを検索できる', async () => {
87
+ // メインプロジェクトをセットアップ
88
+ mainEnv = await setupTestEnvironment({
89
+ prefix: 'related-search-main',
90
+ createConfig: true,
91
+ port: 54350,
92
+ createIndexDir: false,
93
+ });
94
+ // 関連プロジェクトをセットアップ
95
+ relatedEnv = await setupTestEnvironment({
96
+ prefix: 'related-search-sub',
97
+ createConfig: true,
98
+ port: 54351,
99
+ createIndexDir: false,
100
+ });
101
+ // 設定を更新してCHANGELOG.mdを除外
102
+ const relatedConfigPath = path.join(relatedEnv.testDir, '.search-docs.json');
103
+ const relatedConfig = JSON.parse(await fs.readFile(relatedConfigPath, 'utf-8'));
104
+ relatedConfig.files.exclude = ['**/node_modules/**', '**/CHANGELOG.md'];
105
+ await fs.writeFile(relatedConfigPath, JSON.stringify(relatedConfig, null, 2));
106
+ // 関連プロジェクトにドキュメントを作成
107
+ const relatedDocPath = path.join(relatedEnv.testDir, 'test-doc.md');
108
+ await fs.writeFile(relatedDocPath, '# Test Document for E2E\n\nThis document contains a very specific unique phrase: XYZ999TestRelatedProject\n');
109
+ // 関連プロジェクトのサーバを起動してインデックスを作成
110
+ await relatedEnv.tester.callTool('server_start', {});
111
+ await new Promise((resolve) => setTimeout(resolve, 3000));
112
+ // インデックスを再構築
113
+ const relatedClient = new SearchDocsClient({
114
+ baseUrl: `http://localhost:${relatedEnv.port}`,
115
+ });
116
+ await relatedClient.rebuildIndex();
117
+ // インデックス作成を十分待つ
118
+ await new Promise((resolve) => setTimeout(resolve, 8000));
119
+ // メインプロジェクトの設定に関連プロジェクトを追加
120
+ const mainConfigPath = path.join(mainEnv.testDir, '.search-docs.json');
121
+ const mainConfig = JSON.parse(await fs.readFile(mainConfigPath, 'utf-8'));
122
+ mainConfig.relatedProjects = {
123
+ 'related-search-sub': {
124
+ dir: relatedEnv.testDir,
125
+ description: 'Test related project for search',
126
+ },
127
+ };
128
+ await fs.writeFile(mainConfigPath, JSON.stringify(mainConfig, null, 2));
129
+ // メインサーバを起動
130
+ await mainEnv.tester.callTool('server_start', {});
131
+ await new Promise((resolve) => setTimeout(resolve, 3000));
132
+ // 関連プロジェクトを指定して検索
133
+ const searchResult = await mainEnv.tester.callTool('search', {
134
+ query: 'XYZ999TestRelatedProject',
135
+ project: 'related-search-sub',
136
+ limit: 5,
137
+ });
138
+ expect(searchResult.success).toBe(true);
139
+ const content = searchResult.result?.content?.[0]?.text || '';
140
+ // プロジェクト名が表示されていることを確認
141
+ expect(content).toContain('[プロジェクト: related-search-sub]');
142
+ // 検索が成功し、結果が返ってきたことを確認
143
+ expect(content).toContain('検索結果');
144
+ // test-doc.mdが検索結果に含まれていることを確認
145
+ expect(content).toContain('test-doc.md');
146
+ }, 120000);
147
+ });
148
+ //# sourceMappingURL=related-projects.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-projects.test.js","sourceRoot":"","sources":["../../src/__tests__/related-projects.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,22 @@
1
1
  /**
2
2
  * サーバ自動起動マネージャー
3
3
  */
4
+ import { SearchDocsClient } from '@search-docs/client';
4
5
  /**
5
- * サーバマネージャー
6
+ * サーバ情報(複数プロジェクト対応)
7
+ */
8
+ interface ServerInfo {
9
+ client: SearchDocsClient;
10
+ port: number;
11
+ projectRoot: string;
12
+ projectName: string;
13
+ }
14
+ /**
15
+ * サーバマネージャー(複数プロジェクト対応)
6
16
  */
7
17
  export declare class ServerManager {
8
18
  private serverProcess;
19
+ private servers;
9
20
  /**
10
21
  * @search-docs/cliパッケージのエントリポイントを解決
11
22
  */
@@ -22,5 +33,19 @@ export declare class ServerManager {
22
33
  * クリーンアップ(プロセス終了時)
23
34
  */
24
35
  cleanup(): void;
36
+ /**
37
+ * プロジェクトのサーバを取得または起動
38
+ * @param projectName プロジェクト名(キャッシュキー)
39
+ * @param projectRoot プロジェクトルート
40
+ * @param port ポート番号
41
+ * @param configPath 設定ファイルパス(オプション)
42
+ * @returns SearchDocsClient
43
+ */
44
+ getOrStartServer(projectName: string, projectRoot: string, port: number, configPath?: string): Promise<SearchDocsClient>;
45
+ /**
46
+ * すべてのサーバ情報を取得
47
+ */
48
+ getAllServers(): Map<string, ServerInfo>;
25
49
  }
50
+ export {};
26
51
  //# sourceMappingURL=server-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAA8B;IAEnD;;OAEG;YACW,cAAc;IAqB5B;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyHvF;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD;;GAEG;AACH,UAAU,UAAU;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,OAAO,CAAsC;IAErD;;OAEG;YACW,cAAc;IAqB5B;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyHvF;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;;;;;OAOG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;IAqC5B;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;CAGzC"}
@@ -6,10 +6,12 @@ import * as path from 'path';
6
6
  import * as fs from 'fs/promises';
7
7
  import { SearchDocsClient } from '@search-docs/client';
8
8
  /**
9
- * サーバマネージャー
9
+ * サーバマネージャー(複数プロジェクト対応)
10
10
  */
11
11
  export class ServerManager {
12
12
  serverProcess = null;
13
+ // 複数プロジェクトのサーバを管理
14
+ servers = new Map();
13
15
  /**
14
16
  * @search-docs/cliパッケージのエントリポイントを解決
15
17
  */
@@ -149,5 +151,51 @@ export class ServerManager {
149
151
  cleanup() {
150
152
  this.stopServer();
151
153
  }
154
+ /**
155
+ * プロジェクトのサーバを取得または起動
156
+ * @param projectName プロジェクト名(キャッシュキー)
157
+ * @param projectRoot プロジェクトルート
158
+ * @param port ポート番号
159
+ * @param configPath 設定ファイルパス(オプション)
160
+ * @returns SearchDocsClient
161
+ */
162
+ async getOrStartServer(projectName, projectRoot, port, configPath) {
163
+ // キャッシュチェック
164
+ const cached = this.servers.get(projectName);
165
+ if (cached) {
166
+ // ヘルスチェック
167
+ try {
168
+ await cached.client.healthCheck();
169
+ console.error(`[mcp-server] Using cached client for project: ${projectName}`);
170
+ return cached.client;
171
+ }
172
+ catch (error) {
173
+ // サーバが停止している、キャッシュをクリア
174
+ console.error(`[mcp-server] Cached server for ${projectName} is down, restarting...`);
175
+ this.servers.delete(projectName);
176
+ }
177
+ }
178
+ // サーバを起動
179
+ console.error(`[mcp-server] Starting server for project: ${projectName}`);
180
+ await this.startServer(projectRoot, port, configPath);
181
+ // クライアントを作成してキャッシュ
182
+ const serverUrl = `http://localhost:${port}`;
183
+ const client = new SearchDocsClient({ baseUrl: serverUrl });
184
+ const serverInfo = {
185
+ client,
186
+ port,
187
+ projectRoot,
188
+ projectName,
189
+ };
190
+ this.servers.set(projectName, serverInfo);
191
+ console.error(`[mcp-server] Server cached for project: ${projectName}`);
192
+ return client;
193
+ }
194
+ /**
195
+ * すべてのサーバ情報を取得
196
+ */
197
+ getAllServers() {
198
+ return this.servers;
199
+ }
152
200
  }
153
201
  //# sourceMappingURL=server-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -161,8 +161,10 @@ async function main() {
161
161
  updateToolAvailability(systemState.state, toolHandles);
162
162
  }
163
163
  };
164
+ // サーバマネージャーの作成(複数プロジェクト管理用)
165
+ const serverManager = new ServerManager();
164
166
  // ツール登録コンテキスト
165
- const context = { server, systemState, refreshSystemState };
167
+ const context = { server, systemState, refreshSystemState, serverManager };
166
168
  // 全ツールを登録
167
169
  debugLog('Registering all tools...');
168
170
  toolHandles = {
@@ -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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"}
@@ -3,8 +3,10 @@
3
3
  */
4
4
  import { describe, it, expect, vi, beforeEach } from 'vitest';
5
5
  import { registerIndexStatusTool } from '../index-status.js';
6
+ import { ServerManager } from '../../server-manager.js';
6
7
  describe('index_status tool', () => {
7
8
  let mockServer;
9
+ let mockServerManager;
8
10
  let registeredTool;
9
11
  beforeEach(() => {
10
12
  vi.clearAllMocks();
@@ -14,6 +16,8 @@ describe('index_status tool', () => {
14
16
  registeredTool = { name, schema, handler };
15
17
  }),
16
18
  };
19
+ // ServerManagerのモック
20
+ mockServerManager = new ServerManager();
17
21
  });
18
22
  it('RUNNING状態の場合、正常に動作する', async () => {
19
23
  const mockResponse = {
@@ -48,6 +52,7 @@ describe('index_status tool', () => {
48
52
  server: mockServer,
49
53
  systemState,
50
54
  refreshSystemState: async () => { },
55
+ serverManager: mockServerManager,
51
56
  };
52
57
  // ツール登録
53
58
  registerIndexStatusTool(context);
@@ -73,6 +78,7 @@ describe('index_status tool', () => {
73
78
  server: mockServer,
74
79
  systemState,
75
80
  refreshSystemState: async () => { },
81
+ serverManager: mockServerManager,
76
82
  };
77
83
  // ツール登録
78
84
  registerIndexStatusTool(context);
@@ -91,6 +97,7 @@ describe('index_status tool', () => {
91
97
  server: mockServer,
92
98
  systemState,
93
99
  refreshSystemState: async () => { },
100
+ serverManager: mockServerManager,
94
101
  };
95
102
  // ツール登録
96
103
  registerIndexStatusTool(context);
@@ -113,6 +120,7 @@ describe('index_status tool', () => {
113
120
  server: mockServer,
114
121
  systemState,
115
122
  refreshSystemState: async () => { },
123
+ serverManager: mockServerManager,
116
124
  };
117
125
  // ツール登録
118
126
  registerIndexStatusTool(context);
@@ -1 +1 @@
1
- {"version":3,"file":"index-status.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/index-status.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-status.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/index-status.test.ts"],"names":[],"mappings":"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"}
@@ -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,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAwExF"}
1
+ {"version":3,"file":"get-document.d.ts","sourceRoot":"","sources":["../../src/tools/get-document.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,CAyKxF"}
@@ -3,6 +3,7 @@
3
3
  * 文書の内容を取得する
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { ConfigLoader } from '@search-docs/types';
6
7
  import { getStateErrorMessage } from '../state.js';
7
8
  import { getDepthLabel } from '../utils.js';
8
9
  /**
@@ -11,21 +12,96 @@ import { getDepthLabel } from '../utils.js';
11
12
  export function registerGetDocumentTool(context) {
12
13
  const { server, systemState } = context;
13
14
  return server.registerTool('get_document', {
14
- description: '文書の内容を取得します。パス指定で文書全体、またはセクションIDで特定セクションを取得できます。pathとsectionIdのどちらか一方は必須です。',
15
+ description: '文書の内容を取得します。パス指定で文書全体、またはセクションIDで特定セクションを取得できます。pathとsectionIdのどちらか一方は必須です。projectパラメータで関連プロジェクトのドキュメントを取得できます。',
15
16
  inputSchema: {
16
17
  path: z.string().optional().describe('文書パス(sectionIdを指定しない場合は必須)'),
17
18
  sectionId: z.string().optional().describe('セクションID(検索結果から取得。pathを指定しない場合は必須)'),
19
+ project: z
20
+ .string()
21
+ .optional()
22
+ .describe('取得対象のプロジェクト名。未指定の場合はメインプロジェクトから取得します。関連プロジェクトから取得する場合は、設定ファイルのrelatedProjectsで定義されたプロジェクト名を指定してください。'),
18
23
  },
19
24
  }, async (args) => {
20
- // 状態チェック
21
- if (systemState.state !== 'RUNNING') {
22
- throw new Error(getStateErrorMessage(systemState.state, '文書の取得'));
23
- }
24
- const { path: documentPath, sectionId } = args;
25
+ const { path: documentPath, sectionId, project } = args;
25
26
  // どちらか一方は必須
26
27
  if (!documentPath && !sectionId) {
27
28
  throw new Error('pathまたはsectionIdのどちらか一方を指定してください');
28
29
  }
30
+ // プロジェクト指定がある場合は関連プロジェクトから取得
31
+ if (project) {
32
+ // メインプロジェクトの設定が必要
33
+ if (systemState.state === 'NOT_CONFIGURED') {
34
+ throw new Error('関連プロジェクトから文書を取得するには、まずメインプロジェクトの設定ファイルが必要です。\n\n' +
35
+ '設定ファイルを作成してください:\n' +
36
+ ' ツール: init');
37
+ }
38
+ if (!systemState.config || !systemState.configPath) {
39
+ throw new Error('設定ファイルが見つかりません。');
40
+ }
41
+ // 関連プロジェクトの設定を確認
42
+ if (!systemState.config.relatedProjects || !systemState.config.relatedProjects[project]) {
43
+ const availableProjects = systemState.config.relatedProjects
44
+ ? Object.keys(systemState.config.relatedProjects).join(', ')
45
+ : '(なし)';
46
+ throw new Error(`関連プロジェクト "${project}" が設定ファイルに見つかりません。\n\n` +
47
+ `利用可能なプロジェクト: ${availableProjects}\n\n` +
48
+ '設定ファイルの relatedProjects セクションを確認してください。');
49
+ }
50
+ // 関連プロジェクトの設定を解決
51
+ const relatedProjectConfig = await ConfigLoader.resolveRelatedProject(project, systemState.configPath, systemState.config.relatedProjects);
52
+ if (!relatedProjectConfig) {
53
+ throw new Error(`関連プロジェクト "${project}" の設定を解決できませんでした。`);
54
+ }
55
+ // 関連プロジェクトのサーバを取得または起動
56
+ const relatedClient = await context.serverManager.getOrStartServer(project, relatedProjectConfig.projectRoot, relatedProjectConfig.config.server.port, relatedProjectConfig.configPath || undefined);
57
+ // 関連プロジェクトから文書を取得
58
+ try {
59
+ const response = await relatedClient.getDocument({ path: documentPath, sectionId });
60
+ if (!response.document && !response.section) {
61
+ throw new Error(`Document or section not found`);
62
+ }
63
+ let resultText = `[プロジェクト: ${project}]\n`;
64
+ // セクション取得の場合
65
+ if (sectionId && response.section) {
66
+ resultText += `セクション: ${response.section.heading || '(no heading)'}\n`;
67
+ resultText += `文書: ${response.section.documentPath}\n`;
68
+ const depthLabel = getDepthLabel(response.section.depth);
69
+ const sectionPath = response.section.sectionNumber.join('-');
70
+ resultText += `Level: ${depthLabel} | Section: ${sectionPath} | Line: ${response.section.startLine}-${response.section.endLine}\n\n`;
71
+ resultText += `内容:\n${'='.repeat(60)}\n`;
72
+ resultText += response.section.content;
73
+ resultText += `\n${'='.repeat(60)}`;
74
+ }
75
+ else if (response.document) {
76
+ // 文書全体取得の場合
77
+ resultText += `文書: ${response.document.path}\n`;
78
+ if (response.document.metadata.title) {
79
+ resultText += `タイトル: ${response.document.metadata.title}\n`;
80
+ }
81
+ resultText += `作成日: ${new Date(response.document.metadata.createdAt).toLocaleString()}\n`;
82
+ resultText += `更新日: ${new Date(response.document.metadata.updatedAt).toLocaleString()}\n\n`;
83
+ resultText += `内容:\n${'='.repeat(60)}\n`;
84
+ resultText += response.document.content;
85
+ resultText += `\n${'='.repeat(60)}`;
86
+ }
87
+ return {
88
+ content: [
89
+ {
90
+ type: 'text',
91
+ text: resultText,
92
+ },
93
+ ],
94
+ };
95
+ }
96
+ catch (error) {
97
+ throw new Error(`関連プロジェクト "${project}" の文書取得エラー: ${error.message}`);
98
+ }
99
+ }
100
+ // メインプロジェクトから取得(既存の実装)
101
+ // 状態チェック
102
+ if (systemState.state !== 'RUNNING') {
103
+ throw new Error(getStateErrorMessage(systemState.state, '文書の取得'));
104
+ }
29
105
  const client = systemState.client;
30
106
  try {
31
107
  const response = await client.getDocument({ path: documentPath, 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":"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"}
@@ -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,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAsHnF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAqPnF"}
@@ -3,6 +3,7 @@
3
3
  * 文書を検索する
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { ConfigLoader } from '@search-docs/types';
6
7
  import { getStateErrorMessage } from '../state.js';
7
8
  import { formatSectionNumber, getPreviewContent } from '../utils.js';
8
9
  /**
@@ -11,9 +12,13 @@ import { formatSectionNumber, getPreviewContent } from '../utils.js';
11
12
  export function registerSearchTool(context) {
12
13
  const { server, systemState } = context;
13
14
  return server.registerTool('search', {
14
- description: '文書を検索します。クエリに基づいてVector検索を実行し、関連する文書セクションを返します。検索結果には行番号とセクションIDが含まれます。続きを見るにはget_document(sectionId)を使用してください。limitとpreviewLinesで表示内容を調整できます。',
15
+ description: '文書を検索します。クエリに基づいてVector検索を実行し、関連する文書セクションを返します。検索結果には行番号とセクションIDが含まれます。続きを見るにはget_document(sectionId)を使用してください。limitとpreviewLinesで表示内容を調整できます。projectパラメータで関連プロジェクトを検索できます。',
15
16
  inputSchema: {
16
17
  query: z.string().describe('検索クエリ'),
18
+ project: z
19
+ .string()
20
+ .optional()
21
+ .describe('検索対象のプロジェクト名。未指定の場合はメインプロジェクトを検索します。関連プロジェクトを検索する場合は、設定ファイルのrelatedProjectsで定義されたプロジェクト名を指定してください。'),
17
22
  depth: z
18
23
  .number()
19
24
  .optional()
@@ -34,11 +39,105 @@ export function registerSearchTool(context) {
34
39
  previewLines: z.number().optional().describe('プレビュー行数(デフォルト: 5)'),
35
40
  },
36
41
  }, async (args) => {
42
+ const { query, project, depth, limit, includeCleanOnly, includePaths, excludePaths, previewLines = 5 } = args;
43
+ // プロジェクト指定がある場合は関連プロジェクトを検索
44
+ if (project) {
45
+ // メインプロジェクトの設定が必要
46
+ if (systemState.state === 'NOT_CONFIGURED') {
47
+ throw new Error('関連プロジェクトを検索するには、まずメインプロジェクトの設定ファイルが必要です。\n\n' +
48
+ '設定ファイルを作成してください:\n' +
49
+ ' ツール: init');
50
+ }
51
+ if (!systemState.config || !systemState.configPath) {
52
+ throw new Error('設定ファイルが見つかりません。');
53
+ }
54
+ // 関連プロジェクトの設定を確認
55
+ if (!systemState.config.relatedProjects || !systemState.config.relatedProjects[project]) {
56
+ const availableProjects = systemState.config.relatedProjects
57
+ ? Object.keys(systemState.config.relatedProjects).join(', ')
58
+ : '(なし)';
59
+ throw new Error(`関連プロジェクト "${project}" が設定ファイルに見つかりません。\n\n` +
60
+ `利用可能なプロジェクト: ${availableProjects}\n\n` +
61
+ '設定ファイルの relatedProjects セクションを確認してください。');
62
+ }
63
+ // 関連プロジェクトの設定を解決
64
+ const relatedProjectConfig = await ConfigLoader.resolveRelatedProject(project, systemState.configPath, systemState.config.relatedProjects);
65
+ if (!relatedProjectConfig) {
66
+ throw new Error(`関連プロジェクト "${project}" の設定を解決できませんでした。`);
67
+ }
68
+ // 関連プロジェクトのサーバを取得または起動
69
+ const relatedClient = await context.serverManager.getOrStartServer(project, relatedProjectConfig.projectRoot, relatedProjectConfig.config.server.port, relatedProjectConfig.configPath || undefined);
70
+ // 関連プロジェクトで検索を実行
71
+ try {
72
+ const response = await relatedClient.search({
73
+ query,
74
+ options: {
75
+ depth,
76
+ limit,
77
+ includeCleanOnly,
78
+ includePaths,
79
+ excludePaths,
80
+ },
81
+ });
82
+ // 結果を整形(プロジェクト名を含める)
83
+ let resultText = `[プロジェクト: ${project}]\n`;
84
+ resultText += `検索結果: ${response.total}件\n`;
85
+ resultText += `処理時間: ${response.took}ms\n\n`;
86
+ if (response.results.length === 0) {
87
+ resultText += '該当する結果が見つかりませんでした。';
88
+ }
89
+ else {
90
+ const total = response.results.length;
91
+ response.results.forEach((result, index) => {
92
+ resultText += '---\n';
93
+ const heading = result.heading || '(no heading)';
94
+ const hierarchy = formatSectionNumber(result.sectionNumber);
95
+ // 1行目: タイトル + 章節項号
96
+ if (hierarchy) {
97
+ resultText += `📄 「${heading}」(${hierarchy})\n`;
98
+ }
99
+ else {
100
+ // depth=0の場合は章節項号なし
101
+ resultText += `📄 ${heading}\n`;
102
+ }
103
+ // 2行目: ファイルパス
104
+ resultText += ` ${result.documentPath}\n`;
105
+ // 3行目: 行数、順位、ID
106
+ const rank = index + 1;
107
+ resultText += ` ${result.startLine}-${result.endLine}行目 | ${rank}位/${total}件 | id: ${result.id}\n\n`;
108
+ // コンテンツ(インデント)
109
+ const preview = getPreviewContent(result.content, previewLines);
110
+ const indentedContent = preview
111
+ .split('\n')
112
+ .map((line) => ` ${line}`)
113
+ .join('\n');
114
+ resultText += indentedContent + '\n';
115
+ });
116
+ // 検索ヒント
117
+ resultText += '\n💡 検索のヒント:\n';
118
+ resultText += ' - 結果は関連性順(上位ほど関連性が高い)\n';
119
+ resultText += ` - 続きを見る: get_document(sectionId: "...", project: "${project}")\n`;
120
+ resultText += ` - 件数調整: search(..., { project: "${project}", limit: 20 })\n`;
121
+ resultText += ` - 表示行数: search(..., { project: "${project}", previewLines: 10 })\n`;
122
+ }
123
+ return {
124
+ content: [
125
+ {
126
+ type: 'text',
127
+ text: resultText,
128
+ },
129
+ ],
130
+ };
131
+ }
132
+ catch (error) {
133
+ throw new Error(`関連プロジェクト "${project}" の検索エラー: ${error.message}`);
134
+ }
135
+ }
136
+ // メインプロジェクトの検索(既存の実装)
37
137
  // 状態チェック
38
138
  if (systemState.state !== 'RUNNING') {
39
139
  throw new Error(getStateErrorMessage(systemState.state, '文書の検索'));
40
140
  }
41
- const { query, depth, limit, includeCleanOnly, includePaths, excludePaths, previewLines = 5 } = args;
42
141
  const client = systemState.client;
43
142
  try {
44
143
  const response = await client.search({
@@ -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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"}
@@ -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,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAsEzF"}
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,CAgHzF"}
@@ -53,6 +53,41 @@ export function registerSystemStatusTool(context) {
53
53
  catch (error) {
54
54
  statusText += `⚠️ サーバ情報の取得に失敗: ${error.message}\n`;
55
55
  }
56
+ // 関連プロジェクト情報を表示
57
+ if (systemState.config?.relatedProjects) {
58
+ const relatedProjects = Object.keys(systemState.config.relatedProjects);
59
+ if (relatedProjects.length > 0) {
60
+ statusText += '\n関連プロジェクト:\n';
61
+ const allServers = context.serverManager.getAllServers();
62
+ for (const projectName of relatedProjects) {
63
+ const projectConfig = systemState.config.relatedProjects[projectName];
64
+ const serverInfo = allServers.get(projectName);
65
+ statusText += ` • ${projectName}`;
66
+ if (projectConfig.description) {
67
+ statusText += ` - ${projectConfig.description}`;
68
+ }
69
+ statusText += '\n';
70
+ statusText += ` ディレクトリ: ${projectConfig.dir}\n`;
71
+ if (serverInfo) {
72
+ // サーバが起動中
73
+ try {
74
+ await serverInfo.client.healthCheck();
75
+ statusText += ` 状態: 稼働中 ✅\n`;
76
+ statusText += ` ポート: ${serverInfo.port}\n`;
77
+ }
78
+ catch {
79
+ statusText += ` 状態: 停止中\n`;
80
+ }
81
+ }
82
+ else {
83
+ statusText += ` 状態: 未起動\n`;
84
+ }
85
+ }
86
+ statusText += '\n💡 関連プロジェクトを検索するには:\n';
87
+ statusText += ' search(query: "...", project: "プロジェクト名")\n';
88
+ statusText += ' get_document(path: "...", project: "プロジェクト名")\n';
89
+ }
90
+ }
56
91
  break;
57
92
  }
58
93
  return {
@@ -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,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"}
1
+ {"version":3,"file":"system-status.js","sourceRoot":"","sources":["../../src/tools/system-status.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import type { SystemStateInfo } from '../state.js';
6
+ import type { ServerManager } from '../server-manager.js';
6
7
  /**
7
8
  * 登録されたツールのハンドル
8
9
  * registerTool()の戻り値の型
@@ -18,5 +19,7 @@ export interface ToolRegistrationContext {
18
19
  systemState: SystemStateInfo;
19
20
  /** システム状態を再検出する関数 */
20
21
  refreshSystemState: () => Promise<void>;
22
+ /** サーバマネージャー(複数プロジェクト管理用) */
23
+ serverManager: ServerManager;
21
24
  }
22
25
  //# sourceMappingURL=types.d.ts.map
@@ -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;;;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"}
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;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;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;IACxC,6BAA6B;IAC7B,aAAa,EAAE,aAAa,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@search-docs/mcp-server",
3
- "version": "1.3.0",
3
+ "version": "1.4.3",
4
4
  "description": "MCP Server for search-docs - Claude Code integration",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
@@ -16,9 +16,9 @@
16
16
  "@modelcontextprotocol/sdk": "^1.17.0",
17
17
  "commander": "^12.0.0",
18
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"
19
+ "@search-docs/types": "1.3.0",
20
+ "@search-docs/client": "1.0.15",
21
+ "@search-docs/cli": "1.0.31"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@coeiro-operator/mcp-debug": "^1.0.0",