MCP 服务器

Boonful Studio

io.boonful/studio
电商与零售 媒体与内容 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Builds and manages draft apps, ebooks, and courses for publication and sale, including checkout, product pages, and social scheduling.

scheduler_cancel
Remove one queued post by id (only posts that have not gone out yet).
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number'}}}
scheduler_guide
READ THIS FIRST for anything about social posts. Returns the Scheduler rulebook: what you may do, how to check connected accounts and limits, and how to schedule. The scheduling tools refuse to run until you have called this.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
scheduler_list
The creator's queue and recent posts (id, time, status, platforms, text).
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
scheduler_schedule_post
Put ONE text post in the creator's Scheduler queue for the given moment, on one or more CONNECTED platforms. Confirm the exact text and time with the creator first. The server enforces platform limits, the monthly X share, character limits and the no-outside-payments rule.
输入模式
{'type': 'object', 'required': ['text', 'when', 'platforms'], 'properties': {'text': {'type': 'string'}, 'when': {'type': 'string', 'description': 'Local "YYYY-MM-DD HH:MM" (needs `timezone`) or full ISO with offset.'}, 'timezone': {'type': 'string', 'description': 'IANA time zone of the creator, e.g. "Europe/London".'}, 'accountId': {'type': 'string', 'description': 'Only when the creator has several accounts on one platform.'}, 'platforms': {'type': 'array', 'items': {'enum': ['x', 'linkedin', 'threads', 'bluesky', 'facebook'], 'type': 'string'}, 'description': 'Text-capable platforms that scheduler_status reports as connected.'}}}
scheduler_status
LIVE state of the creator's Scheduler: which platforms Boonful supports right now, which accounts they have connected, posts left today / this month per platform, character limits, and what each platform needs. Call before writing, and again with `when` to check another day.
输入模式
{'type': 'object', 'properties': {'when': {'type': 'string', 'description': 'Optional day to check, "YYYY-MM-DD HH:MM" (with `timezone`) or ISO.'}, 'timezone': {'type': 'string', 'description': 'IANA time zone, e.g. "Europe/London".'}}}
studio_create_app
FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Create a COMPLETE app product in one shot and save it to Studio as a DRAFT for the user to review + publish. BEFORE calling, ask a SHORT run of numbered multiple-choice questions — one at a time, 2-4 concrete options each, the recommended one first, answered with a number (use the question tool your client offers if it has one; never ask for a sentence, never ask several at once, and the moment they say you decide, take your recommendations and build). (1) Pricing — offer real amounts for THIS product, e.g. "1. Free (recommended) 2. $4.99 one-time 3. $2.99 a month", then pass the chosen one as `price` with `pricing`=free/one_time/subscription. (2) Usage timer? — explain: it gives visitors N free minutes of use, after which they must subscribe/pay to keep using it (optional cooldown before the free time resets). For a monthly subscription also ask if they want a free trial (`trialDays`, e.g. 7). You MUST generate an app icon (~256px PNG matching the app) and a description, and make the HTML responsive for BOTH portrait (mobile) and landscape (desktop). Screenshots: ask the creator whether YOU should design them or THEY will upload their own. If you design them pass `screenshots` (mobile 1170x2532, desktop 1600x1000, each item a base64 image or {image, device:"mobile"|"desktop"}, up to 10); if they will upload, or you pass none, the platform captures them from the running app. Work FAST: do NOT run your own browser tests, Playwright, or QA/verification loops — the platform validates the app and renders the screenshots for you. As you go, give the user short friendly progress updates like 'Building the app…', 'Writing the description…', 'Designing the icon…', 'Setting pricing…', 'Generating screenshots…' — ALSO call `studio_progress` at EVERY milestone - first thing when you start, then before writing the app, designing the icon, writing the description, setting pricing, and saving. The creator watches a live panel on boonful.io that shows NOTHING between your calls, so a long build with no progress notes looks broken to them. Then create it in a single call. To modify an app you already made, call this again with the SAME name — it updates that one draft instead of creating a duplicate.
输入模式
{'type': 'object', 'required': ['name', 'html', 'icon', 'description'], 'properties': {'html': {'type': 'string', 'description': 'Complete responsive HTML (portrait + landscape).'}, 'icon': {'type': 'string', 'description': 'App icon, base64 PNG (data URI or raw), ~256px.'}, 'name': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'price': {'type': 'string', 'description': 'Amount for one_time or monthly subscription (omit for free).'}, 'pricing': {'enum': ['free', 'one_time', 'subscription'], 'type': 'string', 'description': 'Ask the user first.'}, 'category': {'type': 'string'}, 'subtitle': {'type': 'string'}, 'username': {'type': 'string'}, 'trialDays': {'type': 'number', 'description': 'Subscriptions only: a free trial of N days (1-90). The customer adds a card and is billed when the trial ends. Ask the creator if they want one.'}, 'usageTimer': {'type': 'object', 'properties': {'freeMinutes': {'type': 'number'}, 'cooldownMinutes': {'type': 'number'}}, 'description': 'Optional free-usage timer.'}, 'description': {'type': 'string'}, 'screenshots': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional base64 images to override the auto-generated screenshots.'}}}
studio_create_product
FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Create a DIGITAL DOWNLOAD or a SERVICE as a DRAFT in the creator's Studio. Ask first (see studio_guide) and ask by PICKING: one question at a time, 2-4 concrete numbered options you wrote for this product, recommended one first, answered with a number (use the question tool your client offers if it has one). Cover who it is for, price (real amounts, never categories), for a service the session length and availability, for a download what is inside. Last question is always screenshots: "1. I design them (recommended) 2. You upload your own". You choose the name yourself. You must pass an icon (~256px PNG) and a description.
输入模式
{'type': 'object', 'required': ['type', 'name', 'description', 'icon'], 'properties': {'file': {'type': 'object', 'required': ['name', 'base64'], 'properties': {'name': {'type': 'string', 'description': 'File name with extension, e.g. "Guide.pdf".'}, 'type': {'type': 'string', 'description': 'MIME type.'}, 'base64': {'type': 'string'}}, 'description': 'Digital download: the file buyers get. YOU create it and pass it here — do not ask the creator to upload it.'}, 'icon': {'type': 'string', 'description': 'Base64 PNG (data URI or raw base64), ~256px.'}, 'name': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Short link name: lowercase letters and numbers only, NO dashes, max 24 characters, e.g. "payforit".'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'enum': ['digital', 'service'], 'type': 'string'}, 'files': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Up to 5 files, same shape as `file`.'}, 'price': {'type': 'string', 'description': 'Amount as a number, e.g. "29". A service must have a price; a download may be "0" (free).'}, 'category': {'enum': ['Digital', 'Art', 'Home', 'Apparel', 'Electronics', 'Beauty', 'Food', 'Other'], 'type': 'string', 'description': 'Use "Digital" for downloads and "Other" for services unless another clearly fits.'}, 'delivery': {'type': 'string', 'description': 'Service only: how it is delivered, e.g. "Video call".'}, 'features': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 6 short benefit lines.'}, 'subtitle': {'type': 'string'}, 'username': {'type': 'string'}, 'description': {'type': 'string', 'description': 'What it is and who it is for. Benefits, not a feature list.'}, 'screenshots': {'type': 'array', 'items': {}, 'description': 'Only if the creator asked YOU to design them: base64 images or {image, device}. Mobile 1170x2532, desktop 1600x1000, up to 10.'}, 'availability': {'type': 'object', 'properties': {'to': {'type': 'string'}, 'days': {'type': 'array', 'items': {'type': 'string'}}, 'from': {'type': 'string'}}, 'description': 'Service only: { days: ["mon","tue",...], from: "09:00", to: "17:00" }'}, 'durationMinutes': {'type': 'number', 'description': 'Service only: length of one session.'}}}
studio_get_product
Get the full details of one Studio product by id.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id.'}}}
studio_guide
READ THIS FIRST. Returns the Studio rulebook for this connection: what you can build here, the questions you must ask the creator before building (pricing, details, and whether you or they provide the screenshots — with the exact pixel sizes), the payment rule the server enforces, and how publishing works. The building tools refuse to run until you have called this.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
studio_list_products
List all products in the creator's Boonful Studio (id, name, type, slug, public URL, HTML file). Use this first. AND NOTE: the creator watches a live panel on boonful.io that only shows what you report through this server — call `studio_progress` with a short plain-English note now, and again every 30-60 seconds while you work, or the panel sits blank and looks broken to them.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
studio_progress
Post a short plain-English progress note to the creator's Studio Assistant panel on boonful.io, so they can watch what you're doing while you work. Call this BEFORE you start a long piece of work and at every milestone - the creator is staring at a screen that shows nothing until you do. Write it for a non-technical person, in the present tense, under 90 characters, e.g. 'Building your notes app...', 'Designing the app icon...', 'Writing the description...', 'Setting the price...', 'Saving it to your Studio...'. Never mention files, code, tools or terminals.
输入模式
{'type': 'object', 'required': ['note'], 'properties': {'note': {'type': 'string', 'description': 'The progress line to show the creator.'}}}
studio_read_html
Read the current HTML source of an app-type Studio product.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id.'}}}
studio_stripe_status
Check whether the creator's Stripe payouts are connected/active (read-only, no secrets). Use before creating a PAID app to decide live vs draft.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
studio_update_html
FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Update ANY existing product (app, digital download, service, book, course): replace an app's HTML, replace or add the files of a download/book/course, and/or edit details (name, description, category, price, tags, icon). Only pass the fields you want to change. If the product is already PUBLISHED and you change what customers get (HTML or files), you MUST pass `whatsNew` — the release notes customers read under "What's New" before they choose to update. Call `studio_progress` before you start.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The product id.'}, 'html': {'type': 'string', 'description': 'The complete new HTML document (apps only, optional).'}, 'icon': {'type': 'string', 'description': 'New icon as a base64 PNG (data URI or raw base64).'}, 'name': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'files': {'type': 'array', 'items': {'type': 'object'}, 'description': 'New or replacement files for a download / book / course: [{name, base64, type?, label?}] (max 5, 40 MB each).'}, 'price': {'type': 'string'}, 'category': {'type': 'string'}, 'whatsNew': {'type': 'string', 'description': 'Release notes for customers: 1-4 short lines, each one a benefit or a fix in plain words ("Reminders now repeat weekly", "Fixed the date picker on small phones"). Present tense, no code words, no file names, no version numbers, no marketing fluff.'}, 'description': {'type': 'string'}, 'screenshots': {'type': 'array', 'items': {}, 'description': 'Replace the store screenshots: base64 images or {image, device:"mobile"|"desktop"}, mobile 1170x2532, desktop 1600x1000, up to 10.'}, 'replaceFiles': {'type': 'boolean', 'description': 'true = these files REPLACE the current ones; false/omitted = they are added after them.'}}}
studio_whoami
Show which Boonful account this connection is acting as and its product count.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
已添加
scheduler_cancel
2026年9月29日 02:40
已添加
scheduler_list
2026年9月29日 02:40
已添加
scheduler_schedule_post
2026年9月29日 02:40
已添加
scheduler_status
2026年9月29日 02:40
已添加
scheduler_guide
2026年9月29日 02:40
已添加
studio_stripe_status
2026年9月29日 02:40
已添加
studio_whoami
2026年9月29日 02:40
已添加
studio_progress
2026年9月29日 02:40
已添加
studio_create_product
2026年9月29日 02:40
已添加
studio_guide
2026年9月29日 02:40
已添加
studio_create_app
2026年9月29日 02:40
已添加
studio_update_html
2026年9月29日 02:40
已添加
studio_read_html
2026年9月29日 02:40
已添加
studio_get_product
2026年9月29日 02:40
已添加
studio_list_products
2026年9月29日 02:40