Cynicalsally

io.github.w1ckedxt由 GitHub 账号 w1ckedxt 发布v0.7.0更新于 Oct 24, 2026

Brutally honest code reviews: scores, real issues, and usable fixes. CLI + MCP server.

已验证STDIO仅桌面开发者工具商业与电商

概览

AI 生成的概览

一个代码审查 MCP 服务器,让助手对代码、PR 差异、前端代码和营销文案给出直率的评分、问题与修复建议。

可以做什么
按路径或内容审查代码,给出评分、问题和修复建议,并提供不发送任何内容的预览模式和额度查询工具(sally_roast、sally_usage)。用通俗语言解释代码实际做了什么(sally_explain)。审查拉取请求差异(sally_review_pr)。给出带前后对比的重构建议(sally_refactor)。对架构想法和方案给出反馈(sally_brainstorm)。审查前端与 UI 代码,以及营销文案(sally_frontend、sally_marketing)。还提供 roast、review-pr 和 explain 的现成提示词。
适用场景
当你希望 AI 编辑器或终端助手在提交前审查代码、审查 PR 差异、解释不熟悉的代码,或检查前端代码与营销文案时使用。适合希望在 Claude Code、Cursor 或 Windsurf 中获得直率第二意见的开发者。
运行要求
需要本地 Node.js 18+ 运行环境,通过 npx 以 stdio 方式运行 MCP 服务器。未声明任何 API 密钥或环境变量。审查时需联网,因为代码会发送到厂商服务。免费额度无需账号,高级工具需要账号。
安装前请注意
你指定的代码会通过 HTTPS 上传到第三方服务,并经 Anthropic 的 API 处理,因此只应审查允许上传的代码。.env、密钥和证书等机密文件会在本机被跳过,预览模式可显示确切的上传内容而不发送。免费额度有限(每月 90 次审查);高级工具和完整套件需要账号并付费。分享链接需主动开启,且只包含评分和一句评语。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Cynicalsally,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Cynical Sally]

Cynical Sally

Brutally honest code reviews. In your terminal and your AI editor.
Because "You're absolutely right" is probably absolutely wrong.
npm i -g @cynicalsally/cli · MCP server for Claude Code, Cursor & Windsurf

[Cynical Sally Verdict] [Sally Score] [npm version] [npm downloads] [MCP Registry] [Cursor Directory] [Glama score] [license]

[Add Cynical Sally to Cursor]


Your AI pair programmer is lying to you. Sally isn't.

[sally roast — a real review, live in the terminal]

She's the senior engineer your code hoped it'd never meet. Scores from 0 to 10, real issues backed by evidence, and fixes you can actually use.

Works as a CLI tool and as an MCP server in Claude Code, Cursor, and Windsurf.

[Sally code review with score and issues] [Sally actionable fixes and verdict]

Install

bash
npm install -g @cynicalsally/cli

Or run without installing:

bash
npx @cynicalsally/cli roast ./src/

Requirements: Node.js 18+

See exactly what leaves your machine

Sending code to a server you don't control deserves more than "trust me." So Sally lets you verify it instead:

bash
sally roast --dry-run ./src/

--dry-run collects everything as if it were about to roast — then sends nothing. Instead it prints the exact payload: every file path, byte size, and token estimate; which files were held back and why (.env, keys, certs, binaries, .gitignore matches, size limits); and writes a local SHA-256 receipt to .sally/ so you can verify byte-for-byte what would have been uploaded.

text
WOULD SEND 3 files · 91 B · ~24 tokens (est.)  src/app.ts        36 B   ~9 tok   68a3be428746…
HELD BACK 2 items — kept on your machine  ✖ secret (2) — looks like a secret — never leaves your machine      .env      server.key

Secret files (.env, SSH keys, certs, credential files) are skipped on your machine before anything is sent — verify it yourself with --dry-run. Only review code you're allowed to upload. Local reports land in .sally/ — add it to your .gitignore:

gitignore
.sally/

See Privacy & Security below for the full data-flow.

Quick Start

bash
# Sally auto-detects what to reviewsally roast# → staged changes? reviews those# → unstaged changes? reviews those# → recent commit? reviews that# → nothing? scans the directory
# Roast a file or directorysally roast src/utils/auth.tssally roast ./src/
# Roast staged changes before you commitsally roast --staged
# Compare your branch against mainsally roast --diff main
# Deep analysis with issues + actionable fixessally roast ./src/ -m full_truth
# Run deep analysis in the background (OS notification when done)sally roast ./src/ -m full_truth --bg
# See exactly what would be sent — and send nothingsally roast --dry-run ./src/
# Get a shareable roast card (saved to .sally/)sally roast ./src/ --card
# Publish a share link — only the score + sneer go public, never your codesally roast ./src/ --share

Roast Options

sally roast [paths...] [options]
  --staged              Review only staged git changes  --diff <branch>       Compare against another branch (e.g., main)  -m, --mode <mode>     "quick" (default) or "full_truth" (deep dive)  --tone <tone>         "cynical" (default), "neutral", or "professional"  --lang <lang>         Response language code (default: "en")  --json                Output raw JSON (for piping or scripting)  --fail-under <score>  Exit code 1 if quality score is below threshold  --ci                  CI mode: compact output, exit codes  --bg                  Run Full Truth in background, get OS notification when done  --dry-run             Print the exact payload (files, sizes, tokens, SHA-256) and send NOTHING  --card                Print + save a shareable roast card after the review  --share               Create a public share link (cynicalsally.com/card/…) — score + sneer only, never code

Get your repo's verdict — and a badge to prove it

Let Sally judge your whole repo and hand you a README badge with the score baked in:

bash
sally verdict

She scores the repo, then prints ready-to-paste badge markdown:

markdown
[![Cynical Sally Verdict](https://cynicalsally.com/api/v1/badge/repo/you/repo)](https://cynicalsally.com)

Score an 8 or higher and the badge is a flex worth wearing. Score lower and, well — it's an honest signal that you're shipping anyway. Either way the badge links back, so every README that wears it does the bragging for you.

Too lazy to copy-paste? Sally will hang it up herself:

bash
sally badge --add   # inserts the badge into README.md, right under the titlesally badge         # just prints the markdown (and your current score)

The badge image updates automatically on every new sally verdict — add it once, judged forever.


Sally's Full Suite

Six tools, three jobs. The most honest code reviewer you'll ever work with — in your terminal and your AI editor.

[Sally's Full Suite]

Ship faster — review-pr + refactor · Be less embarrassing — explain + brainstorm · Polish for humans — frontend + marketing


Explain

[sally explain]

Sally reads the spaghetti someone left in your codebase and translates it into plain English. Just the cold, clear truth of what it actually does.

bash
sally explain src/utils/auth.ts
# Pipe code directlycat legacy-module.js | sally explain
# Explain the current directorysally explain


Refactor

[sally refactor]

Before and after, side by side. Sally explains why one of them is going to haunt your 3am on-call rotation.

bash
sally refactor src/components/Dashboard.tsx
# Refactor current directorysally refactor


PR Review

[sally review-pr]

Sally reviews your PR like a senior engineer who has time, opinions, and absolutely no reason to be polite.

bash
# Review PR #42 (requires GitHub CLI)sally review-pr 42
# Review current branch vs mainsally review-pr
# Pipe a diffgit diff main | sally review-pr


Brainstorm

[sally brainstorm]

Pitch your architecture idea and Sally tells you the three ways it falls apart at scale. Cheaper than a post-mortem.

bash
sally brainstorm "Microservices for a 2-person team?"
# Brainstorm about the current projectsally brainstorm


Frontend Review

[sally frontend]

Sally tells you why your component re-renders on every keystroke and why your z-index is load-bearing.

bash
sally frontend src/components/Header.tsx
# Review all frontend code in a directorysally frontend ./src/


Marketing Review

[sally marketing]

Run your copy by Sally before your customers do. They won't be this constructive about it.

bash
sally marketing "Ship faster with AI-powered code reviews"
# Review your README and landing page copysally marketing README.md


Every tool accepts file paths, raw text, or piped stdin. Each includes 1 free trial, no account needed.

CI/CD Integration

Gate your pipeline on code quality:

yaml
# GitHub Actions- name: Sally Code Review  run: npx @cynicalsally/cli roast ./src/ --fail-under=5 --ci

--ci gives compact output with exit codes. --fail-under fails the build when the score drops below your threshold. Add --json for machine-readable output.

MCP Server

Sally works as an MCP server inside Claude Code, Cursor, and Windsurf.

[Cynical Sally MCP server on Glama]

Claude Code

bash
claude mcp add cynical-sally -- npx @cynicalsally/cli mcp

Cursor

One click:

[Add Cynical Sally to Cursor]

Or add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

json
{  "mcpServers": {    "cynical-sally": {      "command": "npx",      "args": ["@cynicalsally/cli", "mcp"]    }  }}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "cynical-sally": {      "command": "npx",      "args": ["@cynicalsally/cli", "mcp"]    }  }}

Available tools

MCP ToolWhat it does
sally_roastCode review with score, issues, and fixes
sally_explainExplain code with Sally's personality
sally_review_prReview PR diffs
sally_refactorRefactoring suggestions with before/after
sally_brainstormFeedback on ideas and approaches
sally_frontendFrontend/UI code review
sally_marketingMarketing copy review
sally_usageCheck quota and account status

Roast by path — the agent can call sally_roast with just paths (files or directories); Sally reads them locally and skips binaries and secret files, so the agent doesn't have to read and pass content itself.

Prompts — Sally also exposes ready-made slash-command intents (roast, review-pr, explain) in clients that surface MCP prompts.

Run sally mcp in your terminal to see setup instructions.

All Commands

CommandDescription
sally roast [paths...]Review files, directories, or git changes
sally verdictScore your repo + get a README badge
sally badge [--add]Print your badge markdown, or add it to README.md
sally explain [file]Explain what code actually does
sally refactor [file]Refactoring with before/after code
sally review-pr [pr]Review a PR diff
sally brainstorm "idea"Feedback on ideas and approaches
sally frontend [file]Frontend/UI code review
sally marketing "copy"Marketing copy review
sally login <email>Log in via magic link
sally logoutClear stored session
sally usageCheck your quota and account status
sally upgradeUpgrade to Sally's Full Suite
sally resultsView background review results
sally mcpMCP server setup instructions

Free to Use

90 free roasts per month, no account needed. Every premium tool includes a free trial.

bash
sally usage     # Check your quotasally upgrade   # Unlock the Full Suite

Privacy & Security

Your code is yours. Don't take our word for it — run sally roast --dry-run and see the exact payload before anything is sent. Here's what happens to it:

  • Verify before you send. --dry-run prints every file, size, token estimate, and a SHA-256 receipt of exactly what would be uploaded — and sends nothing. The MCP sally_roast tool has the same preview mode.
  • Sent only to be reviewed. The files you choose are transmitted over HTTPS and processed in real-time to generate the review — that's the only reason they leave your machine.
  • Never written to disk, logs, or analytics. Your source code is processed in memory and discarded after analysis. It is never persisted to a database, never written to application logs or error traces, and never sent to any third-party APM or analytics. We keep the review (score, issues), not your source.
  • Never trained on, sold, or shared. Analysis runs through Anthropic's API, which doesn't train on submitted content.
  • Only what you point at. Sally doesn't browse your repo, read files you didn't give her, or scan your projects or plans. Secret files (.env, keys, certs, credential files) are skipped on your machine before anything is sent — and --dry-run shows you exactly which ones.
  • Sharing is opt-in, and never includes code. Nothing is ever published unless you pass --share — and even then the public card contains only the score and Sally's one-liner.
  • Anonymous by default. Reviews are tied to a random device ID, not your identity — until you link an email for Full Suite. Config stored locally at ~/.sally/config.json.
  • Signed releases. npm packages are published with provenance — a cryptographic, public attestation linking each release to the exact source commit and CI build that produced it.

Full engineering detail — data-flow diagram, what's retained, subprocessors, and log policy — is in docs/PRIVACY.md. User-facing summary: cynicalsally.com/privacy.

Contributing

Found a bug or have a feature idea? Open an issue. Sally promises to only judge your issue title a little.

License

MIT


cynicalsally.com · npm · issues

来源:README.md,提交 68c8303

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.7.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分