{"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"create_startup","description":"Create a new startup on BetaFinds (submitted for review). Upload the logo and screenshots first via upload_image (or POST https://betafinds.com/api/v1/images) and pass the returned URLs here. Set the category by slug — get the list via list_categories (a category name also works, case-insensitive).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Product name"},"tagline":{"type":"string","description":"One-line tagline (up to 160 characters)"},"description":{"type":"string","description":"Full description (min 50 characters)"},"url":{"type":"string","description":"Product website URL (required for stage=LAUNCHED, optional for prelaunch)"},"stage":{"type":"string","enum":["PRELAUNCH","BETA","LAUNCHED"],"description":"Product stage: PRELAUNCH — preparing to launch, BETA — recruiting beta testers, LAUNCHED — already launched (default)"},"category_slug":{"type":"string","description":"Category slug (e.g. ai, saas, fintech)"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags (up to 6)"},"logo":{"type":"string","description":"Logo URL from upload_image (optional)"},"screenshots":{"type":"array","items":{"type":"string"},"description":"Screenshot URLs from upload_image (up to 5, optional)"},"target_launch_date":{"type":"string","description":"Estimated launch date in YYYY-MM-DD format (for prelaunch; empty string clears it)"},"prelaunch_audience":{"type":"string","description":"Who the product is for (up to 1000 characters)"},"prelaunch_ready":{"type":"string","description":"What is already done: prototype, design, private beta… (up to 1000 characters)"},"prelaunch_promise":{"type":"string","description":"What a waitlist subscriber will get (up to 1000 characters)"},"appStoreUrl":{"type":"string","description":"App Store page link (iOS)"},"testflightUrl":{"type":"string","description":"TestFlight link (iOS beta)"},"googlePlayUrl":{"type":"string","description":"Google Play page link (Android)"}},"required":["name","tagline","description"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"url":{"type":"string"},"status":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Create startup","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"update_startup","description":"Update an existing startup: app-store links, website, short/full description, tags, category, logo and screenshots. Upload the logo and screenshots first via upload_image and pass the returned URLs (screenshots fully replace the current set; to clear the logo, pass an empty string). Pass only the fields you want to change. See current values via list_my_startups. Note: editing an approved startup sends it back to moderation.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"},"url":{"type":"string","description":"Product website URL"},"tagline":{"type":"string","description":"One-line tagline (up to 160 characters)"},"description":{"type":"string","description":"Full description (min 50 characters)"},"category_slug":{"type":"string","description":"Category slug (see list_categories)"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags (up to 6)"},"logo":{"type":"string","description":"Logo URL from upload_image (empty string to clear)"},"screenshots":{"type":"array","items":{"type":"string"},"description":"Screenshot URLs from upload_image (up to 5; fully replace the current set)"},"target_launch_date":{"type":"string","description":"Estimated launch date in YYYY-MM-DD format (for prelaunch; empty string clears it)"},"prelaunch_audience":{"type":"string","description":"Who the product is for (up to 1000 characters)"},"prelaunch_ready":{"type":"string","description":"What is already done: prototype, design, private beta… (up to 1000 characters)"},"prelaunch_promise":{"type":"string","description":"What a waitlist subscriber will get (up to 1000 characters)"},"appStoreUrl":{"type":"string","description":"App Store page link (iOS)"},"testflightUrl":{"type":"string","description":"TestFlight link (iOS beta)"},"googlePlayUrl":{"type":"string","description":"Google Play page link (Android)"}},"required":["startup_slug"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"url":{"type":"string"},"status":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Update startup","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"list_categories","description":"List of available categories (slug and name) for create_startup.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}},"additionalProperties":true}}},"required":["items"],"additionalProperties":false},"annotations":{"title":"List categories","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"upload_image","description":"Upload an image (logo or screenshot) for create_startup. Pass the file content as base64 (data is base64 only, no data: prefix). Returns a url to pass into create_startup. Max 2 MB; formats: JPEG, PNG, WebP, GIF.","inputSchema":{"type":"object","properties":{"data":{"type":"string","description":"File content in base64"},"mime_type":{"type":"string","description":"MIME type: image/png, image/jpeg, image/webp, image/gif"},"filename":{"type":"string","description":"File name (optional)"}},"required":["data","mime_type"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"path":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Upload image","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"list_my_startups","description":"List of your startups on BetaFinds (slug, name, status). Updates can only be published for startups with APPROVED status.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"stage":{"type":"string"},"url":{"type":"string"},"waitlistCount":{"type":"number"}},"additionalProperties":true}}},"required":["items"],"additionalProperties":false},"annotations":{"title":"My startups","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"publish_update","description":"Publish an update (an entry in the «What's new» feed) for your startup. Subscribers receive an email summary within ~10 minutes. body supports Markdown.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"},"title":{"type":"string","description":"Update title (3–200 characters)"},"body":{"type":"string","description":"Text in Markdown (10–20000 characters)"},"type":{"type":"string","enum":["RELEASE","UPDATE","FIX","NEWS"],"description":"Type: RELEASE — new version, UPDATE — improvement, FIX — fix, NEWS — news. Defaults to NEWS."},"version":{"type":"string","description":"Version, if applicable (e.g. 1.4.0)"}},"required":["startup_slug","title","body"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Publish update","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"create_release","description":"Create a release (version) of your startup. By default also publishes a RELEASE-type update with the notes text. After creation, upload files via request_asset_upload.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug"},"version":{"type":"string","description":"Version, e.g. 1.4.0"},"notes":{"type":"string","description":"Release notes in Markdown"},"announce":{"type":"boolean","description":"Whether to publish an update in the feed (default true)"}},"required":["startup_slug","version"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"release_id":{"type":"string"},"version":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Create release","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"request_asset_upload","description":"Get a one-time link to upload a release file (Windows/Mac/Android/Linux, up to 1 GB). Then upload the file: curl -T <file> '<upload_url>'. After uploading, call complete_asset_upload.","inputSchema":{"type":"object","properties":{"release_id":{"type":"string","description":"Release ID from create_release"},"platform":{"type":"string","enum":["WINDOWS","MACOS","ANDROID","LINUX"],"description":"File platform"},"filename":{"type":"string","description":"File name, e.g. MyApp-1.4.0.dmg"},"size":{"type":"number","description":"File size in bytes (exact)"},"sha256":{"type":"string","description":"File SHA-256 (hex, optional)"}},"required":["release_id","platform","filename","size"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"assetId":{"type":"string"},"uploadUrl":{"type":"string"},"downloadUrl":{"type":"string"},"instructions":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Request file upload","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"complete_asset_upload","description":"Confirm that the release file has been uploaded. Verifies the file's presence and size in storage and makes it available for download.","inputSchema":{"type":"object","properties":{"asset_id":{"type":"string","description":"File ID from request_asset_upload"}},"required":["asset_id"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"downloadUrl":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Complete file upload","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"get_releases","description":"Список опубликованных релизов стартапа с файлами. Для LAUNCHED-проектов downloadUrl — постоянная прямая ссылка. На закрытых стадиях ссылка возвращается только для своих стартапов или где у вас открыт доступ (иначе locked=true, downloadUrl=null).","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug"}},"required":["startup_slug"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"string"},"publishedAt":{"type":"string"},"locked":{"type":"boolean"},"assets":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string"},"filename":{"type":"string"},"size":{"type":"number"},"downloadUrl":{"type":["string","null"]}},"additionalProperties":true}}},"additionalProperties":true}}},"required":["items"],"additionalProperties":false},"annotations":{"title":"List releases","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"change_startup_stage","description":"Change your startup's product stage: PRELAUNCH — preparing to launch, BETA — recruiting beta testers, PAUSED — development paused (requires public_note). To move to LAUNCHED use announce_launch. Allowed transitions: PRELAUNCH→BETA/PAUSED, BETA→PAUSED, PAUSED→PRELAUNCH/BETA.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"},"stage":{"type":"string","enum":["PRELAUNCH","BETA","PAUSED"],"description":"New stage"},"public_note":{"type":"string","description":"Public note (required for PAUSED, up to 500 characters)"}},"required":["startup_slug","stage"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"stage":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Change stage","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"announce_launch","description":"Announce your startup's official launch: the stage becomes LAUNCHED, a LAUNCH update is published, and waitlist members are notified (once). A working product link is required (url or an already saved store link).","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"},"url":{"type":"string","description":"Working product link (if not set yet)"},"title":{"type":"string","description":"Launch headline (3–200 characters)"},"body":{"type":"string","description":"Description of the first public version, Markdown (10–20000 characters)"},"notify_waitlist":{"type":"boolean","description":"Notify the waitlist (default true)"}},"required":["startup_slug","title","body"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"stage":{"type":"string"},"firstLaunch":{"type":"boolean"},"message":{"type":"string"}},"additionalProperties":true},"annotations":{"title":"Announce launch","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false,"idempotentHint":false}},{"name":"get_waitlist","description":"Waitlist summary for your startup: aggregated counters (active, per week/month, ready to test, invited/accepted), answer distribution for the question, recent anonymized answers and campaigns with aggregated statistics. Participants' contact details are not returned.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"}},"required":["startup_slug"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"stage":{"type":"string"},"waitlist":{"type":"object","properties":{"active":{"type":"number"},"newPerWeek":{"type":"number"},"newPerMonth":{"type":"number"},"wantsBeta":{"type":"number"},"invited":{"type":"number"},"accepted":{"type":"number"}},"additionalProperties":true},"question":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string"}},"additionalProperties":true},"campaigns":{"type":"array","items":{"type":"object","properties":{"subject":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"annotations":{"title":"Waitlist","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"get_store_reviews","description":"Public Google Play and App Store reviews of your startup: monitoring state per store and the latest reviews (rating, text, developer response). Reviews are collected automatically via the app links.","inputSchema":{"type":"object","properties":{"startup_slug":{"type":"string","description":"Startup slug (from list_my_startups)"},"page":{"type":"number","description":"Page (20 reviews each, default 1)"}},"required":["startup_slug"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"slug":{"type":"string"},"monitors":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}},"reviews":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string"},"body":{"type":"string"},"rating":{"type":"number"}},"additionalProperties":true}},"total":{"type":"number"}},"additionalProperties":true},"annotations":{"title":"Store reviews","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}}]}}