poker_updateDetector
Update detector parameters including origin position, grid vectors, transformation names, and path trace visibility for enhanced detection accuracy.
Instructions
既存検出器のパラメータを更新します
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | 新しいエッジベクトルと分割数の組の配列 | |
| name | Yes | 更新する検出器の名前 | |
| origin | No | 新しい検出器の基準位置(x y z形式) | |
| show_path_trace | No | 透過線の経路トレースをサマリーに出力するか | |
| transform | No | 新しい変換名 |
Implementation Reference
- MCP handler function for updating detector parameters. Validates args, calls taskManager.updateDetector, performs post-update analysis, and returns structured response with success status and analysis.async updateDetector(args) { try { const { name, ...updates } = args; logger.info('検出器更新開始', { name, updates }); // TaskManagerの包括的更新処理を利用 const result = await taskManager.updateDetector(name, updates); // 更新後の分析情報 const existingDetector = taskManager.findDetectorByName(name); const updatedDetectorData = { ...existingDetector, ...updates }; const analysisResult = taskManager.analyzeDetectorStructure(updatedDetectorData); logger.info('検出器更新完了', { name, newComplexity: analysisResult.complexity }); return { success: true, message: result, updated: { name, ...updates, analysisAfterUpdate: { complexity: analysisResult.complexity, dimension: analysisResult.dimension, isOptimal: analysisResult.isOptimal } } }; } catch (error) { logger.error('検出器更新エラー', { args, error: error.message }); // マニフェスト仕様のupdate専用エラーコード処理 if (error.code === -32083) { return { success: false, error: error.message, details: { errorCode: error.code, suggestion: 'proposeDetectorメソッドを使用してください', missingObject: args.name, objectType: '検出器' } }; } throw error; }
- JSON schema defining the input parameters for the poker_updateDetector tool, including name (required), optional origin, grid, transform, and show_path_trace.{ name: 'poker_updateDetector', description: '既存検出器のパラメータを更新します', inputSchema: { type: 'object', properties: { name: { type: 'string', description: '更新する検出器の名前' }, origin: { type: 'string', description: '新しい検出器の基準位置(x y z形式)', pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$' }, grid: { type: 'array', description: '新しいエッジベクトルと分割数の組の配列', minItems: 0, maxItems: 3, items: { type: 'object', properties: { edge: { type: 'string', description: 'エッジベクトル(x y z形式)', pattern: '^-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?\\s+-?\\d+(\\.\\d+)?$' }, number: { type: 'integer', description: '分割数', minimum: 1, maximum: 10000 } }, required: ['edge', 'number'], additionalProperties: false } }, transform: { type: 'string', description: '新しい変換名', pattern: '^[a-zA-Z0-9_]+$', maxLength: 50 }, show_path_trace: { type: 'boolean', description: '透過線の経路トレースをサマリーに出力するか' } }, required: ['name'], additionalProperties: false } },
- src/mcp/server.js:43-57 (registration)MCP server request handler for CallToolRequestSchema that dispatches to the appropriate handler by stripping 'poker_' prefix from tool name (maps poker_updateDetector to updateDetector).this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; logger.info(`MCP Tool実行: ${name}`, { args }); // ハンドラー名をツール名から生成(プレフィックス除去) const handlerName = name.replace('poker_', ''); const handler = this.handlers[handlerName]; if (!handler) { throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); } return await safeExecute(async () => handler(args), { tool: name })(); });