Atlas / MCP servers / whitebite / repo-aeo

repo-aeoBLOCK

mcp/whitebite/repo-aeo

Make any repository, npm package and docs site findable and recommendable to humans, AI agents and search engines.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
37 32r · 5w · 0d
Transport
—
License
MIT
Stars
2
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

English | Русский

[](./LICENSE) [](https://nodejs.org)

Make any repository, npm package and docs site findable and recommendable for humans, AI agents and search engines.

RDK scores how discoverable your repository is, fixes the parts that can be fixed automatically, and keeps it from regressing in CI. It is the tool you point at a repo that is good but invisible.

The audit runs 44 checks in under 300 ms offline on this repository (measured with rdk audit --format json, duration_ms field) and carries 0 runtime dependencies, so npx stays fast and the supply chain stays small.

Quickstart

Prerequisites: Node.js >= 18

# 1. add RDK to your repository
npm install --save-dev repo-aeo

# 2. scaffold the config and the missing files
npx repo-aeo init --apply

# 3. see the score and the prioritised fix list
npx repo-aeo audit

# 4. run the test suite
npm test

Two-minute setup for a repository you do not own yet: clone it, run npx repo-aeo init --apply, then npx repo-aeo audit. Everything the CLI writes is a reviewable diff — it never publishes, tags or force-pushes. The one exception lives in CI: the opt-in autofix job force-pushes its own dated rdk/autofix- bot branch and opens a reviewable PR.

Ways to use it

You fork nothing and install nothing permanently. Pick the surface that matches how you work — each pulls the engine on demand:

Read from source at commit 5b31fb27499dOBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add repo-aeo-mcp --env MCP_REGISTRY_TOKEN=${MCP_REGISTRY_TOKEN} --env RDK_EVAL_API_KEY=${RDK_EVAL_API_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "repo-aeo-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MCP_REGISTRY_TOKEN": "${MCP_REGISTRY_TOKEN}",
        "RDK_EVAL_API_KEY": "${RDK_EVAL_API_KEY}"
      }
    }
  }
}
03

Exposed tools (37)

32 read · 5 write · 0 destructive.

ToolRiskDescription
cite-mereadA citable project
cli-demoreadCLI demo project
competitor_scan_list_articlesreadScan a configured search endpoint for
d-libreadDoes things
drywriteDry run
fmt-demoreadFormat demo
freshreadA fresh project
from-pkgreadFrom package.json
fwdreadforwarding demo
github_audit_visibility_signalsreadAudit the live GitHub visibility signals of a repository: stars, forks, topics, open issues, release freshness, wiki and discussions, with the same thresholds the CLI audit uses.
heal-mereadHeal me
idemreadIdempotent
initdrywriteinit dry run demo
keepreadExisting description
keep-minereadKeep mine
llms_txt_check_freshnessreadCheck whether llms.txt still matches its sources: marker-managed files are compared against the rendered output, hand-written files against source modification times; drift is reported because a stale llms.txt actively misleads agents.
locationsreadCommunity profile locations
managed-driftreadManaged drift
mark-channelreadmark channel disambiguation demo
mark-flagsreadmark flag validation demo
minscorereadmin score gate demo
no-readmereadNo readme repo
no-scriptsreadNo scripts here
nogithubreadno github demo
npm_get_search_scorereadGet the current npms.io search score for an npm package (final, quality, popularity, maintenance) plus the concrete gaps that block the completeness bonus. Omit package_name to score the package in the current repository.
readme-syncwriteReadme sync check
repo_get_discoverability_scorewriteRun the same discoverability audit engine as the CLI against a repository and return the full 0-100 score, per-axis breakdown and every finding.
repo_list_findingsreadList the audit findings for a repository, filtered by severity, effort or autofixability, so an agent can work through them one at a time.
seed-holderreadSeeded holder
seededreadSeeded project
site_check_llms_txtreadCheck that a project website serves /llms.txt at its domain root and report status, size and the first heading so an agent can decide whether to fetch it.
strayreadstray argument demo
stray-skillreadstray skill demo
syncwriteSync demo
track-demoreadtrack registration demo
trust-filesreadTrust files
valid-callsreadvalid invocation demo
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (3 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (10)

HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/npm.js:219
const suspicious = files.filter((entry) => /(^|\/)(\.env|\.git|secrets?|id_rsa|\.npmrc)/i.test(String(entry)));
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
packages/rdk-cli/src/commands/npmSurface.js:147
const suspicious = pack.files.filter((file) => /(^|\/)(\.env|\.npmrc|secrets?|id_rsa)(\.|$)/i.test(file) || /(^|\/)\.git(\/|$)/i.test(file));
Why it matters. touches a credential store
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/rdk-cli/test/cli-publish.test.js:144
assert.ok(!source.includes('exec('));
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/agents.js:7
import { exists, readTextIfExists } from '../../util/fs.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/docs.js:6
import { exists, readTextIfExists } from '../../util/fs.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/docs.js:7
import { generatedDrift, jsonldVersionDrift, GENERATED_START } from '../../generate/index.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/hygiene.js:7
import { exists, readTextIfExists } from '../../util/fs.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/rdk-cli/src/audit/checks/hygiene.js:8
import { citationVersionDrift, citationRepositoryDrift, dependabotEcosystems } from '../../generate/index.js';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
packages/rdk-cli/test/http.test.js:16
return await run(`http://127.0.0.1:${server.address().port}/`);
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/repo-aeo-mcp/package.json
repo-aeo
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 5b31fb27499dfull audit observations/trust-audit/mcp-server/whitebite__repo-aeo.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-115b31fb27499dBLOCKD69first audit
06

Questions

What is the repo-aeo MCP server?

Make any repository, npm package and docs site findable and recommendable to humans, AI agents and search engines.

What tools does repo-aeo expose?

37 in total: 32 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is repo-aeo safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does repo-aeo need?

It reads MCP_REGISTRY_TOKEN and RDK_EVAL_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (5b31fb27499d), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement