poker_proposeTransform
Proposes rotation and translation transformations for 3D objects by specifying axis rotations and movement vectors to modify spatial positioning.
Instructions
回転・移動変換を提案します
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 変換の一意な名前 | |
| operations | Yes | 変換操作の配列 |
Implementation Reference
- Handler function that executes the poker_proposeTransform tool. Validates input, calls taskManager.proposeTransform, handles specific errors, and returns results.async proposeTransform(args) { try { validateTransformRequest(args); const result = await taskManager.proposeTransform(args.name, args.operations); return { success: true, message: result }; } catch (error) { logger.error('proposeTransformハンドラーエラー', { args, error: error.message }); // マニフェスト仕様のpropose専用エラーコード処理 if (error.code === -32074) { return { success: false, error: error.message, details: { errorCode: error.code, suggestion: 'updateTransformメソッドを使用してください', existingObject: args.name, objectType: '変換' } }; } throw error; } },
- src/mcp/tools/transformTools.js:3-31 (schema)Input schema definition for the poker_proposeTransform tool, including properties for name and operations array.{ name: 'poker_proposeTransform', description: '回転・移動変換を提案します', inputSchema: { type: 'object', properties: { name: { type: 'string', description: '変換の一意な名前' }, operations: { type: 'array', description: '変換操作の配列', items: { type: 'object', description: '変換操作(rotate_around_x, rotate_around_y, rotate_around_z, translate)', properties: { rotate_around_x: { type: 'number', description: 'X軸周りの回転角度(度)' }, rotate_around_y: { type: 'number', description: 'Y軸周りの回転角度(度)' }, rotate_around_z: { type: 'number', description: 'Z軸周りの回転角度(度)' }, translate: { type: 'string', description: '平行移動ベクトル (x y z形式)' } } }, minItems: 1 } }, required: ['name', 'operations'] } },
- src/mcp/server.js:43-57 (registration)MCP server request handler for calling tools. Maps tool name 'poker_proposeTransform' to 'proposeTransform' handler by removing 'poker_' prefix and executes it.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 })(); });