sia-vision-mcp-server
Version:
Enhanced v2 MCP server with improved error handling, validation, and comprehensive tool schemas for SIA.Vision storytelling platform
96 lines • 3.5 kB
JavaScript
export const sceneTools = [
{
name: 'get_scene',
description: 'Get complete scene data (slugline, prose, dialogue, beats, shotlist) with current version',
inputSchema: {
type: 'object',
properties: {
scene_id: { type: 'string' },
include_assets: {
type: 'boolean',
description: 'Include linked visual and audio assets',
default: true
},
include_history: {
type: 'boolean',
description: 'Include version history',
default: false
}
},
required: ['scene_id']
}
},
{
name: 'create_scene',
description: 'Create new scene within an episode act',
inputSchema: {
type: 'object',
properties: {
contentUnitId: { type: 'string', description: 'Episode (content unit) id' },
act_number: {
type: 'number',
minimum: 1
},
slugline: {
type: 'string',
description: 'e.g., "EXT. SHIP DECK - SUNSET"'
},
prose: {
type: 'string',
description: 'Narrative description',
minLength: 10
},
scene_order: {
type: 'number',
description: 'Order within the act'
}
},
required: ['contentUnitId', 'act_number', 'slugline']
}
},
{
name: 'update_scene',
description: 'Update scene using RFC-6902 JSON Patch operations with version control',
inputSchema: {
type: 'object',
properties: {
scene_id: { type: 'string' },
base_version: {
type: 'number',
description: 'Current version number for conflict detection'
},
operations: {
type: 'array',
maxItems: 50,
items: {
type: 'object',
properties: {
op: {
type: 'string',
enum: ['add', 'remove', 'replace', 'move', 'copy', 'test']
},
path: {
type: 'string',
description: 'JSON pointer path (e.g., "/prose", "/dialogue/-")'
},
value: {
description: 'Value for add/replace operations'
},
from: {
type: 'string',
description: 'Source path for move/copy'
}
},
required: ['op', 'path']
}
},
change_summary: {
type: 'string',
description: 'Brief description of changes for history tracking'
}
},
required: ['scene_id', 'base_version', 'operations']
}
}
];
//# sourceMappingURL=scene-tools.js.map