Skip to content
Skillpedia
Connectors (MCP)48k · #3572

mcp-dependency-drift-audit

Checks connection security before approval. Ensures package updates don't cause unexpected issues.

What it does

This tool checks configuration files (like `.mcp.json`) to ensure references to software packages (npm/npx) don't unexpectedly change after review. It does this by reading the files without executing them, helping maintain consistency and security.

When to use it

  • ✓Before approving an AI configuration file.
  • ✓When adding security checks to code updates.
  • ✓During security reviews of AI configurations.

Example of what to ask your AI

“Check the AI configurations in this project to ensure dependencies won't change after I review them.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/mcp-dependency-drift-audit/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/mcp-dependency-drift-audit/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool reads AI configuration files and analyzes package references. It identifies if these references might point to different versions in the future, without running any AI server code.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill mcp-dependency-drift-audit

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/mcp-dependency-drift-audit/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

MCP Dependency Drift Audit

Overview

Audit Model Context Protocol configuration files for npm/npx package references that can resolve to different code after the configuration was reviewed. The workflow is deliberately static: it reads config text, classifies version selectors, and recommends reproducibility fixes without starting discovered MCP servers.

Dependency mutability is a review-boundary signal, not proof that a package is malicious, vulnerable, or compromised.

When to Use This Skill

  • Before approving .mcp.json, Cursor, VS Code, GitHub Copilot, Claude, or Windsurf MCP configuration.
  • When adding an MCP configuration gate to pull requests or CI.
  • During an AI-agent security review where npm/npx-backed MCP servers are configured.
  • When checking whether a previously reviewed MCP config can silently resolve to newer package code.

How It Works

Step 1: Locate and read MCP configs without executing them

Inspect known project paths such as .mcp.json, .github/mcp.json, .cursor/mcp.json, .vscode/mcp.json, and .windsurf/mcp.json, plus any MCP config explicitly supplied by the user.

Read them as text/JSON only. Never run a discovered command or args value as part of this audit. Stay inside the requested workspace by default; only include user-level/global MCP configuration if the user explicitly asks for machine-wide scope.

Step 2: Use MCP Drift Check when already available

If mcp-drift-check is already installed, use the workspace-scoped mode from the intended repo root:

mcp-drift-check scan-workspace --markdown

For CI evidence:

mcp-drift-check scan-workspace --sarif mcp-drift.sarif --markdown

If the scanner is not installed, explain that the following command fetches the open-source scanner from GitHub and get user approval before running it:

uvx --from git+https://github.com/tomelias10/mcp-drift-check mcp-drift-check scan-workspace --markdown

If the user declines network access or installation, continue with the manual rules below.

Step 3: Apply the manual static rules

For npm/npx-style package selectors:

Selector Classification Reason
package@1.2.3 SAFE Exact package version is reproducible.
bare package or @scope/package HIGH A later resolution can select different package code.
package@latest HIGH The selector is explicitly mutable.
package@^1.2.0, ~1.2.0, >=1.2.0, wildcard MEDIUM Resolution can change within the allowed range.
local path, script, binary, unknown executable REVIEW npm version-drift rules do not establish update behavior.

Treat -y / --yes as context only. It suppresses interactive confirmation but is not a vulnerability by itself.

Step 4: Recommend remediation without inventing versions

For mutable npm/npx references, recommend pinning to an exact version that the team has actually reviewed and then updating that pin deliberately.

Do not guess the version to pin. If registry lookup is needed, explain that it requires network access and ask before querying it.

Pinning improves reproducibility. It does not establish package provenance, vulnerability status, authorization safety, prompt-injection resistance, or runtime isolation.

Step 5: Produce a bounded report

Return:

Config MCP server Package/reference Classification Why Recommended next step

Then state:

  • No MCP servers were executed during the audit.
  • Mutable dependency references are review/reproducibility signals, not breach claims.
  • A clean dependency-drift result is not a complete MCP security assessment.

Examples

Example 1: Audit before approval

User: Audit this repo's MCP config before we approve it. Do not run any MCP servers.

Expected shape:

.mcp.json | browser | @example/browser-mcp@latest | HIGH
Reason: @latest can resolve to different package code later.
Next step: pin the exact version your team reviews and update it deliberately.

No MCP servers were executed.

Example 2: Add a CI gate

For GitHub Actions:

- uses: actions/checkout@v4
- uses: tomelias10/mcp-drift-check@v0

MCP Drift Check can also emit SARIF 2.1.0 for GitHub Code Scanning. The action defaults to workspace-only discovery; machine-wide user-level scanning remains an explicit scan-all choice.

Best Practices

…

FAQ

What is dependency 'drift'?

It's when a reference to a software package (like a version number) can change over time, pointing to different code than what was originally reviewed and approved.

Does this tool run any AI code?

No, it only reads configuration files and analyzes package references. It does not execute any AI servers.

What does 'pinning' a version mean?

It means specifying an exact version number for a software package, rather than using generic references like 'latest' or version ranges. This ensures the same package version is always used.

Details

Original description by the author

Statically audit MCP configs for mutable npm/npx package references before approval or CI, without executing discovered MCP servers.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3572
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills