content của các khối nội dung MCP. Các công cụ văn bản trả về { type: "text", text: "<json-string>" }. Các công cụ hình ảnh trả về { type: "image", data: "<base64>", mimeType: "image/png" }. Khi thất bại, isError: true được đặt và khối văn bản chứa thông báo lỗi.
Công cụ tệp
list-files
Liệt kê các tệp Flowstep cho người dùng hiện tại.
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
orderByCreation | boolean | true | Sắp xếp theo ngày tạo |
limit | integer (1–100) | 20 | Số lượng tệp để trả về |
offset | integer (≥0) | 0 | Độ dời phân trang |
get-file
Lấy một tệp duy nhất theo ID. Nội dung tệp được bỏ qua một cách cố ý — sử dụng get-screen hoặc get-screen-image để kiểm tra các màn hình, và get-design-guidelines để lấy các nguyên tắc đính kèm.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
id | uuid | ID tệp |
create-file
Tạo một tệp Flowstep mới.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
title | string (min 1) | Tên tệp |
id của tệp mới.
id được trả về làm fileId trong các lệnh công cụ tiếp theo.
update-file
Đổi tên một tệp.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
id | uuid | ID tệp |
name | string (min 1) | Tên mới |
get-file.
delete-file
Xóa vĩnh viễn một tệp. name mà bạn chuyển được xác minh so với tên thực tế của tệp trước khi xóa — nếu nó không khớp, quá trình xóa bị hủy. Điều này ngăn chặn việc vô tình xóa tệp sai.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
id | uuid | ID tệp |
name | string | Tên hiện tại của tệp — phải khớp chính xác hoặc xóa bị hủy |
"File deleted successfully"
Công cụ màn hình
list-screens
Liệt kê tất cả các màn hình được tạo cho một tệp. Sử dụng giá trị screenId được trả về để tham chiếu các màn hình trong get-screen, get-screen-image, upload-attachment, và như targets trong edit-design, regenerate-design, hoặc expand-design.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | ID tệp |
name là tên màn hình do người dùng gán, hoặc null nếu không được đặt tên.
get-screen
Lấy mã JSX cho một màn hình cho phép bạn chỉnh sửa hoặc sử dụng mã bên ngoài Flowstep. Sử dụng get-screen-image để xem trước trực quan thay thế.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | ID tệp |
screenId | uuid | screenId được trả về bởi list-screens hoặc từ mảng screenIds được trả về bởi một công cụ thiết kế |
add-screen.
add-screen
Thêm một màn hình mới vào một tệp Flowstep từ một chuỗi JSX thô.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | ID tệp |
jsxContent | string | JSX để thêm vào tệp như một màn hình |
screenType | string | Bắt buộc nếu loại màn hình không được định nghĩa dưới dạng bình luận ở đầu JSX |
screenType, name, và screenId đều tùy chọn — screenId được sử dụng (nội bộ) nếu có (ví dụ: khi chuyển JSX được sao chép từ đầu ra get-screen) nhưng không bắt buộc. Tên màn hình được lấy từ trường name của bình luận (được hiển thị là “Copy of <name>”), hoặc “Untitled” nếu không có.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Đầu ra — ID màn hình mới được thêm.
get-screen-image
Hiển thị một màn hình thành PNG và trả về nó dưới dạng hình ảnh nội tuyến. Yêu cầu một ứng dụng khách hỗ trợ các khối nội dung hình ảnh.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | ID tệp |
screenId | uuid | screenId được trả về bởi list-screens hoặc từ mảng screenIds được trả về bởi một công cụ thiết kế |
image/png).
Công cụ AI
create-new-design
Tạo một hoặc nhiều thiết kế màn hình từ một prompt văn bản. Bỏ qua fileId để tạo một tệp mới tự động. Chặn cho đến khi tạo hoàn thành hoặc hết thời gian chờ (180 giây).
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
fileId | uuid | — | Tệp mục tiêu — bỏ qua để tạo tệp mới tự động |
message | string | — | Prompt mô tả các màn hình được tạo |
attachments | AttachmentRequestData[] (max 5) | [] | Phần đính kèm được tải lên trước — hình ảnh, PDF hoặc tệp mã. Luôn tải lên qua upload-attachment trước; không nhúng nội dung tệp trong tin nhắn |
designs | DesignRequestData[] | [] | Tài liệu tham khảo thiết kế |
{ fileId, screenIds }. Chuyển mỗi screenId đến get-screen-image để xem kết quả.
regenerate-design
Tạo lại các màn hình hiện có từ đầu hoặc với một biến thể kiểu. Yêu cầu ít nhất một screenId trong targets. Chặn cho đến khi tạo hoàn thành hoặc hết thời gian chờ (180 giây).
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
fileId | uuid | — | Tệp mục tiêu |
message | string | — | Văn bản prompt |
targets | uuid[] (min 1) | — | screenIds của các màn hình để tạo lại |
operationVariant | "different_layout" | "different_style" | "from_scratch" | — | Biến thể kiểu tùy chọn |
designs | DesignRequestData[] | [] | Tài liệu tham khảo thiết kế (được giải quyết tự động) |
{ fileId, screenIds }. Chuyển mỗi screenId đến get-screen-image để xem kết quả.
expand-design
Thêm các màn hình tiếp theo vào một thiết kế hiện có. Yêu cầu ít nhất một screenId trong targets và một operationVariant bắt buộc. Chặn cho đến khi tạo hoàn thành hoặc hết thời gian chờ (180 giây).
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
fileId | uuid | — | Tệp mục tiêu |
message | string | — | Văn bản prompt |
targets | uuid[] (min 1) | — | screenIds của các màn hình để mở rộng từ |
operationVariant | "next_screen" | "error_state" | "empty_state" | "web_version" | "mobile_version" | "tablet_version" | "mobile_ios_version" | "mobile_android_version" | — | Bắt buộc — loại màn hình tiếp theo để tạo |
designs | DesignRequestData[] | [] | Tài liệu tham khảo thiết kế (được giải quyết tự động) |
{ fileId, screenIds }. Chuyển mỗi screenId đến get-screen-image để xem kết quả.
edit-design
Sửa đổi các màn hình hiện có thông qua một prompt. Yêu cầu ít nhất một screenId trong targets. Chặn cho đến khi tạo hoàn thành hoặc hết thời gian chờ (180 giây).
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
fileId | uuid | — | Tệp mục tiêu |
message | string | — | Hướng dẫn mô tả các chỉnh sửa để áp dụng |
targets | uuid[] (min 1) | — | screenIds của các màn hình để chỉnh sửa |
operationVariant | "dark_theme" | "light_theme" | "make_pretty" | — | Phím tắt kiểu tùy chọn |
attachments | AttachmentRequestData[] (max 5) | [] | Phần đính kèm được tải lên trước. Luôn tải lên qua upload-attachment trước |
designs | DesignRequestData[] | [] | Tài liệu tham khảo thiết kế (được giải quyết tự động) |
{ fileId, screenIds }. Chuyển mỗi screenId đến get-screen-image để xem kết quả.
upload-attachment
Tải lên một tệp để sử dụng như một phần đính kèm trong create-new-design hoặc edit-design. Trả về { id, path, type, mimeType } — chuyển đối tượng này trực tiếp vào mảng attachments.
Hai chế độ:
Chế độ 1 — Màn hình theo ID
Chuyển screenId và fileId. Máy chủ tìm nạp trạng thái màn hình từ cơ sở dữ liệu và hiển thị nó dưới dạng hình ảnh.
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | Tệp chứa màn hình (bắt buộc) |
screenId | uuid | Màn hình để hiển thị |
| Tham số | Loại | Mô tả |
|---|---|---|
fileData | string | Nội dung tệp — base64 cho tệp nhị phân, chuỗi UTF-8 cho tệp văn bản |
fileName | string | Tên tệp gốc |
mimeType | "image/jpeg" | "image/png" | "image/webp" | "application/pdf" | "text/plain" | "text/javascript" | Loại MIME. Sử dụng text/javascript cho các tệp .jsx, .tsx, .js, .ts |
image/jpeg hơn image/png.
Đầu ra
type là "image" cho các tải lên hình ảnh/PDF và "document" cho các tệp văn bản/mã.
Công cụ trò chuyện
get-chat-history
Lấy lịch sử tin nhắn trò chuyện cho một tệp.
Đầu vào
| Tham số | Loại | Mô tả |
|---|---|---|
fileId | uuid | ID tệp |
messages. Mỗi tin nhắn có type ("request" hoặc "response"), author ("human" hoặc "ai"), và content_type ("text", "summary", hoặc "followup").
Công cụ thiết kế
get-design-guidelines
Lấy các nguyên tắc thiết kế được lưu trữ cho một tệp.
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
resourceId | uuid | — | ID tệp |
linkedTo | "file" | "file" | Loại tài nguyên |
guidelines là null nếu chưa đặt nguyên tắc.
update-design-guidelines
Đặt hoặc thay thế các nguyên tắc thiết kế cho một tệp. Nguyên tắc được chuyển dưới dạng chuỗi văn bản thuần túy ở định dạng design.md của Google — không chuyển một đối tượng hoặc JSON.
Máy chủ thực hiện xác thực mềm và có thể trả về phần Warnings: trong phản hồi liệt kê các vấn đề (khóa không xác định, màu không phải hex) được chấp nhận nhưng có thể bị bỏ qua bởi AI. Hiển thị những điều này cho người dùng.
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
resourceId | uuid | — | ID tệp |
designGuidelines | string (min 1) | — | Nội dung văn bản thô của nguyên tắc. Phải là chuỗi thuần túy — không được mã hóa JSON |
linkedTo | "file" | "file" | Loại tài nguyên |
- Frontmatter phải được mở và đóng chính xác
- Các dòng Frontmatter phải là YAML hợp lệ theo phong cách khối
- Phần Markdown không được chứa các tiêu đề phần
##trùng lặp
"Design guidelines updated successfully", tùy chọn theo sau bởi phần Warnings:.
delete-design-guidelines
Xóa các nguyên tắc thiết kế cho một tệp.
Đầu vào
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
resourceId | uuid | — | ID tệp |
linkedTo | "file" | "file" | Loại tài nguyên |
"Design guidelines deleted successfully"