Skip to content

BetaFinds

by pendurov · remote · no sign-in to list tools · v1.0.0 · published by GitHub user pendurov

Publish and update your startup on BetaFinds from an AI agent — listings, changelog, releases.

Final · 1Changes · 8

14 tools: 1 do something that can't be undone, 8 change things and 5 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http betafinds https://betafinds.com/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Can't be undone 1Claude Code: ask
  • publish_updatePublish an update (an entry in the «What's new» feed) for your startup.No findings

    Why it is in this group

    • The name "publish_update" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Publish update
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
Changes things 8Claude Code: ask
  • announce_launchAnnounce your startup's official launch: the stage becomes LAUNCHED, a LAUNCH update is published, and waitlist members are notified (once).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Announce launch
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • change_startup_stageChange your startup's product stage: PRELAUNCH — preparing to launch, BETA — recruiting beta testers, PAUSED — development paused (requires public_note).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Change stage
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • complete_asset_uploadConfirm that the release file has been uploaded.No findings

    Why it is in this group

    • The name "complete_asset_upload" says "upload": a word for a change.
    Description, as the server wrote it
    Confirm that the release file has been uploaded. Verifies the file's presence and size in storage and makes it available for download.

    Annotations the server declares

    • title: Complete file upload
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • create_releaseCreate a release (version) of your startup.No findings

    Why it is in this group

    • The name "create_release" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create release
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • create_startupCreate a new startup on BetaFinds (submitted for review).No findings

    Why it is in this group

    • The name "create_startup" says "create": a word for a change.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Create startup
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • request_asset_uploadGet a one-time link to upload a release file (Windows/Mac/Android/Linux, up to 1 GB).No findings

    Why it is in this group

    • The name "request_asset_upload" says "request": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Request file upload
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • update_startupUpdate an existing startup: app-store links, website, short/full description, tags, category, logo and screenshots.No findings

    Why it is in this group

    • The name "update_startup" says "update": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update startup
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • upload_imageUpload an image (logo or screenshot) for create_startup.No findings

    Why it is in this group

    • The name "upload_image" says "upload": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Upload image
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
Only reads 5Claude Code: allow
  • get_releasesСписок опубликованных релизов стартапа с файлами.No findings

    Why it is in this group

    • The name "get_releases" says "get": a word for reading.
    Description, as the server wrote it
    Список опубликованных релизов стартапа с файлами. Для LAUNCHED-проектов downloadUrl — постоянная прямая ссылка. На закрытых стадиях ссылка возвращается только для своих стартапов или где у вас открыт доступ (иначе locked=true, downloadUrl=null).

    Annotations the server declares

    • title: List releases
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_store_reviewsPublic Google Play and App Store reviews of your startup: monitoring state per store and the latest reviews (rating, text, developer response).No findings

    Why it is in this group

    • The name "get_store_reviews" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Store reviews
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • get_waitlistWaitlist summary for your startup: aggregated counters (active, per week/month, ready to test, invited/accepted), answer distribution for the question, recent anonymized answers an…No findings

    Why it is in this group

    • The name "get_waitlist" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Waitlist
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • list_categoriesList of available categories (slug and name) for create_startup.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    List of available categories (slug and name) for create_startup.

    Annotations the server declares

    • title: List categories
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • list_my_startupsList of your startups on BetaFinds (slug, name, status).No findings

    Why it is in this group

    • The name "list_my_startups" says "list": a word for reading.
    Description, as the server wrote it
    List of your startups on BetaFinds (slug, name, status). Updates can only be published for startups with APPROVED status.

    Annotations the server declares

    • title: My startups
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http betafinds https://betafinds.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__betafinds__list_categories",
      "mcp__betafinds__list_my_startups",
      "mcp__betafinds__get_releases",
      "mcp__betafinds__get_waitlist",
      "mcp__betafinds__get_store_reviews"
    ],
    "ask": [
      "mcp__betafinds__create_startup",
      "mcp__betafinds__update_startup",
      "mcp__betafinds__upload_image",
      "mcp__betafinds__publish_update",
      "mcp__betafinds__create_release",
      "mcp__betafinds__request_asset_upload",
      "mcp__betafinds__complete_asset_upload",
      "mcp__betafinds__change_startup_stage",
      "mcp__betafinds__announce_launch"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as betafinds. Review it before you use it.