mcpField
C
Cynical Sally

Cynical Sally

ローカル
github.com/w1ckedxt開発ツール10117 週間前に更新

Cynical Sally について

Cynical Sally は、Claude Code、Cursor、Windsurf で利用できるコードレビューの CLI および MCP サーバーです。シニアエンジニアの視点から 0 から 10 のスコア、根拠付きの問題点、修正案を提示します。送信前に --dry-run で送信内容を確認できます。

主な機能

  1. 010 から 10 のコードスコア
  2. 02根拠付きの問題点と修正案
  3. 03--dry-run による送信内容のプレビューと SHA-256 レシート
  4. 04`.env` や鍵などの機密ファイルの除外
  5. 05--fail-under による CI 用のスコア閾値
  6. 06レビュー用の MCP ツール 8 種

活用シーン

  1. 01Claude Code や Cursor のエージェントからのコードレビュー呼び出し
  2. 02CI パイプラインでのスコア基準によるゲート
  3. 03ステージ済みの変更や PR 差分のレビュー
  4. 04リポジトリの README へのスコアバッジの追加

MCP 対応

Sally は MCP サーバーとして動作し、sally_roast、sally_review_pr、sally_refactor など 8 つのツールを MCP クライアントに公開します。sally_roast ツールはファイルパスを受け取り、サーバーがローカルで読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cynical-sally": {
"command": "npx",
"args": [
"-y",
"@cynicalsally/cli"
]
}
}
}
起動コマンドnpx -y @cynicalsally/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@cynicalsally/cli0.7.0

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
langstringいいえSally の応答に使用する ISO 639-1 言語コード(例:'en'、'nl')。既定値は英語です。
modeenumいいえquick = 迅速な酷評;full_truth = 問題を優先順位付けし、実行可能な修正案を示す詳細な分析(月 1 回無料、その後は Full Suite)quick | full_truth
toneenumいいえSally の口調:cynical(既定。皮肉たっぷり)、neutral、professional。同じ指摘を異なる表現で伝えます。cynical | neutral | professional
filesarrayいいえインラインコンテンツを含むコードファイル(`paths` の代わり)
pathsarrayいいえレビューするファイルまたはディレクトリのパス。Sally がローカルで読み込みます(バイナリ、サイズ超過ファイル、一般的な機密ファイルはスキップ)。自分で内容を読み取って渡す必要がないため、`files` よりこちらを推奨します。
sharebooleanいいえ公開共有カードを公開してリンクを含めます。カードに表示されるのはスコアと Sally の一言コメントのみで、コードは表示されません。ユーザーが酷評結果の共有を明示的に求めた場合にのみ使用してください。
previewbooleanいいえドライラン:送信される内容(ファイル一覧、バイト数、トークン推定値、SHA-256 ハッシュ、スキップされたファイルとその理由)を正確に返し、バックエンドには何も送信しません。コードレビューの前に、デバイス外へ送信される内容を確認したい場合に使用してください。

詳細

シニカルなサリー

シニカル・サリー

容赦なく正直なコードレビュー。ターミナルでもAIエディターでも。
「おっしゃるとおりです」は、たいていまったく正しくないからです。
npm i -g @cynicalsally/cli · Claude Code、Cursor、Windsurf 用の MCP サーバー

Cynical Sally の判定 Sally のスコア npm のバージョン npm のダウンロード数 MCP レジストリ Cursor ディレクトリ Glama のスコア ライセンス

Cynical Sally を Cursor に追加


あなたのAIペアプログラマーは嘘をついています。サリーは違います。

サリーの辛口レビュー — ターミナルでの実際のレビュー

彼女は、あなたのコードが出会いたくなかったシニアエンジニアです。0〜10のスコア、根拠に裏付けられた実際の問題、そして本当に役立つ修正案を提示します。

CLI ツールとしても、Claude Code、Cursor、Windsurf で使える MCP サーバーとしても利用できます。

スコアと問題を示すサリーのコードレビュー サリーの実行可能な修正案と判定

インストール

npm install -g @cynicalsally/cli

または、インストールせずに実行します。

npx @cynicalsally/cli roast ./src/

要件: Node.js 18 以降

マシンから送信される内容を正確に確認する

自分で管理していないサーバーにコードを送るなら、「信じてください」だけでは不十分です。そこでサリーでは、送信内容を自分で確認できます。

sally roast --dry-run ./src/

--dry-run は、あたかもレビューを実行するかのようにすべてを収集しますが、何も送信しません。代わりに、正確なペイロードを表示します。すべてのファイルパス、バイトサイズ、トークン数の推定値に加え、送信対象から除外されたファイルとその理由(.env、キー、証明書、バイナリ、.gitignore の一致、サイズ制限)を確認できます。また、.sally/ にローカルの SHA-256 レシートを作成するため、アップロードされるはずだった内容をバイト単位で検証できます。

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

シークレットファイル(.env、SSH キー、証明書、認証情報ファイル)は、何かが送信される前に、お使いのマシン上で除外されます。--dry-run でご自身でも確認できます。アップロードが許可されているコードだけをレビューしてください。ローカルレポートは .sally/ に保存されます。.gitignore に追加してください。

.sally/

データフローの全容については、以下のプライバシーとセキュリティをご覧ください。

クイックスタート

# Sally auto-detects what to review
sally roast
# → staged changes? reviews those
# → unstaged changes? reviews those
# → recent commit? reviews that
# → nothing? scans the directory

# Roast a file or directory
sally roast src/utils/auth.ts
sally roast ./src/

# Roast staged changes before you commit
sally roast --staged

# Compare your branch against main
sally roast --diff main

# Deep analysis with issues + actionable fixes
sally 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 nothing
sally 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 code
sally roast ./src/ --share

レビューオプション

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

リポジトリを評価してもらい、証明のバッジを手に入れましょう

Sally にリポジトリ全体を評価してもらい、スコア入りの README バッジを付けましょう。

sally verdict

リポジトリを採点し、そのまま貼り付けられるバッジの Markdown を出力します。

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

スコアが 8 以上なら、誇らしく身に着けられるバッジです。スコアがそれより低くても、まあ―― それでも出荷していることを正直に示すサインです。どちらの場合もバッジからリンクされるので、 バッジを付けた README が、あなたの代わりに自慢してくれます。

コピー&ペーストするのも面倒ですか?Sally が自分で貼り付けてくれます。

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

バッジ画像は、新しい sally verdict を実行するたびに自動更新されます。一度追加すれば、 あとはずっと評価済みです。


Sally のフルスイート

6 つのツールで 3 つの仕事をこなします。ターミナルでも AI エディターでも、これまで一緒に仕事をした中で最も正直なコードレビュアーです。

Sally のフルスイート

より速く出荷する — review-pr + refactor · 恥ずかしい思いを減らす — explain + brainstorm · 人に伝わる仕上がりにする — frontend + marketing


解説
sally explain

Sally が、コードベースに残されたスパゲッティコードを読み解き、平易な言葉で説明します。実際に何をしているのか、冷静かつ明快に伝えます。

sally explain src/utils/auth.ts

# Pipe code directly
cat legacy-module.js | sally explain

# Explain the current directory
sally explain


リファクタリング
sally refactor

変更前と変更後を並べて比較できます。どちらか一方が、午前 3 時のオンコール対応であなたを悩ませることになる理由を、Sally が説明します。

sally refactor src/components/Dashboard.tsx

# Refactor current directory
sally refactor


PR レビュー
sally review-pr

時間と意見を持ち、丁寧に振る舞う理由などまったくないシニアエンジニアのように、Sally が PR をレビューします。

# Review PR #42 (requires GitHub CLI)
sally review-pr 42

# Review current branch vs main
sally review-pr

# Pipe a diff
git diff main | sally review-pr


ブレインストーミング
sally brainstorm

アーキテクチャのアイデアを提案すると、規模拡大時に破綻する 3 つのポイントを Sally が教えてくれます。事後検証よりもお得です。

sally brainstorm "Microservices for a 2-person team?"

# Brainstorm about the current project
sally brainstorm


フロントエンドレビュー
sally frontend

コンポーネントがキー入力のたびに再レンダリングされる理由や、z-index が重要な役割を担っている理由を、Sally が教えてくれます。

sally frontend src/components/Header.tsx

# Review all frontend code in a directory
sally frontend ./src/


マーケティングレビュー
sally marketing

顧客に見せる前に、文章を Sally にチェックしてもらいましょう。顧客は、ここまで建設的なフィードバックをくれません。

sally marketing "Ship faster with AI-powered code reviews"

# Review your README and landing page copy
sally marketing README.md


すべてのツールは、ファイルパス、プレーンテキスト、パイプで渡した stdin を受け付けます。それぞれ 無料トライアル 1 回分が含まれ、アカウントは不要です。

CI/CD 統合

コード品質を基準にパイプラインをゲートしましょう。

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

--ci を指定すると、終了コード付きの簡潔な出力になります。--fail-under を指定すると、スコアがしきい値を下回ったときにビルドを失敗させます。機械可読な出力には --json を追加してください。

MCP サーバー

Sally は Claude Code、Cursor、Windsurf の中で MCP サーバーとして動作します。

Glama 上の Cynical Sally MCP サーバー

Claude Code
claude mcp add cynical-sally -- npx @cynicalsally/cli mcp
Cursor

ワンクリックで追加できます。

Cynical Sally を Cursor に追加

または、~/.cursor/mcp.json(グローバル)か .cursor/mcp.json(プロジェクトごと)に追加してください。

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

~/.codeium/windsurf/mcp_config.json に追加します。

{
  "mcpServers": {
    "cynical-sally": {
      "command": "npx",
      "args": ["@cynicalsally/cli", "mcp"]
    }
  }
}
利用可能なツール
MCP ツール機能
sally_roastスコア、問題点、修正案を提示するコードレビュー
sally_explainSally の個性を交えてコードを解説
sally_review_prPR の差分をレビュー
sally_refactorリファクタリングの提案を変更前・変更後とともに提示
sally_brainstormアイデアやアプローチへのフィードバック
sally_frontendフロントエンド/UI のコードレビュー
sally_marketingマーケティング文のレビュー
sally_usageクォータとアカウントのステータスを確認

パスを指定してレビュー — エージェントは paths(ファイルまたはディレクトリ)だけを指定して sally_roast を呼び出せます。Sally はローカルでファイルを読み込み、バイナリファイルとシークレットファイルをスキップするため、エージェントが内容を読み取って渡す必要はありません。

プロンプト — Sally は、MCP プロンプトを表示するクライアントで利用できる、すぐに使えるスラッシュコマンドのインテント(roast、review-pr、explain)も提供します。

ターミナルで sally mcp を実行すると、セットアップ手順を確認できます。

すべてのコマンド

コマンド説明
sally roast [paths...]ファイル、ディレクトリ、または Git の変更をレビュー
sally verdictリポジトリを評価し、README バッジを取得
sally badge [--add]バッジの Markdown を表示、または README.md に追加
sally explain [file]コードが実際に何をするかを解説
sally refactor [file]変更前・変更後のコードを示してリファクタリング
sally review-pr [pr]PR の差分をレビュー
sally brainstorm "idea"アイデアやアプローチへのフィードバック
sally frontend [file]フロントエンド/UI のコードレビュー
sally marketing "copy"マーケティング文のレビュー
sally login <email>マジックリンクでログイン
sally logout保存されたセッションを消去
sally usageクォータとアカウントのステータスを確認
sally upgradeSally の Full Suite にアップグレード
sally resultsバックグラウンドレビューの結果を表示
sally mcpMCP サーバーのセットアップ手順

無料で利用可能

アカウント不要で、毎月 90 回まで無料でレビューできます。すべてのプレミアムツールに無料トライアルが含まれています。

sally usage     # Check your quota
sally upgrade   # Unlock the Full Suite

プライバシーとセキュリティ

コードはあなたのものです。こちらの言葉をうのみにせず、sally roast --dry-run を実行して、送信前に正確なペイロードを確認してください。データの取り扱いは次のとおりです。

  • 送信前に確認できます。 --dry-run を実行すると、アップロードされるファイル、サイズ、トークン数の推定値、そして対象データの SHA-256 レシートがすべて表示されます。データは一切送信されません。MCP の sally_roast ツールにも、同じ preview モードがあります。
  • レビューに必要な場合に限り送信します。 選択したファイルは HTTPS 経由で送信され、レビューの生成のためにリアルタイムで処理されます。ファイルがお使いのマシンから送信される理由はこれだけです。
  • ディスク、ログ、分析データには一切記録しません。 ソースコードはメモリ上で処理され、分析後に破棄されます。データベースに保存したり、アプリケーションログやエラートレースに記録したり、サードパーティの APM や分析サービスに送信したりすることはありません。保存するのはレビュー(スコア、問題点)であり、ソースコードではありません。
  • 学習、販売、共有には一切使用しません。 分析には Anthropic の API を使用します。送信されたコンテンツが学習に使われることはありません。
  • 指定された範囲だけを対象にします。 Sally がリポジトリを閲覧したり、指定されていないファイルを読んだり、プロジェクトや計画をスキャンしたりすることはありません。秘密情報を含むファイル(.env、キー、証明書、認証情報ファイル)は、送信前にお使いのマシン上で除外されます。--dry-run では、除外されたファイルも正確に確認できます。
  • 共有はオプトインで、コードは含まれません。 --share を指定しない限り、何も公開されません。指定した場合でも、公開カードに含まれるのはスコアと Sally のひとことだけです。
  • デフォルトでは匿名です。 Full Suite 用にメールアドレスを連携するまでは、レビューは本人の身元ではなくランダムなデバイス ID に紐付けられます。設定は ~/.sally/config.json にローカル保存されます。
  • リリースには署名があります。 npm パッケージはプロベナンス付きで公開されます。これは、各リリースを、その作成元である正確なソースコミットおよび CI ビルドに結び付ける、暗号学的な公開証明です。

データフロー図、保持するデータ、サブプロセッサー、ログポリシーなど、エンジニアリングに関する詳細はdocs/PRIVACY.mdをご覧ください。ユーザー向けの概要はcynicalsally.com/privacyにあります。

貢献

バグを見つけた場合や機能のアイデアがある場合は、イシューを作成してください。Sally は、イシューのタイトルを少しだけしか批評しないと約束しています。

ライセンス

MIT


cynicalsally.com · npm · イシュー

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。