Skip to content

VibeCodePicks

by suanrongbaicai · remote · no sign-in to list tools · v2.4.0 · published by GitHub user suanrongbaicai

Pick AI coding tools by goal: community-sentiment rankings, pricing, free tiers, alternatives.

Deletes · 1Changes · 6

13 tools: 1 can delete or cancel things, 6 change things and 6 only read.

Scanned Oct 21, 2026

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

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

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "log_choice" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_choice" says "log": a word for reading.

    What this check looks for

Tools

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

13 tools

Deletes or cancels 1Claude Code: deny
  • forget_meDelete everything stored for this key.No findings

    Why it is in this group

    • The description's first verb is "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete everything stored for this key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 6Claude Code: ask
  • log_choiceRecord a tool the user explicitly picked/rejected/tried (tool id only).1 finding

    Why it is in this group

    • The name "log_choice" says "log": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "log_choice" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_choice" says "log": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Record a tool the user explicitly picked/rejected/tried (tool id only). Only used by whats_new.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • recommend_toolsRanked best-fit tools for a goal, with why + caveat.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Ranked best-fit tools for a goal, with why + caveat.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • save_preferencesReplace the person's interests: one entry per project, plus the feed mode the user chose ('by_interests' = only matching tools; 'all_new' = every new tool).No findings

    Why it is in this group

    • The name "save_preferences" says "save": a word for a change.
    Description, as the server wrote it
    Replace the person's interests: one entry per project, plus the feed mode the user chose ('by_interests' = only matching tools; 'all_new' = every new tool). Only used by whats_new.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • scenarioTools competing in one scenario, ranked by community sentiment, with compact strengths/weak spots here.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Tools competing in one scenario, ranked by community sentiment, with compact strengths/weak spots here.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • subscribeCreate an anonymous feed key (no email/account).No findings

    Why it is in this group

    • The name "subscribe" says "subscribe": a word for a change.
    Description, as the server wrote it
    Create an anonymous feed key (no email/account). Save it in long-term memory / project instructions / rules, or connect with /api/mcp?k=KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • whats_newDaily feed.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
    Daily feed. With key: honors the saved feed mode — by_interests: new items relevant to ANY saved project; all_new: every new item (tagged with a project when one matches). Max 3/day, one line each, never repeats. {new:0} = nothing. Call at most daily. Without key: stateless by since/interests. Never affects other tools.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 6Claude Code: allow
  • compare_toolsSide-by-side of two tools + comparison page url.No findings

    Why it is in this group

    • The name "compare_tools" says "compare": a word for reading.
    Description, as the server wrote it
    Side-by-side of two tools + comparison page url.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • fetchTool profile by id.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Tool profile by id. Default: summary, best_for, price, free, 2 strengths, 2 weaknesses, url. fields: summary description best_for not_for skill coding pricing platforms strengths weaknesses alternatives video compare official all.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • list_alternativesAlternatives to a tool.No findings

    Why it is in this group

    • The name "list_alternatives" says "list": a word for reading.
    Description, as the server wrote it
    Alternatives to a tool. Rows: id|name|$from/mo|free.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • list_categoriesCategory and use-case keys with tool ids.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    Category and use-case keys with tool ids.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
  • list_scenariosUse-case scenarios (e.g.No findings

    Why it is in this group

    • The name "list_scenarios" says "list": a word for reading.
    Description, as the server wrote it
    Use-case scenarios (e.g. ai-game-development, code-review) with top tools by community sentiment.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false

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 2.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http vibecodepicks https://vibecodepicks.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__vibecodepicks__search",
      "mcp__vibecodepicks__fetch",
      "mcp__vibecodepicks__compare_tools",
      "mcp__vibecodepicks__list_alternatives",
      "mcp__vibecodepicks__list_scenarios",
      "mcp__vibecodepicks__list_categories"
    ],
    "ask": [
      "mcp__vibecodepicks__recommend_tools",
      "mcp__vibecodepicks__scenario",
      "mcp__vibecodepicks__whats_new",
      "mcp__vibecodepicks__subscribe",
      "mcp__vibecodepicks__save_preferences",
      "mcp__vibecodepicks__log_choice"
    ],
    "deny": [
      "mcp__vibecodepicks__forget_me"
    ]
  }
}

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 vibecodepicks. Review it before you use it.