{"mcp_version":"1.0","service":{"name":"Flexweg","url":"https:\/\/www.flexweg.com","description":"Deploy HTML pages instantly and get a public URL. Full file management API available with authentication."},"transport":{"type":"streamable-http","url":"https:\/\/www.flexweg.com\/mcp","description":"Native MCP server with JSON-RPC 2.0 over Streamable HTTP transport. Supports initialize, tools\/list, tools\/call, and ping methods."},"tools":[{"name":"publish_html","description":"Publish HTML content and return a public URL (no authentication required, temporary storage)","method":"POST","endpoint":"\/ai\/publish","input_schema":{"type":"object","properties":{"html":{"type":"string","description":"Full HTML page"}},"required":["html"]}},{"name":"generate_temp_api_key","description":"Generate a temporary API key for authenticated file operations. Ask the user if they want to generate a temporary key when you need to access their files. Session authentication required (user must be logged in).","method":"POST","endpoint":"\/api\/keys\/generate-temp","requires_auth":"session","input_schema":{"type":"object","properties":{"storage_folder_id":{"type":"integer","description":"Optional: specific storage folder ID (uses default if not provided)"},"expires_in":{"type":"integer","description":"Optional: expiration time in seconds (default: 3600, max: 86400)","default":3600}}}},{"name":"list_files","description":"List all files and folders in the user\u0027s storage. Returns a paginated tree structure with file metadata. Default 100 items per page, maximum 100 items per page. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to access your files. Would you like to generate a temporary API key?\u0022","method":"GET","endpoint":"\/api\/v1\/files\/list","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"page":{"type":"integer","description":"Page number (default: 1)","required":false,"default":1},"per_page":{"type":"integer","description":"Number of items per page (default: 100, maximum: 100)","required":false,"default":100},"site_id":{"type":"integer","description":"Storage folder ID (optional, uses default if not specified when using session authentication)","required":false}}}},{"name":"get_file_content","description":"Get the content of a specific file by path. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to access your files. Would you like to generate a temporary API key?\u0022","method":"GET","endpoint":"\/api\/v1\/files\/get","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"path":{"type":"string","description":"File path (e.g., index.html or folder\/file.html)","required":true}},"required":["path"]}},{"name":"upload_file","description":"Upload or update a file in the user\u0027s storage. Supports HTML, CSS, JS, images (jpg, png, gif, svg, webp, ico), PDF, fonts (woff, woff2, ttf, otf), JSON, XML, TXT. For binary files (images, PDF, fonts), use base64 encoding. Maximum file size: 10MB. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to upload files. Would you like to generate a temporary API key?\u0022","method":"POST","endpoint":"\/api\/v1\/files\/upload","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"path":{"type":"string","description":"File path (e.g., \u0022index.html\u0022, \u0022css\/style.css\u0022, \u0022images\/logo.png\u0022)","required":true},"content":{"type":"string","description":"File content. For text files (HTML, CSS, JS, etc.), provide plain text. For binary files (images, PDF, fonts), provide base64-encoded content and set encoding to \u0022base64\u0022","required":true},"encoding":{"type":"string","description":"Optional. Set to \u0022base64\u0022 for binary files (images, PDF, fonts). Default is \u0022text\u0022 for HTML\/CSS\/JS","required":false}},"required":["path","content"]}},{"name":"create_folder","description":"Create a new folder to organize files (e.g., \u0022css\u0022, \u0022images\u0022, \u0022blog\/2024\u0022). Folders help structure your static site. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to create folders. Would you like to generate a temporary API key?\u0022","method":"POST","endpoint":"\/api\/v1\/files\/create-folder","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"path":{"type":"string","description":"Folder path to create (e.g., \u0022images\u0022, \u0022blog\/2024\u0022, \u0022css\u0022)","required":true}},"required":["path"]}},{"name":"rename_file","description":"Rename or move a file to a new path. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to rename files. Would you like to generate a temporary API key?\u0022","method":"POST","endpoint":"\/api\/v1\/files\/rename","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"old_path":{"type":"string","description":"Current file path","required":true},"new_path":{"type":"string","description":"New file path","required":true}},"required":["old_path","new_path"]}},{"name":"delete_file","description":"Delete a file from the user\u0027s storage. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to delete files. Would you like to generate a temporary API key?\u0022","method":"DELETE","endpoint":"\/api\/v1\/files\/delete","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"path":{"type":"string","description":"File path to delete","required":true}},"required":["path"]}},{"name":"rename_folder","description":"Rename or move a folder and all its contents. Useful for reorganizing your site structure. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to rename folders. Would you like to generate a temporary API key?\u0022","method":"POST","endpoint":"\/api\/v1\/files\/rename-folder","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"old_path":{"type":"string","description":"Current folder path (e.g., \u0022images\u0022, \u0022blog\/2023\u0022)","required":true},"new_path":{"type":"string","description":"New folder path (e.g., \u0022photos\u0022, \u0022blog\/2024\u0022)","required":true}},"required":["old_path","new_path"]}},{"name":"delete_folder","description":"Permanently delete a folder and all its contents. This action cannot be undone. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to delete folders. Would you like to generate a temporary API key?\u0022","method":"DELETE","endpoint":"\/api\/v1\/files\/delete-folder","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"path":{"type":"string","description":"Folder path to delete (e.g., \u0022old-images\u0022, \u0022temp\/drafts\u0022)","required":true}},"required":["path"]}},{"name":"get_storage_limits","description":"Get current storage usage and plan limits. Returns file count, storage size used, and available capacity. Requires API key authentication - if you don\u0027t have one, ask the user: \u0022I need an API key to check storage limits. Would you like to generate a temporary API key?\u0022","method":"GET","endpoint":"\/api\/v1\/files\/storage-limits","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":[]}},{"name":"upload_video","description":"Upload video file via multipart\/form-data. Simple single-request upload. Supports MP4, WebM, OGG, MOV up to 50 MB. Requires API key authentication.","method":"POST","endpoint":"\/api\/v1\/videos\/upload","requires_auth":"api_key","authentication":{"header":"X-API-Key","description":"Use temporary or permanent API key"},"input_schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Video file (binary data)","required":true},"path":{"type":"string","description":"Destination path (e.g., \u0022videos\/background.mp4\u0022)","required":true}},"required":["file","path"]}}]}