Back to Browse

Agentsfile MCP Server

Developer ToolsModerate6.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Validate AGENTS.md and CLAUDE.md against repo reality: paths, scripts, and commands checked.

About

Validate AGENTS.md and CLAUDE.md against repo reality: paths, scripts, and commands checked.

Security Report

6.2
Moderate6.2Moderate Risk

agentsfile is a local, read-only validator that checks AGENTS.md and CLAUDE.md against the repo tree and package.json scripts. It requires no credentials or network access, executes nothing in the target repo, and its permissions (local file reads and stdio MCP transport) match its stated purpose. No malicious patterns, shell execution, or hardcoded secrets were found, and the only observations are minor heuristic limitations. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

15 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

system_info

Check that this permission is expected for this type of plugin.

process_spawn

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-agentsfile": {
      "args": [
        "-y",
        "@reneturcios/agentsfile"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

agentsfile

Agent instruction files rot quietly. This checks them against the repo they describe.

AGENTS.md and CLAUDE.md tell coding agents how a repo works: which files matter, which commands to run, how the project is laid out. Repos move faster than their instruction files. A renamed directory, a deleted script, a guide that was never more than a stub, and the agent following the file wastes its run or invents what the file got wrong. Nothing fails loudly, because nothing ever checked the file against the repo.

agentsfile does that check. It reads the AGENTS.md and CLAUDE.md at a repo root, extracts the backticked paths and the npm, yarn, and pnpm script references, and verifies each one against the actual file tree and the actual package.json. Every finding carries the file, the line, and the exact text it came from. The output is deterministic: sorted findings, no timestamps, the same repo always producing the same report.

What it checks

ruleseveritywhat it means
NO-FILEhighNeither AGENTS.md nor CLAUDE.md exists at the repo root.
PATH-MISSINGmediumA backticked span that looks like a relative path does not exist in the repo, as a file or as a directory.
SCRIPT-MISSINGmediumA referenced script (npm run <name>, npm test, yarn <name>, pnpm <name> and friends) is not defined in package.json scripts.
STUBlowAn agent file exists but is empty or under 5 lines long.
NO-PACKAGE-JSONinfoThere is no package.json at the repo root (or it does not parse), so script references were not checked.

Verdict rules:

  • VALID: no medium or high findings. Low and info findings can be present. Exit code 0.
  • DRIFT: at least one medium or high finding. The agent files disagree with the repo. Exit code 1.
  • MISSING: neither AGENTS.md nor CLAUDE.md exists at the repo root. Exit code 1.
  • Usage errors exit with code 2. A reader that closes the output pipe early makes the process exit 141, never 0.

Script reference details: npm run <name> checks <name> directly. The conventional shorthands npm test and npm start (plus stop and restart) map to the script of the same name. For yarn and pnpm, <manager> <name> and <manager> run <name> check <name>, and the package managers' own builtin subcommands (install, add, publish, and friends) are never treated as scripts.

Usage

CLI

# Check the current repo
npx @reneturcios/agentsfile check

# Check another repo, machine readable
npx @reneturcios/agentsfile check ~/src/my-repo --json

# Print the version
npx @reneturcios/agentsfile --version

Example output:

agentsfile check .: DRIFT
  files: 2, findings: 2 (high: 0, medium: 2, low: 0, info: 0)
  summary: 2 agent file(s) checked; 2 finding(s): 0 high, 2 medium, 0 low, 0 info. Verdict: DRIFT.

AGENTS.md:
  [MEDIUM] line 4 PATH-MISSING `src/gone.ts` Referenced path does not exist in the repo: src/gone.ts
  [MEDIUM] line 5 SCRIPT-MISSING `npm run deploy` Script referenced but not defined in package.json scripts: deploy

DRIFT: at least one medium or high finding; the agent files disagree with the repo.

With --json the full report is printed as JSON: tool, version, target, verdict, counts (files, findings, and per-severity totals), the findings array, and a one-line summary. Checking needs no credentials and no network, and nothing in the target repo is executed.

The target may also be a single agent instruction file instead of a directory; its own directory is then treated as the repo root and only that file is checked.

MCP server

npx @reneturcios/agentsfile mcp

Add to your MCP client config:

{
  "mcpServers": {
    "agentsfile": {
      "command": "npx",
      "args": ["-y", "@reneturcios/agentsfile", "mcp"]
    }
  }
}

Tool: check_agents_file(path) returns the full check report for the repo (or single file) at path, as JSON.

Limits, stated plainly

  • Only AGENTS.md and CLAUDE.md at the repo root are read. Nested agent files in subdirectories are not checked in this version.
  • Only two kinds of reference are checked: backticked spans, and npm, yarn, and pnpm script patterns. Commands shown in fenced code blocks are found by the script patterns, but paths in fenced blocks without backticks are not checked, and neither are links, prose mentions, or commands from other toolchains (make, cargo, go, and so on).
  • Path detection is a heuristic, stated honestly: a backticked span counts as a path if it has no spaces, does not start with http, and either contains a slash or ends in a dotted segment that looks like a file extension from a known list (plus a small set of known dotfiles such as .env). Tokens containing characters such as @, :, *, =, or quotes are never treated as paths, so scoped package names and action references are not flagged. The flip side is real: an unusual file name can be missed, and an odd token that happens to look like a path can be flagged. Findings always quote the exact span so a human can judge in one glance.
  • The check is existence only. A path that exists is not checked for being the right file, and a script that exists is not checked for doing what the guide claims it does.
  • The stub rule is a line count (under 5 lines), not a quality judgment. A short file that is genuinely complete will still be reported at low severity, which never changes the verdict on its own.

Reviews

No reviews yet

Be the first to review this server!