fix(mcp): add shared operations and secure scene APIs

This commit is contained in:
Aymeric Rabot
2026-04-27 17:10:25 -04:00
parent 058ee747c9
commit 8dfd1a9429
81 changed files with 1332 additions and 1786 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { z } from 'zod'
import type { SceneBridge } from '../bridge/scene-bridge'
import type { SceneOperations } from '../operations'
import { SCENE_DESIGN_GUIDANCE } from './scene-guidance'
const PREAMBLE = [
@@ -37,7 +37,7 @@ export function buildFromBriefPrompt(args: {
return parts.join('\n')
}
export function registerFromBrief(server: McpServer, _bridge: SceneBridge): void {
export function registerFromBrief(server: McpServer, _bridge: SceneOperations): void {
server.registerPrompt(
'from_brief',
{
+5 -5
View File
@@ -1,5 +1,5 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import type { SceneBridge } from '../bridge/scene-bridge'
import type { SceneOperations } from '../operations'
import { registerFromBrief } from './from-brief'
import { registerIterateOnFeedback } from './iterate-on-feedback'
import { registerRenovationFromPhotos } from './renovation-from-photos'
@@ -10,8 +10,8 @@ import { registerRenovationFromPhotos } from './renovation-from-photos'
* - `iterate_on_feedback` — minimal-diff patches from user feedback
* - `renovation_from_photos` — photo-driven renovation plan via vision tools
*/
export function registerPrompts(server: McpServer, bridge: SceneBridge): void {
registerFromBrief(server, bridge)
registerIterateOnFeedback(server, bridge)
registerRenovationFromPhotos(server, bridge)
export function registerPrompts(server: McpServer, operations: SceneOperations): void {
registerFromBrief(server, operations)
registerIterateOnFeedback(server, operations)
registerRenovationFromPhotos(server, operations)
}
@@ -1,6 +1,6 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { z } from 'zod'
import type { SceneBridge } from '../bridge/scene-bridge'
import type { SceneOperations } from '../operations'
import { SCENE_DESIGN_GUIDANCE } from './scene-guidance'
const PREAMBLE = [
@@ -25,7 +25,7 @@ export function buildIterateOnFeedbackPrompt(args: { feedback: string }): string
return [PREAMBLE, '', '## User feedback', args.feedback.trim()].join('\n')
}
export function registerIterateOnFeedback(server: McpServer, _bridge: SceneBridge): void {
export function registerIterateOnFeedback(server: McpServer, _bridge: SceneOperations): void {
server.registerPrompt(
'iterate_on_feedback',
{
@@ -1,6 +1,6 @@
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { z } from 'zod'
import type { SceneBridge } from '../bridge/scene-bridge'
import type { SceneOperations } from '../operations'
const PREAMBLE = [
'You are renovating an existing room based on photos of the current space and reference photos of the target aesthetic.',
@@ -138,7 +138,7 @@ export function buildRenovationMessages(args: {
return messages
}
export function registerRenovationFromPhotos(server: McpServer, _bridge: SceneBridge): void {
export function registerRenovationFromPhotos(server: McpServer, _bridge: SceneOperations): void {
server.registerPrompt(
'renovation_from_photos',
{