BetaFinds
Publish and update your startup on BetaFinds from an AI agent — listings, changelog, releases.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- HIGH
- MEDIUMcreate_startup에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"betafinds-mcp": {
"url": "https://betafinds.com/api/mcp"
}
}
}원격 엔드포인트
https://betafinds.com/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (14)
🟡create_startup(name, tagline, description, url, stage, ...)
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).
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"status": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🔴update_startup(startup_slug, url, tagline, description, category_slug, ...)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"status": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🟢list_categories
List of available categories (slug and name) for create_startup.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": true
}
}
},
"required": [
"items"
],
"additionalProperties": false
}🟡upload_image(data, mime_type, filename)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"path": {
"type": "string"
},
"url": {
"type": "string"
}
},
"additionalProperties": true
}🟢list_my_startups
List of your startups on BetaFinds (slug, name, status). Updates can only be published for startups with APPROVED status.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"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
}🟡publish_update(startup_slug, title, body, type, version)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"publishedAt": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🟡create_release(startup_slug, version, notes, announce)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"release_id": {
"type": "string"
},
"version": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🟡request_asset_upload(release_id, platform, filename, size, sha256)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"assetId": {
"type": "string"
},
"uploadUrl": {
"type": "string"
},
"downloadUrl": {
"type": "string"
},
"instructions": {
"type": "string"
}
},
"additionalProperties": true
}🟡complete_asset_upload(asset_id)
Confirm that the release file has been uploaded. Verifies the file's presence and size in storage and makes it available for download.
입력 스키마
{
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "File ID from request_asset_upload"
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"downloadUrl": {
"type": "string"
}
},
"additionalProperties": true
}🟢get_releases(startup_slug)
Список опубликованных релизов стартапа с файлами. Для LAUNCHED-проектов downloadUrl — постоянная прямая ссылка. На закрытых стадиях ссылка возвращается только для своих стартапов или где у вас открыт доступ (иначе locked=true, downloadUrl=null).
입력 스키마
{
"type": "object",
"properties": {
"startup_slug": {
"type": "string",
"description": "Startup slug"
}
},
"required": [
"startup_slug"
],
"additionalProperties": false
}출력 스키마
{
"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
}🟡change_startup_stage(startup_slug, stage, public_note)
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.
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"stage": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🟡announce_launch(startup_slug, url, title, body, notify_waitlist)
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).
입력 스키마
{
"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
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"stage": {
"type": "string"
},
"firstLaunch": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}🟢get_waitlist(startup_slug)
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.
입력 스키마
{
"type": "object",
"properties": {
"startup_slug": {
"type": "string",
"description": "Startup slug (from list_my_startups)"
}
},
"required": [
"startup_slug"
],
"additionalProperties": false
}출력 스키마
{
"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
}🟢get_store_reviews(startup_slug, page)
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.
입력 스키마
{
"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
}출력 스키마
{
"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
}커뮤니티
증거