Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Deterministic security scan of MCP servers, agent skills and npm/PyPI packages. Runs locally.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"skilltotal": {
"command": "uvx",
"args": [
"skilltotal",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add skilltotal -- uvx skilltotal mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"skilltotal": {
"command": "uvx",
"args": [
"skilltotal",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"skilltotal": {
"type": "stdio",
"command": "uvx",
"args": [
"skilltotal",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 skilltotal.ai 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.95.0)于今天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, debuff
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Check packages before your coding agent installs them.
A static security scanner for npm and PyPI packages, MCP servers, agent skills and repositories.
Runs on your machine · never runs the code it scans · no LLM · every finding cites a file and line
Quick start · Claude Code plugin · GitHub Action · CLI · What it detects · Try it online
The plugin's real answer for a sanitized test package. No real package is shown.
pipx install skilltotal
skilltotal scan npm:express # or pypi:name, a git URL, a folder, an archive
Check what your coding agent installs. Inside Claude Code:
/plugin marketplace add pezhik/skilltotal
/plugin install skilltotal@skilltotal /reload-plugins
Gate pull requests. Add one step to a workflow (full example with permissions):
- uses: pezhik/skilltotal@v0.95.0
with: { source: ., fail-on: high }
To try it without installing anything, www.skilltotal.ai runs the same engine.
| You want to | Start here |
|---|---|
| Check packages before Claude Code installs them | Claude Code plugin |
| Check packages before another agent installs them | Agent hooks, each with a support tier, or the MCP server and guard |
Scan a package, repository, folder, archive, .vsix, .mcpb or wheel yourself | skilltotal scan |
| Gate pull requests in CI | GitHub Action and other CI |
| Adopt it on a repository that already has findings | Rolling out with a baseline |
| Review a dependency upgrade before you merge it | diff --fail-on-new |
| Check the MCP servers, plugins, skills and editor extensions installed on your machine every day | Installed components |
| Run that check on a company fleet, feed a SIEM, export an AI-BOM | Running it on a fleet |
| Accept a false positive | Accepting findings |
| Scan through a company registry mirror | Registry mirrors |
It scans npm and PyPI packages, MCP servers, agent skills and plugins, VS Code extensions, git repositories (or one folder of them), local folders, archives (including .mcpb, .vsix and wheels) and single files, and looks for:
| Category | Examples | |
|---|---|---|
| Shell execution | subprocess.*, os.system, child_process.exec, `curl … \ | bash` handed to a shell call |
| Filesystem access | open, read_text/write_text, fs.readFile/writeFile | |
| Sensitive paths | ~/.ssh, ~/.aws, .env, id_rsa, credentials, secrets | |
| Network egress | requests, urllib, aiohttp, fetch, axios | |
| Install-time execution | npm preinstall/postinstall/prepare, setup.py hooks, a lifecycle script that downloads or decodes code and runs it | |
| Dynamic code execution | eval, exec, compile, new Function, vm.runInNewContext | |
| Obfuscation | decode-and-execute chains, base64 blobs, hex escaping, minification | |
| MCP risks | manifests, dangerous tools (shell/fs/network/credential), server commands | |
| Prompt surface | "ignore previous instructions", "reveal system prompt", exfiltration phrasing | |
| Post-exploitation | reverse tunnels and shells, planted SSH keys, autostart persistence, antivirus or Gatekeeper evasion, host beacons |
It also flags hidden Unicode in agent-facing text, embedded secrets, auto-approved MCP tools and data flows such as a credential read followed by network egress. skilltotal rules list prints every rule; coverage by component type and accuracy notes are in docs/detection.md.
Example report (a sanitized test package from this repository)
$ skilltotal scan tests/fixtures/malicious_npm_pkg
SkillTotal Security Report ========================== Component : evil-npm-pkg 0.0.1 (npm_package) Source : tests/fixtures/malicious_npm_pkg Verdict : HIGH - High risk - review before installing Risk : HIGH (score 70/100)
Findings (3 risk, 4 capability, not scored): [CRITICAL] ST-COMBO-EXFIL Sensitive-data access combined with network egress Evidence:
[HIGH] ST-INSTALL-DROPPER Install-time hook paired with a dropper payload Evidence:
Shortened. The full report also prints descriptions, recommendations, capabilities and review items.
npx, npm install, pip install or claude mcp add command before the agent runs it.SKILLTOTAL_OSV=0 turns that off (Network access).SkillTotal fetches the component (a shallow git clone or the package archive), reads every file once and runs its scanners over them. It correlates the findings (a credential read plus network egress becomes an exfiltration path) and scores the result from 0 to 100. It looks only at the component's own files, never at the user, company, environment, deployment or runtime context. Every confirmed finding carries evidence (file, line range, code snippet); a signal that cannot be tied to evidence goes to needs_review, which never affects the score. A capability such as shell or network access is reported but scores zero. Details in docs/architecture.md and docs/scoring.md.
Before an install command runs, the plugin scans each package it names, locally and with the same engine as the CLI. It reads npm, pnpm, yarn, bun, npx, pip, uv, uvx, pipx, poetry and similar installs, claude mcp add (and the Codex and Gemini equivalents), claude plugin install, code --install-extension and npx skills add, including when they are wrapped in sudo, bash -c, $(...) or PowerShell. Install the CLI first (skilltotal --version must work where you start Claude Code), then run the three commands from Quick start.
| The scan finds | What happens to the install |
|---|---|
| Malicious indicators | Denied. The agent is told the finding and its file:line |
| High or critical risk, a look-alike package name, or anything it could not check (a custom registry, a name built at run time, a command hidden behind a decoder, a check that failed or ran out of time) | Claude Code asks you |
| Nothing of that kind | It installs. The agent gets a one-line note with the version checked and its score |
| Anything it would ask about, in CI | Denied: CI is fail-closed (see below) |
Each install command gets a console line saying what was checked, or what was not and why. In CI (CI, GITLAB_CI, JENKINS_URL and similar, or SKILLTOTAL_STRICT=1) nobody is there to answer,
只显示了开头部分;其余内容请在仓库中阅读