@hoshikawashiro/ide-mcp-server 1.0.7-internal → 1.0.9

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.
@@ -13,6 +13,11 @@ export declare class MCPServer {
13
13
  * 确保每两次刷新之间不小于 5 秒
14
14
  */
15
15
  private refreshInstancesWithThrottle;
16
+ /**
17
+ * 统一的实例查找方法
18
+ * 根据当前工作目录查找对应的 IDE 实例,如果找不到则抛出统一的错误
19
+ */
20
+ private findInstanceOrThrow;
16
21
  private registerTools;
17
22
  private handleShowPopup;
18
23
  private handleListInstances;
@@ -25,6 +30,10 @@ export declare class MCPServer {
25
30
  private handleSemanticsCodeSearch;
26
31
  private handleLookupDeclaration;
27
32
  private handleFindUsage;
33
+ private handleAnalyzeImage;
34
+ private callImageAnalyzeAPI;
35
+ private handleReadLarkDoc;
36
+ private callReadLarkDocAPI;
28
37
  start(): Promise<void>;
29
38
  stop(): Promise<void>;
30
39
  isServerRunning(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAeA,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;;IAsBzC;;;OAGG;YACW,4BAA4B;IAmB1C,OAAO,CAAC,aAAa;YAiOP,eAAe;YA4Bf,mBAAmB;YAqBnB,mBAAmB;YA2BnB,oBAAoB;YA+BpB,iBAAiB;YAmCjB,iBAAiB;YAmCjB,gCAAgC;YAuChC,uBAAuB;YA+BvB,yBAAyB;YAmCzB,uBAAuB;YAmCvB,eAAe;IAmCvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,eAAe,IAAI,OAAO;CAG3B"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAgBA,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;;IAsBzC;;;OAGG;YACW,4BAA4B;IAmB1C;;;OAGG;YACW,mBAAmB;IAcjC,OAAO,CAAC,aAAa;YAqRP,eAAe;YAuBf,mBAAmB;YAqBnB,mBAAmB;YA2BnB,oBAAoB;YA0BpB,iBAAiB;YA8BjB,iBAAiB;YA8BjB,gCAAgC;YA8ChC,uBAAuB;YA0BvB,yBAAyB;YA8BzB,uBAAuB;YA8BvB,eAAe;YA8Bf,kBAAkB;YA2BlB,mBAAmB;YAkBnB,iBAAiB;YA2BjB,kBAAkB;IAiB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,eAAe,IAAI,OAAO;CAG3B"}
@@ -5,6 +5,8 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
5
5
  import { InstanceManager } from './utils/instance-manager.js';
6
6
  import { IDEConnector } from './services/ide-connector.js';
7
7
  import * as os from 'os';
8
+ import axios from 'axios';
9
+ import { snippetParser } from "./utils/snippet-parser.js";
8
10
  export class MCPServer {
9
11
  constructor() {
10
12
  this.isRunning = false;
@@ -47,6 +49,21 @@ export class MCPServer {
47
49
  console.log('Failed to refresh instances:', error);
48
50
  }
49
51
  }
52
+ /**
53
+ * 统一的实例查找方法
54
+ * 根据当前工作目录查找对应的 IDE 实例,如果找不到则抛出统一的错误
55
+ */
56
+ async findInstanceOrThrow() {
57
+ const cwd = process.cwd();
58
+ const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
59
+ if (!instance) {
60
+ throw new Error(`No IDE instance found for project path: ${cwd}. You may not have started this project in IDEA/Android Studio, or not installed *IDE-use* plugin in the corresponding IDE.
61
+ - Plugin documentation: 📚 https://v2ig.cn/OyldV8sfxWI/
62
+ - Quick installation command: \`bash <(curl -s "https://v2mg.cn/Kw3Wx4hxHKs/")\`
63
+ `);
64
+ }
65
+ return instance;
66
+ }
50
67
  registerTools() {
51
68
  // 注册 showPopup 工具
52
69
  this.server.setRequestHandler(ListToolsRequestSchema, async () => {
@@ -172,10 +189,7 @@ Query must be functionality targeting which includes: [functionality description
172
189
  {
173
190
  name: 'lookup_declaration',
174
191
  description: `
175
- Look up the precise declaration of a specific java or kotlin symbol (could be class, method, variable) in the current project. Valid cases to use this tool to find declaration are only:
176
- - Class use: get the class declaration;
177
- - Method call: get the method declaration;
178
- - Variable accsss: get the variable declaration;
192
+ Look up the precise declaration of a specific java or kotlin symbol (could be class, method, variable) in the current project. Valid cases to use this tool to find declaration like Class use, method call and variable access (get or set).
179
193
  This tool return a json object describe declaration which contains:
180
194
  - identifier: an identifier contains target declaration, MUST use 'fetch_content_from_identifier' to get its real content;
181
195
  - codeRange: code line range which contains the declaration;
@@ -185,24 +199,28 @@ This tool return a json object describe declaration which contains:
185
199
  properties: {
186
200
  filePath: {
187
201
  type: 'string',
188
- description: 'The file path which contains symbol usage'
202
+ description: 'File path which contains symbol usage'
189
203
  },
190
204
  line: {
191
205
  type: 'number',
192
- description: 'Symbol usage first character line number (start from 1)'
206
+ description: 'line number which contains the target symbol (start from 1)'
193
207
  },
194
- column: {
208
+ symbolIndex: {
195
209
  type: 'number',
196
- description: 'Symbol usage first character column number (start from 1)'
210
+ description: 'If there are multiple target symbols with the same name in this line, this parameter specifies the index (start from 1) of which target symbol. If the target symbol is unique in this line, this parameter is not needed.'
211
+ },
212
+ symbol: {
213
+ type: 'string',
214
+ description: "The name of the target symbol."
197
215
  }
198
216
  },
199
- required: ['filePath', 'line', 'column']
217
+ required: ['filePath', 'line', 'symbol']
200
218
  }
201
219
  },
202
220
  {
203
221
  name: 'find_usage',
204
222
  description: `
205
- Find all usage points of a specific java or kotlin symbol (could be class, method, variable) in the current project. Given the position coordinates where the symbol is declared, this tool will return a list of json object where it was used. Each usage result item contains:
223
+ Find all usage specs of a specific java or kotlin symbol (could be class, method, variable) in the current project. Given the position coordinates where the symbol is declared, this tool will return a list of json object where it was used. Each usage result item contains:
206
224
  - identifier: an identifier of target usage class, MUST use 'fetch_content_from_identifier' to get its real content. Attention: The identifier does not equals to file path;
207
225
  - line: the line number of the usage point;
208
226
  - preview: a brief content context of the usage point (2 lines above and below the usage point);
@@ -212,18 +230,54 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
212
230
  properties: {
213
231
  filePath: {
214
232
  type: 'string',
215
- description: 'Symbol (class, method, variable) declaration file path'
233
+ description: 'File path which contains symbol usage'
216
234
  },
217
235
  line: {
218
236
  type: 'number',
219
- description: 'Symbol declaration first character line number (start from 1)'
237
+ description: 'line number which contains the target symbol (start from 1)'
220
238
  },
221
- column: {
239
+ symbolIndex: {
222
240
  type: 'number',
223
- description: 'Symbol declaration first character column number (start from 1)'
241
+ description: 'If there are multiple target symbols with the same name in this line, this parameter specifies the index (start from 1) of which target symbol. If the target symbol is unique in this line, this parameter is not needed.'
242
+ },
243
+ symbol: {
244
+ type: 'string',
245
+ description: "The name of the target symbol."
246
+ }
247
+ },
248
+ required: ['filePath', 'line', 'symbol']
249
+ }
250
+ },
251
+ {
252
+ name: 'analyze_image',
253
+ description: 'Analyze an image using advanced AI vision models with comprehensive understanding capabilities. Only accepts remote image URLs (HTTP/HTTPS).',
254
+ inputSchema: {
255
+ type: 'object',
256
+ properties: {
257
+ image_source: {
258
+ type: 'string',
259
+ description: 'Accept only remote uploaded imageURL'
260
+ },
261
+ prompt: {
262
+ type: 'string',
263
+ description: 'A detail description of infomation want to extract from this image or the purpose of analyzing'
224
264
  }
225
265
  },
226
- required: ['filePath', 'line', 'column']
266
+ required: ['image_source', 'prompt']
267
+ }
268
+ },
269
+ {
270
+ name: 'read_lark_doc',
271
+ description: 'Read and retrieve content of a Lark document from its web link. The link MUST contains /wiki/ or /docx/ in its path. NEVER use this tool if the link not matches the pattern.',
272
+ inputSchema: {
273
+ type: 'object',
274
+ properties: {
275
+ docLink: {
276
+ type: 'string',
277
+ description: 'A valid http/https link to a Lark document.'
278
+ }
279
+ },
280
+ required: ['docLink']
227
281
  }
228
282
  },
229
283
  ]
@@ -254,10 +308,26 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
254
308
  return await this.handleTriggerGradleSync();
255
309
  case 'semantics_code_search':
256
310
  return await this.handleSemanticsCodeSearch(args);
257
- case 'lookup_declaration':
258
- return await this.handleLookupDeclaration(args);
259
- case 'find_usage':
260
- return await this.handleFindUsage(args);
311
+ case 'lookup_declaration': {
312
+ const { filePath, line, symbolIndex, symbol } = args;
313
+ const lookupResult = snippetParser.parse(filePath, line, symbol, symbolIndex);
314
+ if (!lookupResult.success) {
315
+ throw new Error(`Failed to parse snippet for lookup_declaration: ${lookupResult.error}`);
316
+ }
317
+ return await this.handleLookupDeclaration({ filePath, line: lookupResult.line, column: lookupResult.column });
318
+ }
319
+ case 'find_usage': {
320
+ const { filePath, line, symbolIndex, symbol } = args;
321
+ const findUsageResult = snippetParser.parse(filePath, line, symbol, symbolIndex);
322
+ if (!findUsageResult.success) {
323
+ throw new Error(`Failed to parse snippet for find_usage: ${findUsageResult.error}`);
324
+ }
325
+ return await this.handleFindUsage({ filePath, line: findUsageResult.line, column: findUsageResult.column });
326
+ }
327
+ case 'analyze_image':
328
+ return await this.handleAnalyzeImage(args);
329
+ case 'read_lark_doc':
330
+ return await this.handleReadLarkDoc(args);
261
331
  default:
262
332
  throw new Error(`Unknown tool: ${name}`);
263
333
  }
@@ -271,12 +341,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
271
341
  if (!params.message) {
272
342
  throw new Error('Invalid params: message are required');
273
343
  }
274
- let cwd = process.cwd();
275
344
  // 查找对应的 IDE 实例
276
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
277
- if (!instance) {
278
- throw new Error(`No IDE instance found for project path: ${cwd}`);
279
- }
345
+ const instance = await this.findInstanceOrThrow();
280
346
  try {
281
347
  await this.ideConnector.showPopup(instance, params.message);
282
348
  return {
@@ -335,12 +401,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
335
401
  }
336
402
  }
337
403
  async handleGetCurrentFile() {
338
- let cwd = process.cwd();
339
404
  // 查找对应的 IDE 实例
340
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
341
- if (!instance) {
342
- throw new Error(`No IDE instance found for project path: ${cwd}`);
343
- }
405
+ const instance = await this.findInstanceOrThrow();
344
406
  try {
345
407
  const response = await this.ideConnector.getCurrentFile(instance);
346
408
  if (response.error) {
@@ -364,12 +426,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
364
426
  if (!params.filePath) {
365
427
  throw new Error('Invalid params: filePath is required');
366
428
  }
367
- let cwd = process.cwd();
368
429
  // 查找对应的 IDE 实例
369
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
370
- if (!instance) {
371
- throw new Error(`No IDE instance found for project path: ${cwd}`);
372
- }
430
+ const instance = await this.findInstanceOrThrow();
373
431
  try {
374
432
  const response = await this.ideConnector.codeInspect(instance, params.filePath);
375
433
  if (response.error) {
@@ -393,12 +451,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
393
451
  if (!params.keyword) {
394
452
  throw new Error('Invalid params: keyword is required');
395
453
  }
396
- let cwd = process.cwd();
397
454
  // 查找对应的 IDE 实例
398
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
399
- if (!instance) {
400
- throw new Error(`No IDE instance found for project path: ${cwd}`);
401
- }
455
+ const instance = await this.findInstanceOrThrow();
402
456
  try {
403
457
  const response = await this.ideConnector.searchClass(instance, params.keyword);
404
458
  if (response.error) {
@@ -422,12 +476,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
422
476
  if (!params.identifier) {
423
477
  throw new Error('Invalid params: identifier is required');
424
478
  }
425
- let cwd = process.cwd();
426
479
  // 查找对应的 IDE 实例
427
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
428
- if (!instance) {
429
- throw new Error(`No IDE instance found for project path: ${cwd}`);
430
- }
480
+ const instance = await this.findInstanceOrThrow();
431
481
  // 设置默认值
432
482
  const startLine = params.startLine ?? 0;
433
483
  const endLine = params.endLine ?? 10000;
@@ -437,26 +487,34 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
437
487
  throw new Error(`Failed to fetch content from identifier: ${response.error.message}`);
438
488
  }
439
489
  const contentResult = response.result;
440
- return {
441
- content: [
442
- {
443
- type: 'text',
444
- text: `Content for identifier "${params.identifier}" (lines ${startLine}-${endLine}):\n${JSON.stringify(contentResult, null, 2)}`
445
- }
446
- ]
447
- };
490
+ if (contentResult.success) {
491
+ return {
492
+ content: [
493
+ {
494
+ type: 'text',
495
+ text: `${contentResult.content}`
496
+ }
497
+ ]
498
+ };
499
+ }
500
+ else {
501
+ return {
502
+ content: [
503
+ {
504
+ type: 'text',
505
+ text: `${JSON.stringify(contentResult)}`
506
+ }
507
+ ]
508
+ };
509
+ }
448
510
  }
449
511
  catch (error) {
450
512
  throw new Error(`Failed to fetch content from identifier: ${error instanceof Error ? error.message : 'Unknown error'}`);
451
513
  }
452
514
  }
453
515
  async handleTriggerGradleSync() {
454
- let cwd = process.cwd();
455
516
  // 查找对应的 IDE 实例
456
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
457
- if (!instance) {
458
- throw new Error(`No IDE instance found for project path: ${cwd}`);
459
- }
517
+ const instance = await this.findInstanceOrThrow();
460
518
  try {
461
519
  const response = await this.ideConnector.triggerGradleSync(instance);
462
520
  if (response.error) {
@@ -480,12 +538,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
480
538
  if (!params.codeDescription) {
481
539
  throw new Error('Invalid params: codeDescription is required');
482
540
  }
483
- let cwd = process.cwd();
484
541
  // 查找对应的 IDE 实例
485
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
486
- if (!instance) {
487
- throw new Error(`No IDE instance found for project path: ${cwd}`);
488
- }
542
+ const instance = await this.findInstanceOrThrow();
489
543
  try {
490
544
  const response = await this.ideConnector.semanticsCodeSearch(instance, params.codeDescription, params.topK || 3);
491
545
  if (response.error) {
@@ -509,12 +563,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
509
563
  if (!params.filePath || params.line === undefined || params.column === undefined) {
510
564
  throw new Error('Invalid params: filePath, line, and column are required');
511
565
  }
512
- let cwd = process.cwd();
513
566
  // 查找对应的 IDE 实例
514
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
515
- if (!instance) {
516
- throw new Error(`No IDE instance found for project path: ${cwd}`);
517
- }
567
+ const instance = await this.findInstanceOrThrow();
518
568
  try {
519
569
  const response = await this.ideConnector.lookupDeclaration(instance, params.filePath, params.line, params.column);
520
570
  if (response.error) {
@@ -538,12 +588,8 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
538
588
  if (!params.filePath || params.line === undefined || params.column === undefined) {
539
589
  throw new Error('Invalid params: filePath, line, and column are required');
540
590
  }
541
- let cwd = process.cwd();
542
591
  // 查找对应的 IDE 实例
543
- const instance = await this.instanceManager.findInstanceByProjectPath(cwd);
544
- if (!instance) {
545
- throw new Error(`No IDE instance found for project path: ${cwd}`);
546
- }
592
+ const instance = await this.findInstanceOrThrow();
547
593
  try {
548
594
  const response = await this.ideConnector.findUsage(instance, params.filePath, params.line, params.column);
549
595
  if (response.error) {
@@ -563,6 +609,87 @@ Find all usage points of a specific java or kotlin symbol (could be class, metho
563
609
  throw new Error(`Failed to find usage: ${error instanceof Error ? error.message : 'Unknown error'}`);
564
610
  }
565
611
  }
612
+ async handleAnalyzeImage(params) {
613
+ if (!params.image_source || !params.prompt) {
614
+ throw new Error('Invalid params: image_source and prompt are required');
615
+ }
616
+ // Validate that it's a valid URL
617
+ if (!params.image_source.startsWith('http://') && !params.image_source.startsWith('https://')) {
618
+ throw new Error('image_source must be a valid HTTP or HTTPS URL');
619
+ }
620
+ try {
621
+ // Call image analysis API
622
+ const analysisResult = await this.callImageAnalyzeAPI(params.image_source, params.prompt);
623
+ return {
624
+ content: [
625
+ {
626
+ type: 'text',
627
+ text: `Image Analysis Result:\n\n${JSON.stringify(analysisResult)}`
628
+ }
629
+ ]
630
+ };
631
+ }
632
+ catch (error) {
633
+ throw new Error(`Failed to analyze image: ${error instanceof Error ? error.message : 'Unknown error'}`);
634
+ }
635
+ }
636
+ async callImageAnalyzeAPI(imageUrl, prompt) {
637
+ try {
638
+ const response = await axios.post('https://v45b0i5r.fn.bytedance.net/chat/imageAnalyze', {
639
+ imageUrl: imageUrl,
640
+ prompt: prompt
641
+ }, {
642
+ headers: {
643
+ 'Content-Type': 'application/json'
644
+ },
645
+ timeout: 60000 // 60秒超时
646
+ });
647
+ return response.data;
648
+ }
649
+ catch (error) {
650
+ throw new Error(`Image analysis API request failed (${error.response?.status})`);
651
+ }
652
+ }
653
+ async handleReadLarkDoc(params) {
654
+ if (!params.docLink) {
655
+ throw new Error('Invalid params: docLink is required');
656
+ }
657
+ // Validate that it's a valid URL
658
+ if (!params.docLink.startsWith('http://') && !params.docLink.startsWith('https://')) {
659
+ throw new Error('docLink must be a valid HTTP or HTTPS URL');
660
+ }
661
+ try {
662
+ // Call Lark doc reading API
663
+ const docContent = await this.callReadLarkDocAPI(params.docLink);
664
+ return {
665
+ content: [
666
+ {
667
+ type: 'text',
668
+ text: `Lark Document Content:\n\n${JSON.stringify(docContent)}`
669
+ }
670
+ ]
671
+ };
672
+ }
673
+ catch (error) {
674
+ throw new Error(`Failed to read Lark document: ${error instanceof Error ? error.message : 'Unknown error'}`);
675
+ }
676
+ }
677
+ async callReadLarkDocAPI(docLink) {
678
+ try {
679
+ const response = await axios.post('https://v45b0i5r.fn.bytedance.net/chat/readLarkDoc', {
680
+ docLink: docLink
681
+ }, {
682
+ headers: {
683
+ 'Content-Type': 'application/json'
684
+ },
685
+ timeout: 60000 // 60秒超时
686
+ });
687
+ return response.data;
688
+ }
689
+ catch (error) {
690
+ throw new Error(`Lark doc reading API request failed (${JSON.stringify(error.response?.data)})`);
691
+ }
692
+ }
566
693
  async start() {
567
694
  if (this.isRunning) {
568
695
  console.error('MCP Server is already running');
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * 简化的 Snippet 解析结果
3
+ */
4
+ export interface ParseResult {
5
+ /** 目标符号的精确行号 */
6
+ line: number;
7
+ /** 目标符号的精确列号 (从1开始) */
8
+ column: number;
9
+ /** 是否解析成功 */
10
+ success: boolean;
11
+ /** 错误信息 */
12
+ error?: string;
13
+ }
14
+ /**
15
+ * Snippet 解析器
16
+ * 1. 从 snippet 中确定目标符号是第几个
17
+ * 2. 在实际文件行中找到对应的列号
18
+ */
19
+ export declare class SnippetParser {
20
+ /**
21
+ * 解析 snippet,获取精确行列号
22
+ * @param filePath 文件路径
23
+ * @param line 目标行号
24
+ * @param symbol 符号名称
25
+ * @param symbolIndex
26
+ * @returns 解析结果
27
+ */
28
+ parse(filePath: string, line: number, symbol: string, symbolIndex?: number): ParseResult;
29
+ /**
30
+ * 获取符号的上下文信息(前后各n个字符)
31
+ */
32
+ private getSymbolContexts;
33
+ /**
34
+ * 统计符号在行中出现的次数
35
+ * @param line 代码行
36
+ * @param symbol 目标符号
37
+ * @returns 出现次数
38
+ */
39
+ private countSymbolOccurrences;
40
+ /**
41
+ * 将代码行分割为 word 映射列表
42
+ * 避免字符串包含问题,使用更严格的 word 边界
43
+ */
44
+ private splitIntoWords;
45
+ /**
46
+ * 在实际文件行中找到第 symbolIndex 个符号的列号
47
+ * @param line 实际文件行
48
+ * @param symbol 目标符号名称
49
+ * @param symbolIndex 第几个出现(从1开始)
50
+ * @returns 列号,从1开始,没找到返回0
51
+ */
52
+ private findSymbolColumn;
53
+ }
54
+ export declare const snippetParser: SnippetParser;
55
+ //# sourceMappingURL=snippet-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet-parser.d.ts","sourceRoot":"","sources":["../../src/utils/snippet-parser.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD;;;;GAIG;AACH,qBAAa,aAAa;IAEtB;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW;IAuExF;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAe3B;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,146 @@
1
+ import fs from 'fs';
2
+ /**
3
+ * Snippet 解析器
4
+ * 1. 从 snippet 中确定目标符号是第几个
5
+ * 2. 在实际文件行中找到对应的列号
6
+ */
7
+ export class SnippetParser {
8
+ /**
9
+ * 解析 snippet,获取精确行列号
10
+ * @param filePath 文件路径
11
+ * @param line 目标行号
12
+ * @param symbol 符号名称
13
+ * @param symbolIndex
14
+ * @returns 解析结果
15
+ */
16
+ parse(filePath, line, symbol, symbolIndex) {
17
+ try {
18
+ // 1. 验证参数
19
+ if (!filePath || !fs.existsSync(filePath)) {
20
+ return {
21
+ line: 0,
22
+ column: 0,
23
+ success: false,
24
+ error: 'File not found or path is empty'
25
+ };
26
+ }
27
+ const fileContent = fs.readFileSync(filePath, 'utf-8');
28
+ const lines = fileContent.split('\n');
29
+ const actualLine = lines[line - 1]; // 转换为0索引
30
+ // 如果未提供 symbolIndex,检查是否存在多个同名符号
31
+ if (symbolIndex == null) {
32
+ const symbolCount = this.countSymbolOccurrences(actualLine, symbol);
33
+ if (symbolCount === 0) {
34
+ return {
35
+ line: 0,
36
+ column: 0,
37
+ success: false,
38
+ error: `Symbol '${symbol}' not found in line ${line}`
39
+ };
40
+ }
41
+ else if (symbolCount > 1) {
42
+ const contexts = this.getSymbolContexts(actualLine, symbol);
43
+ return {
44
+ line: 0,
45
+ column: 0,
46
+ success: false,
47
+ error: `找到 ${symbolCount} 个 '${symbol}' 符号,请使用 symbolIndex 参数指定:\n` +
48
+ contexts.map((context, index) => ` ${index + 1}.上下文: "...${context}..."`).join('\n') +
49
+ `\n示例:如需选择第一个,使用 symbolIndex=1`
50
+ };
51
+ }
52
+ // 如果只有一个匹配项,默认使用第一个
53
+ symbolIndex = 1;
54
+ }
55
+ // 在实际文件行中找到第 symbolIndex 个符号的列号
56
+ const column = this.findSymbolColumn(actualLine, symbol, symbolIndex);
57
+ if (column === 0) {
58
+ return {
59
+ line: 0,
60
+ column: 0,
61
+ success: false,
62
+ error: `Symbol '${symbol}' not found in line ${line} as the ${symbolIndex}th occurrence`
63
+ };
64
+ }
65
+ return {
66
+ line,
67
+ column,
68
+ success: true
69
+ };
70
+ }
71
+ catch (error) {
72
+ return {
73
+ line: 0,
74
+ column: 0,
75
+ success: false,
76
+ error: `Parse error: ${error instanceof Error ? error.message : String(error)}`
77
+ };
78
+ }
79
+ }
80
+ /**
81
+ * 获取符号的上下文信息(前后各n个字符)
82
+ */
83
+ getSymbolContexts(line, symbol, contextLength = 15) {
84
+ const contexts = [];
85
+ const words = this.splitIntoWords(line);
86
+ const symbolWords = words.filter(word => word.symbol === symbol);
87
+ for (const word of symbolWords) {
88
+ const start = Math.max(0, word.startColumn - 1 - contextLength);
89
+ const end = Math.min(line.length, word.endColumn + contextLength);
90
+ const context = line.substring(start, end);
91
+ contexts.push(context);
92
+ }
93
+ return contexts;
94
+ }
95
+ /**
96
+ * 统计符号在行中出现的次数
97
+ * @param line 代码行
98
+ * @param symbol 目标符号
99
+ * @returns 出现次数
100
+ */
101
+ countSymbolOccurrences(line, symbol) {
102
+ const words = this.splitIntoWords(line);
103
+ return words.filter(word => word.symbol === symbol).length;
104
+ }
105
+ /**
106
+ * 将代码行分割为 word 映射列表
107
+ * 避免字符串包含问题,使用更严格的 word 边界
108
+ */
109
+ splitIntoWords(line) {
110
+ const words = [];
111
+ // 使用正则表达式匹配代码中的标识符(变量名、方法名等)
112
+ // 匹配:字母、数字、下划线、$的组合,但不能以数字开头
113
+ const regex = /\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g;
114
+ let match;
115
+ while ((match = regex.exec(line)) !== null) {
116
+ words.push({
117
+ symbol: match[0],
118
+ startColumn: match.index + 1, // 列号从1开始
119
+ endColumn: match.index + match[0].length
120
+ });
121
+ }
122
+ return words;
123
+ }
124
+ /**
125
+ * 在实际文件行中找到第 symbolIndex 个符号的列号
126
+ * @param line 实际文件行
127
+ * @param symbol 目标符号名称
128
+ * @param symbolIndex 第几个出现(从1开始)
129
+ * @returns 列号,从1开始,没找到返回0
130
+ */
131
+ findSymbolColumn(line, symbol, symbolIndex) {
132
+ const words = this.splitIntoWords(line);
133
+ let currentIndex = 1;
134
+ for (const word of words) {
135
+ if (word.symbol === symbol) {
136
+ if (currentIndex === symbolIndex) {
137
+ return word.startColumn;
138
+ }
139
+ currentIndex++;
140
+ }
141
+ }
142
+ return 0; // 没找到足够数量的符号
143
+ }
144
+ }
145
+ export const snippetParser = new SnippetParser();
146
+ //# sourceMappingURL=snippet-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet-parser.js","sourceRoot":"","sources":["../../src/utils/snippet-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hoshikawashiro/ide-mcp-server",
3
- "version": "1.0.7-internal",
3
+ "version": "1.0.9",
4
4
  "description": "MCP Server for enhance IntelliJ IDEA abilities",
5
5
  "type": "module",
6
6
  "main": "dist/mcp-server.js",
@@ -31,6 +31,7 @@
31
31
  "author": "TikTok",
32
32
  "license": "MIT",
33
33
  "dependencies": {
34
+ "axios": "^1.13.2",
34
35
  "@modelcontextprotocol/sdk": "^0.4.0",
35
36
  "ws": "^8.14.2",
36
37
  "commander": "^11.1.0",