Back to Browse

Repoready MCP Server

Developer ToolsModerate6.9MCP RegistryLocal
Free

Server data from the Official MCP Registry

Score first-contributor readiness: README, install and test docs, license, CI, lockfile.

About

Score first-contributor readiness: README, install and test docs, license, CI, lockfile.

Security Report

6.9
Moderate6.9Moderate Risk

repoready is a pure local computation tool that assesses repository first-contributor readiness from caller-supplied file lists and package scripts, with no network access, no shell execution, and no filesystem reads beyond the optional input JSON file. Its only declared permission is reading the user-specified args.json file, and it has no authentication requirement because it performs no privileged operations; no malicious patterns, hardcoded secrets, or dangerous operations were found. Minor observations are limited to its lack of explicit size limits on input and that the MCP server accepts arbitrary file path strings without touching the filesystem. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 9 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.

How to Install

Add this to your MCP configuration file:

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

Documentation

View on GitHub

From the project's GitHub README.

repoready

A repository can be technically excellent and still lose its first contributor in the first ten minutes: no README to orient them, no install steps to follow, no test command to prove the setup worked. repoready scores that first experience — from the facts you supply, running nothing.

You hand it the repo's file list (with the README's content when you have it) and, optionally, the package.json scripts. It hands back eight checks in a fixed order, each with a pass or fail and an exact detail string:

  • readme — a README exists
  • install_docs — the README documents installation
  • test_script — a test script is defined
  • test_command_docs — the README documents a test command
  • license — a license file is present
  • contributing — a contributing guide is present
  • ci — CI workflows are present under .github/workflows/
  • lockfile — a known lockfile is present

The first four checks are essential. Alongside the checks, the result counts how many passed (out of 8), lists the essential checks that failed in check order, and sets ready to true exactly when no essential check failed. A repo can therefore score well on the supporting checks — license, contributing guide, CI, lockfile — and still be honestly marked not ready because a newcomer cannot install it or cannot run a test.

The README is the first file in input order whose basename, lowercased, is readme.md or starts with readme.. When its content was not supplied, the two documentation checks say so plainly (README content not supplied) rather than guessing from its name. Basename matching is case-insensitive throughout, CI requires the exact .github/workflows/ path prefix, and the lockfile check recognises package-lock.json, yarn.lock, pnpm-lock.yaml, Cargo.lock, poetry.lock, Pipfile.lock, and go.sum.

Malformed input — a missing or empty file list, a missing, empty, or duplicated file path, a non-string content, or a package_scripts value that is not a string — is a validation error naming the offending path, and no partial assessment is produced. The computation is pure and local: no network, no configuration, and nothing is executed.

CLI

npx @reneturcios/repoready assess --input args.json
npx @reneturcios/repoready --version

args.json contains the full arguments object:

{
  "files": [
    { "path": "README.md", "content": "# Demo\n\n## Install\n\nnpm install\n\nRun npm test to verify.\n" },
    { "path": "LICENSE" },
    { "path": "CONTRIBUTING.md" },
    { "path": ".github/workflows/ci.yml" },
    { "path": "package-lock.json" }
  ],
  "package_scripts": { "test": "node --test", "build": "tsc" }
}

The assessment is printed as JSON:

{
  "checks": [
    { "id": "readme", "status": "pass", "detail": "README found at README.md" },
    { "id": "install_docs", "status": "pass", "detail": "README documents installation" },
    { "id": "test_script", "status": "pass", "detail": "a test script is defined" },
    { "id": "test_command_docs", "status": "pass", "detail": "README documents a test command" },
    { "id": "license", "status": "pass", "detail": "license file found at LICENSE" },
    { "id": "contributing", "status": "pass", "detail": "contributing guide found at CONTRIBUTING.md" },
    { "id": "ci", "status": "pass", "detail": "CI workflows found" },
    { "id": "lockfile", "status": "pass", "detail": "lockfile found at package-lock.json" }
  ],
  "passed": 8,
  "total": 8,
  "essential_failures": [],
  "ready": true
}

Exit codes: 0 on success, 1 on a runtime error (including an unreadable or invalid input file, or invalid input), 2 on a usage error.

MCP server

npx -y @reneturcios/repoready mcp

MCP client config:

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

Tools

  • assess_readiness — Assess first-contributor readiness from repo files and package scripts.

    • files (array, required, at least one) — files as {path, content?} objects; path is unique across the set and content is used for the README checks
    • package_scripts (object, optional) — package.json scripts as a string-to-string map

    Returns {checks, passed, total, essential_failures, ready}.

Docker

docker run -i ghcr.io/cloudcorprecords/repoready
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/repoready assess --input /w/args.json

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Reviews

No reviews yet

Be the first to review this server!