Keep Me Secure
What it does
Tells your coding agent whether your installed packages need patching, with advice on what to do.
- Connects 컴퓨터 또는 클라우드
- Account or key No key needed
- Category 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(mcp.keepmesecure.dev)를 거쳐요 · ✓ 명령 확인 2026년 11월 14일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
Claude의 Connectors 페이지 열기
CustomizeConnectors
“Add” → “Custom” → “Web”를 누르고 이 2칸 채우기
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Name · 이름Keep Me SecureRemote MCP server URL · 주소https://mcp.keepmesecure.dev/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
채팅에서 켜기
+ConnectorsKeep Me Secure
해 보기
Keep Me Secure을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Keep Me Secure을 쓰고 있다고 하거나 답에 Keep Me Secure 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
웹 ChatGPT에서 MCP 추가 페이지 열기
Plugins+Add custom MCP server
이름과 주소 입력
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Name · 이름Keep Me SecureConnection · 주소https://mcp.keepmesecure.dev/mcp채팅에서 Keep Me Secure 고르기
새 채팅을 열고 입력 전에 플러그인 목록에서 Keep Me Secure을 고르세요
해 보기
Keep Me Secure을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Keep Me Secure을 쓰고 있다고 하거나 답에 Keep Me Secure 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --transport http --scope user keep-me-secure https://mcp.keepmesecure.dev/mcpClaude Code에서 /mcp 입력
Keep Me Secure이 목록에 있고 연결됨으로 보이면 돼요
해 보기
Keep Me Secure을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Keep Me Secure을 쓰고 있다고 하거나 답에 Keep Me Secure 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
Keep Me Secure을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Keep Me Secure을 쓰고 있다고 하거나 답에 Keep Me Secure 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
Keep Me Secure을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Keep Me Secure을 쓰고 있다고 하거나 답에 Keep Me Secure 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://mcp.keepmesecure.dev/mcpJSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
웹으로 연결
Claude Code
claude mcp add --transport http --scope user keep-me-secure https://mcp.keepmesecure.dev/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"keep-me-secure": {
"url": "https://mcp.keepmesecure.dev/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"keep-me-secure": {
"type": "http",
"url": "https://mcp.keepmesecure.dev/mcp"
}
}
}컴퓨터에 설치
Claude Code
claude mcp add --scope user keep-me-secure -- docker run -i --rm ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"keep-me-secure": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"keep-me-secure": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"keep-me-secure": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0"
]
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
- 주간 다운로드i
- npm/PyPI에 없음
- 연결 방식
- 컴퓨터 또는 클라우드
- 최신 버전i
- 1.7.0
- 레지스트리 공개i
- 2026년 11월 6일
- 코드 마지막 변경i
- 2026년 11월 11일
- 제작자
- robertkeus
- 패키지
oci: ghcr.io/robertkeus/keep-me-secure-mcp:v1.7.0- 웹사이트
- keepmesecure.dev
- 레지스트리 상태
- 활성
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
할 수 있는 일
도구 이름과 설명은 서버가 2026년 11월 12일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
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_runtimeChecks a Node.js or PHP version against known security flaws in the runtime itself. Use with the exact version, for example from `node --version` or `php --version`. The list is curated, so no findings doesn't prove a version is safe.
check_packageChecks one exact package version against public security advisories.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 14일 점검
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5866개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5866개 중 73%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5866개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Keep Me Secure, 안전한가요?
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 3일 전 변경됐고, 최신 버전(1.7.0)은 8일 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: REA, GitHub, Serena MCP: the IDE for your agent
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
keep-me-secure-mcp
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.
Why not just Dependabot?
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.
Quick start
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.
Ways to use it
| 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 |
Docker
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.
Hosted URL
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.
- Your agent reads your lockfiles and sends package names and versions, so coverage depends on your agent. In one test it sent only 19 of 39 packages. Use the plugin or Docker when coverage matters.
- Your agent is told to leave out private packages, but that isn't enforced. If your package names are sensitive, run it locally.
- The server doesn't log or store package lists, and Worker logging is turned off. Package names and versions are passed to OSV, and Cloudflare may keep its own standard request data.
- Every package is treated as a direct dependency, so check the suggested command for transitive ones.
What it checks
| 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.
Node.js and PHP versions
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 asphp:8.5, so the patch version can't be read. These appear incheck_project, not the session-start message.- Declared versions may not be what runs on your servers, so check those too.
check_runtimetakes an exact version, for example fromphp --version. - Advisories are a curated list from each project's own security pages, updated through a daily feed. They're reported separately and don't change the package verdict.
Staying ahead
These don't change the yes or no, but they show up in check_project.
- Support dates: for each declared Node.js or PHP version, it shows when active support and security fixes end, and whether it's an LTS line. End of life and ending within 180 days also appear in the session-start message. Dates come from endoflife.date.
- Release age: it checks whether npm, pnpm, Yarn and Composer wait before installing new releases, and shows the setting to add. Waiting about 2 days blocks many supply chain attacks, but it also delays security fixes, so results with urgency
nowshow how to let that one fix through. - Old packages: it flags direct dependencies that are deprecated, abandoned, or have had no release for two years. Old doesn't mean unsafe, so this is only a prompt to look. It uses deps.dev and Packagist. The session-start hook skips it, but it runs whenever your agent calls
check_project, which it may do when a session starts.
Dockerfiles
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.
Dependabot
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.
Platform breaches
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.
- Detection: it looks for files such as
railway.toml,vercel.json,zbpack.jsonandtrigger.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?". - The list: no public database of platform incidents exists, so we keep a curated list, taken from what each company has said. It isn't complete, so an empty result doesn't mean a platform is safe.
- Updates: the plugin and Docker versions fetch the list once a day, which sends nothing about your project. The feed can only add incidents: the ones shipped with each release always stay, and every entry is validated. It isn't signed yet.
- Reporting: the session-start message mentions incidents from the last 90 days.
check_platformalways 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.
Tools
| 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": [] } }
Verdicts
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.uncheckedsays why. Don't read this as safe.
Urgency
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.
Data and privacy
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.