sia-vision-mcp-server
Version:
Enhanced v2 MCP server with improved error handling, validation, and comprehensive tool schemas for SIA.Vision storytelling platform
126 lines • 4.16 kB
JavaScript
export const assetTools = [
{
name: 'upload_media_asset',
description: 'Upload a media asset (image, audio, video) to the storyworld',
inputSchema: {
type: 'object',
properties: {
storyworld_id: {
type: 'string',
description: 'The ID of the storyworld'
},
asset_type: {
type: 'string',
description: 'Type of media asset',
enum: ['image', 'audio', 'video', 'document']
},
file_name: {
type: 'string',
description: 'Name of the file'
},
file_data: {
type: 'string',
description: 'Base64 encoded file data or file URL'
},
description: {
type: 'string',
description: 'Description of the asset'
},
tags: {
type: 'array',
items: { type: 'string' },
description: 'Tags for categorizing the asset'
}
},
required: ['storyworld_id', 'asset_type', 'file_name', 'file_data']
}
},
{
name: 'link_asset_to_scene',
description: 'Link a media asset to a specific scene',
inputSchema: {
type: 'object',
properties: {
asset_id: {
type: 'string',
description: 'The ID of the asset'
},
scene_id: {
type: 'string',
description: 'The ID of the scene'
},
link_type: {
type: 'string',
description: 'Type of link relationship',
enum: ['visual_reference', 'audio_reference', 'inspiration', 'production_asset']
},
notes: {
type: 'string',
description: 'Notes about the asset usage in the scene'
}
},
required: ['asset_id', 'scene_id', 'link_type']
}
},
{
name: 'get_scene_assets',
description: 'Get all assets linked to a specific scene',
inputSchema: {
type: 'object',
properties: {
scene_id: {
type: 'string',
description: 'The ID of the scene'
},
asset_type: {
type: 'string',
description: 'Filter by asset type (optional)',
enum: ['image', 'audio', 'video', 'document']
}
},
required: ['scene_id']
}
},
{
name: 'update_asset_metadata',
description: 'Update metadata for a media asset',
inputSchema: {
type: 'object',
properties: {
asset_id: {
type: 'string',
description: 'The ID of the asset'
},
description: {
type: 'string',
description: 'Updated description'
},
tags: {
type: 'array',
items: { type: 'string' },
description: 'Updated tags'
},
metadata: {
type: 'object',
description: 'Additional metadata fields'
}
},
required: ['asset_id']
}
},
{
name: 'get_asset_lineage',
description: 'Get the lineage and usage history of an asset',
inputSchema: {
type: 'object',
properties: {
asset_id: {
type: 'string',
description: 'The ID of the asset'
}
},
required: ['asset_id']
}
}
];
//# sourceMappingURL=asset-tools.js.map