Locksmith
What it does
Lints PostgreSQL migrations for dangerous locking operations and suggests safe rewrites.
- Connects パソコンで動く
- Account or key No key needed
- Category データベース・データセット
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "locksmith": { "command": "npx", "args": [ "-y", "locksmith-mcp" ] } } }Claude を終了してもう一度開く
試してみる
Locksmith を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Locksmith を使っていると言うか、回答に Locksmith のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Locksmith につなげません
Locksmith はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · Locksmith につなげるアプリを使う
- 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
- 先にパソコンへ Node.js を入れてください(1 回だけ)
B · データベース・データセット の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Supabase✓ ChatGPT
- Appwrite MCP✓ ChatGPT
- Pg Aiguide✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --scope user locksmith -- npx -y locksmith-mcpClaude Code で /mcp と入力
Locksmith が一覧にあり、接続済みと表示されれば OK です
試してみる
Locksmith を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Locksmith を使っていると言うか、回答に Locksmith のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
Cursor の AI チャットを Agent モードで開く
試してみる
Locksmith を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Locksmith を使っていると言うか、回答に Locksmith のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
VS Code の AI チャットを Agent モードで開く
試してみる
Locksmith を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Locksmith を使っていると言うか、回答に Locksmith のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add --scope user locksmith -- npx -y locksmith-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"locksmith": {
"command": "npx",
"args": [
"-y",
"locksmith-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"locksmith": {
"command": "npx",
"args": [
"-y",
"locksmith-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"locksmith": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"locksmith-mcp"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント cxk280 で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:5 か月前
- ✓ 合格
ライセンスがある
MITを使用
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
データベース・データセットのほかのサーバーとの比較i
- このカテゴリのほかの1170件のうち0%よりスターが多い
- このカテゴリのほかの1170件のうち15%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの1170件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Locksmithは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は5 か月前、最新バージョン(0.1.1)がレジストリに届いたのは5 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Locksmith 🔒
An MCP server that catches dangerous SQL migrations before they lock your database.
Most migrations look harmless and then take down production: a plain CREATE INDEX blocks every write for the length of the build; ALTER COLUMN ... TYPE rewrites the whole table under ACCESS EXCLUSIVE; SET NOT NULL scans every row. Which operations are safe — and the rewrite that makes the dangerous ones safe — is knowledge that lives in senior engineers' heads.
Locksmith encodes that knowledge as a tool an LLM agent (or a human) can call. Give it a PostgreSQL migration; it returns a PASS / REVIEW / BLOCK verdict, a finding for each risky statement (which lock it takes, *why* that's dangerous), and a concrete safe rewrite.
🛑 BLOCK — do not ship as written
🛑 CREATE INDEX without CONCURRENTLY create-index-non-concurrent (line 5)
CREATE INDEX idx_users_email ON users (email)
Problem: This index build will block all writes to the table until it completes. Lock taken: SHARE (blocks writes) Fix: Build the index with CREATE INDEX CONCURRENTLY, which does not block writes. Suggested rewrite: CREATE INDEX CONCURRENTLY idx_users_email ON users (email)
Why an MCP server?
An agent can often reason about lock semantics — but not *reproducibly*, and not in a way you can test, audit, or trust to gate a deploy unsupervised. The same prompt may approve a table-rewriting ALTER one run and flag it the next, or miss it entirely in a long migration. Locksmith turns that probabilistic capability into a deterministic, tested tool: the lock semantics were verified once (against the PostgreSQL docs and the parser's real behavior, with a test suite pinning each rule) and now run identically every time, returning the same verdict plus a paste-ready fix — so "review this migration" stops being a guess.
Capabilities
Tools
analyze_migration(sql, assumeLargeTables?)→ verdict + findings + safe rewrites (both human-readable Markdown and validated structured output).explain_lock(query)→ what a given Postgres lock mode blocks and what takes it.
Resources
locksmith://lock-matrix— the PostgreSQL table-level lock compatibility matrix.locksmith://rules— the full rule catalog (id, severity, rationale) as JSON.
Prompts
review-migration— analyze a migration and summarize the risk as a PR comment.
Rule catalog
| Rule | Severity | What it catches |
|---|---|---|
create-index-non-concurrent | critical | CREATE INDEX without CONCURRENTLY (blocks writes) |
index-concurrently-in-transaction | critical | CONCURRENTLY inside BEGIN/COMMIT (Postgres rejects it) |
add-column-not-null-no-default | critical | ADD COLUMN NOT NULL with no default (fails / rewrites) |
alter-column-type | critical | ALTER COLUMN ... TYPE (full table rewrite) |
add-column-volatile-default | warning | ADD COLUMN ... DEFAULT now() etc. (rewrites table) |
set-not-null | warning | SET NOT NULL (full scan under exclusive lock) |
add-foreign-key-validating | warning | ADD FOREIGN KEY without NOT VALID (locks both tables) |
add-check-constraint-no-not-valid | warning | ADD CHECK without NOT VALID (full scan) |
drop-column-or-table | warning | destructive + breaks deployed code |
rename-column-or-table | warning | breaks running app code |
Suppressing a rule
Acknowledge a deliberate risk inline, eslint-style:
-- locksmith:disable create-index-non-concurrent
CREATE INDEX idx_users_email ON users (email);
A bare -- locksmith:disable suppresses all rules for the next statement.
Install & run
No clone or build required — run it straight from npm:
npx locksmith-mcp
Use with Claude Code
claude mcp add locksmith -- npx -y locksmith-mcp
Or add to any MCP client config (Claude Desktop, etc.):
{
"mcpServers": { "locksmith": { "command": "npx", "args": ["-y", "locksmith-mcp"] } } }
Run from source instead
git clone https://github.com/cxk280/locksmith.git && cd locksmith
npm install && npm run build
then point your client at: node /absolute/path/to/locksmith/dist/index.js
Try it with the MCP Inspector
npx @modelcontextprotocol/inspector npx -y locksmith-mcp
Then call analyze_migration with the contents of examples/dangerous.sql.
Development
npm run dev # run from source with tsx
npm test # vitest: per-rule + golden tests on examples/
Design notes
- Deterministic. No clock, randomness, or network — same SQL in, same verdict out. That's what makes it testable and safe to drop into CI.
- Hybrid parsing. Statements are parsed to an AST ([
pgsql-ast-parser]) when the parser supports them; rules fall back to normalized text for Postgres clauses the parser doesn't model (NOT VALID,CONCURRENTLY). An unparseable statement degrades to a "review manually" note — the linter never fails closed on input it doesn't understand. - Composable rules. Each rule is a pure function with its own metadata in its own file; adding one is a one-file change plus a line in the registry.
- Advisory, not a prover. Locksmith complements review;
assumeLargeTablesdefaults totrueso it errs toward flagging.
Roadmap
- Remote (Streamable HTTP) transport for hosted deployments.
- Additional dialects (MySQL, SQLite).
- Optional live DB introspection to suppress findings on known-small tables.
- A GitHub Action wrapping the same engine to gate PRs.
License
MIT