Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Tells your coding agent whether your installed packages need patching, with advice on what to do.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.keepmesecure.dev/mcpClaude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"keep-me-secure": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}ターミナルでこれを実行します
claude mcp add --transport http keep-me-secure https://mcp.keepmesecure.dev/mcpclaude mcp add keep-me-secure -- docker run -i --rm ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"keep-me-secure": {
"url": "https://mcp.keepmesecure.dev/mcp"
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"keep-me-secure": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"keep-me-secure": {
"type": "http",
"url": "https://mcp.keepmesecure.dev/mcp"
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"keep-me-secure": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.keepmesecure.dev/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ツールの名前と説明は、サーバーが2026年11月6日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。
check_packagesUse for questions like 'is my stack secure?' or 'do we have vulnerable packages?'. Checks a list of exact installed package versions against public security advisories. Read them from the project's lockfiles, including transitive packages. Up to 500 per call; call again for more.
check_platformLists known security incidents at hosting, deployment and AI platforms, with what to do and a link to the source. Use when the user asks about a platform or breach. Omit name to list all. The list is curated and not complete, so no result doesn't mean a platform is safe.
check_packageChecks one exact package version against public security advisories.
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント robertkeus で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
647ミリ秒で応答(HTTP 200)
サインイン不要
3件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(1.7.0)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Draugr
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Ask your coding agent "Is my stack secure?" and get a yes or no, with what to do next.
Website · Changelog · Contributing · Security · MIT license
It's a free, open source MCP server. It checks every package in your lockfiles against public security advisories, including the ones you didn't install directly.
Keep using it: it's great at opening fix pull requests, and this can set it up for you. Keep Me Secure adds flaws in Node.js and PHP themselves, support end dates, platform breaches and OS packages in Dockerfiles, and it answers in your coding session, on your working copy.
Add it to Claude Code. You need Node.js 22 or newer, and no account or Docker.
claude plugin install keep-me-secure --marketplace robertkeus/keep-me-secure-mcp
Now it checks by itself when you start coding, once a day per project. You can also ask your agent at any time:
Is my stack secure?
It never changes anything without your OK.
| Claude Code plugin | Docker | Hosted URL | |
|---|---|---|---|
| Best for | Daily use in Claude Code | Other agents, isolation | Trying it, small projects |
| You need | Node.js 22 or newer | Docker | Nothing |
| Daily check | Yes | Yes | No, you ask |
| Who reads your lockfiles | The plugin, on your machine | The container, on your machine | Your agent, which sends the list to our server |
| Coverage | Every package | Every package | What your agent sends |
Run this in your project:
docker run --rm --user "$(id -u):$(id -g)" -v "$PWD:/workspace" ghcr.io/robertkeus/keep-me-secure-mcp:latest init
This adds or updates three files:
| File | Purpose |
|---|---|
.mcp.json | Registers the MCP server |
.claude/settings.json | Claude Code hook that runs the check when a session starts |
AGENTS.md | Tells other agents to run the check at the start of a session |
The config pins the image version, so a new release never reaches your project unannounced. Run the command again to upgrade.
For other agents, keep the AGENTS.md rule: in testing, Codex only called the tool when that rule was present.
Codex
In ~/.codex/config.toml:
[mcp_servers.keep-me-secure]
command = "sh" args = ["-c", "exec docker run -i --rm --read-only --cap-drop=ALL --security-opt=no-new-privileges -v \"$PWD:/workspace:ro\" -v kms-cache:/cache ghcr.io/robertkeus/keep-me-secure-mcp:latest"]
opencode
In opencode.json:
{
"mcp": { "keep-me-secure": { "type": "local", "command": ["sh", "-c", "exec docker run -i --rm --read-only --cap-drop=ALL --security-opt=no-new-privileges -v \"$PWD:/workspace:ro\" -v kms-cache:/cache ghcr.io/robertkeus/keep-me-secure-mcp:latest"], "enabled": true } } }
Tested with Claude Code, Codex and opencode. Cursor and other MCP clients should work with the same command, but haven't been tested. The agent must start in your project folder, because $PWD is what gets scanned.
Add https://mcp.keepmesecure.dev/mcp as a remote MCP server in your agent. No account or token is needed, and each IP address gets 20 checks per minute.
| Language | Reads |
|---|---|
| PHP | composer.lock |
| JavaScript | package-lock.json, pnpm-lock.yaml, yarn.lock |
| Python | requirements*.txt, poetry.lock, uv.lock |
| Go | go.mod |
| Rust | Cargo.lock |
| Ruby | Gemfile.lock |
| Java, Kotlin | gradle.lockfile |
| .NET | packages.lock.json |
Lockfiles in test and example folders (such as test, spec, fixtures and examples) are skipped, because they usually don't ship. They're listed in coverage.ignored, and check_project still checks one if you name it with path.
Maven has no lockfile, so pom.xml projects return unknown. So do Gradle and .NET projects with locking turned off.
Flaws in the runtime itself don't appear in your lockfile. In October 2026, Node.js and PHP both shipped fixes for flaws that CISA lists as exploited. So Keep Me Secure also reads the versions your project declares:
| Runtime | Reads |
|---|---|
| Node.js | .nvmrc, .node-version, .tool-versions, volta and engines in package.json, FROM node: in a Dockerfile |
| PHP | .php-version, .tool-versions, config.platform.php and require.php in composer.json, FROM php: in a Dockerfile |
affected: that version has the flaw, or its release line got no fix. The session-start message mentions these.unverified: the repo only shows a range or a floating tag such as php:8.5, so the patch version can't be read. These appear in check_project, not the session-start message.check_runtime takes an exact version, for example from php --version.These don't change the yes or no, but they show up in check_project.
now show how to let that one fix through.check_project, which it may do when a session starts.It reads each Dockerfile or Containerfile for the base image and its OS, end-of-life OS versions, floating tags such as latest, whether the image runs as root, and OS packages installed with apk or apt.
A Dockerfile doesn't show exact package versions or what's really running, so anything it finds is unverified. To be sure, scan the built image with a tool such as Trivy or Grype. System advisories are a curated list, starting with the OpenSSH password bypass on Alpine.
Ask your agent to set it up. suggest_dependabot returns a .github/dependabot.yml for your package managers and Dockerfiles, and your agent writes it with your OK. It uses a 2 day cooldown, which makes routine updates wait. GitHub doesn't apply cooldowns to security updates, so fixes aren't delayed.
Packages aren't the only risk. In October 2026 alone, several developer and AI platforms disclosed incidents where customer secrets may have been exposed. If your project uses one, Keep Me Secure tells you what happened and what to do, with a link to the source.
railway.toml, vercel.json, zbpack.json and trigger.config.ts, and for packages such as @trigger.dev/sdk. Platforms that leave no trace in a repo aren't detected, so ask your agent, for example "Was Northflank breached?".check_platform always shows all of them. Platform incidents are reported separately and don't change the package verdict.To add an incident, open a pull request that edits src/platforms.ts and links the company's own statement.
| Tool | Question it answers | Input |
|---|---|---|
check_project (local) | Is my stack secure? Do I need to patch anything? | ecosystem, path and refresh, all optional |
check_packages (hosted) | Is my stack secure? | packages, a list of up to 500 |
check_package | Is this exact version safe? | ecosystem, name, version |
check_platform | Was this platform breached? | name, optional. Omit it to list all |
check_runtime | Is this Node.js or PHP version safe? | runtime, version |
suggest_dependabot (local) | Can you set up Dependabot? | None |
Example result, shortened:
{
"verdict": "yes", "urgency": "today", "findings": [{ "package": "guzzlehttp/guzzle", "installed": "7.4.0", "fixed_in": "7.15.2", "direct": true, "severity": "HIGH", "exploited": false, "advice": "Upgrade guzzlehttp/guzzle to 7.15.2 or later.", "command": "composer update guzzlehttp/guzzle --with-dependencies" }], "coverage": { "scanned": 2, "by_ecosystem": { "Packagist": 2 }, "private": ["acme/internal"], "unchecked": [] } }
yes: at least one installed version has a known advisory.no: every package was checked and none has a known advisory.unknown: the check was incomplete, for example a missing lockfile, an unsupported ecosystem or a failed lookup. coverage.unchecked says why. Don't read this as safe.now: a malicious package, or a vulnerability in the CISA KEV list of actively exploited issues.today: critical, high or unrated severity.this_week: everything else.For malicious packages, upgrading isn't enough. The advice is to remove the package, rotate secrets and check for changes it may have made.
The full statement is at keepmesecure.dev/privacy. This project is provided as is and used at your own risk, as set out in the terms.
冒頭だけを表示しています。続きはリポジトリで読めます