UNPKG

hatch-slidev-builder-mcp

Version:

A comprehensive MCP server for creating Slidev presentations with component library, interactive elements, and team collaboration features

90 lines (89 loc) 3.65 kB
import { z } from 'zod'; const getCapabilitiesSchema = z.object({ detail: z.enum(['basic', 'full']).optional().default('basic') }); export async function getCapabilities(args) { const { detail } = getCapabilitiesSchema.parse(args); const basicCapabilities = { server: { name: 'Slidev Builder MCP Server', version: '2.0.0', description: 'Enhanced Slidev presentation builder with comprehensive process workflow' }, tools: { count: 9, names: [ 'initialize_project', 'create_slide', 'generate_assets', 'list_components', 'create_component', 'add_component', 'apply_theme', 'export_deck', 'get_capabilities' ] }, enhancements: { processWorkflow: '5-step Enhanced Slidev Builder Process', orchestration: 'ProcessOrchestrator layer for complete workflow management', assetGeneration: 'Universal asset creation with Python, 3D, interactive support', storyArchitecture: 'Strategic presentation planning and narrative design' } }; if (detail === 'basic') { return { success: true, capabilities: basicCapabilities }; } // Full detail mode const fullCapabilities = { ...basicCapabilities, process: { workflow: { step1: 'Story Architecture - Audience analysis and narrative design', step2: 'Main Idea - Core message and value proposition definition', step3: 'Idea Development - Content structure and flow planning', step4: 'Slides Deck - Presentation creation with theme and layout', step5: 'Assets Deck - Multi-modal asset generation and integration' }, modes: { complete: 'Full 5-step process with story architecture', 'slides-only': 'Skip story architecture, focus on slides and assets', quick: 'Minimal setup for rapid prototyping' } }, assets: { types: [ 'chart - Interactive charts and data visualizations', 'python-script - Custom Python analysis and visualization', '3d-visualization - Three.js 3D components', 'interactive-component - Vue.js interactive elements', 'audio - Audio content integration', 'video - Video content embedding', 'image - Image generation and processing' ], frameworks: ['Chart.js', 'D3.js', 'Three.js', 'Vue.js', 'Python/Matplotlib'] }, themes: { default: 'hatch-corporate', features: ['Corporate branding', 'Color schemes', 'Typography', 'Layout templates'] }, exports: ['pdf', 'png', 'html', 'pptx'], documentation: { processGuide: 'docs/SLIDEV-BUILDER-PROCESS.md included', apiReference: 'Complete tool schemas and usage examples', workflow: 'Step-by-step process documentation' } }; return { success: true, capabilities: fullCapabilities, usage: { quickStart: 'Use initialize_project with processMode="quick" for rapid setup', complete: 'Use initialize_project with processMode="complete" for full workflow', assets: 'Use generate_assets for any visualization or interactive element needs' } }; }