Fleet (wrxck/fleet) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 47 tools. No publisher has claimed this listing.

C
Caution
74/100

Fleet

A production management server for Docker Compose applications that handles systemd orchestration, Nginx configuration, and age-encrypted secrets. It enables automated app deployment, health monitoring, and full Git/GitHub workflows through its MCP tools.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

wrxck

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 2 credentials: DEPLOY_WEBHOOK_TOKEN, NPM_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes47 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

fleet_logs

DEPRECATED — prefer fleet_logs_recent (token-conservative defaults) or fleet_logs_summary. Get recent container logs for an app.

fleet_logs_recent

Get recent log lines for an app, filtered to a level and bounded in size. Defaults are SMALL (50 lines, last 15 minutes, warn+) — broaden only if needed. Returns {text, truncated, suggestion}.

fleet_logs_summary

Cheap aggregate: counts of log lines by level + the top 10 distinct error/warning messages over a window. Use as a first pass before fleet_logs_recent.

fleet_logs_search

Bounded grep across recent container logs. Returns matching lines with 0 lines of context, capped at max_results. Cheaper than fleet_logs_recent + manual filtering.

fleet_egress_snapshot

Snapshot the current outbound TCP flows for an app and report which destinations are NOT in the configured allowlist. Use to seed allowlists or audit unexpected egress. v1 is observe-only — it never blocks traffic.

fleet_logs_status

Per-container log driver, current size, and policy applied. Use to check which apps need fleet logs setup.

fleet_deploy

Deploy an app: build and restart

fleet_nginx_add

Create an nginx config for a domain

fleet_nginx_list

List all nginx site configs

fleet_secrets_status

Show vault initialisation state, sealed/unsealed, counts. The vault is the encrypted source of truth that survives reboots. Runtime (/run/fleet-secrets/) is the decrypted copy used by apps — it is lost on reboot.

fleet_secrets_list

List managed secrets for an app (masked values). Shows vault contents — use fleet_secrets_drift to check if runtime differs.

fleet_secrets_unseal

Decrypt vault to /run/fleet-secrets/. WARNING: This overwrites any runtime changes that were not sealed back to the vault. Use fleet_secrets_drift first to check for unsaved changes.

fleet_secrets_validate

Validate compose secrets match vault. Returns missing/extra secrets per app. This checks that docker-compose secret references have matching entries in the vault.

fleet_register

Register a new app in the fleet registry

fleet_onboard

Readiness checklist for a registered app: registry entry, compose env analysis (required vs defaulted vars, build args, port clashes, project-name collisions), systemd unit, vault key-name coverage, materialised runtime env, nginx per domain, and whether the port answers. Read-only; returns the stru

fleet_service_install

Generate and install the systemd unit for a REGISTERED app from its trusted registry fields (workingDirectory = composePath, composeFile, database dependency). Template-only — no caller-supplied unit content. Refuses to overwrite an existing unit unless force is true. This is the path for apps regis

fleet_audit_run
fleet_audit_status
fleet_audit_ignore
fleet_audit_guidelines
fleet_deps_status

Dependency health summary from cache — outdated packages, CVEs, EOL warnings, Docker image updates

fleet_deps_scan

Run a fresh dependency scan across all registered apps

fleet_deps_app

Dependency findings for a specific app

fleet_deps_fix

Create a PR with dependency updates for an app (dry-run by default)

fleet_deps_ignore

Add an ignore rule for a dependency finding

fleet_deps_config

Get or set dependency monitoring configuration

fleet_git_status

Git state for one or all apps: branch, clean/dirty, onboard status

fleet_git_onboard

Onboard an app to GitHub: create repo, push code, protect branches

fleet_git_branch

Create a feature branch from develop (or other base) and push it

fleet_git_commit

Stage tracked file changes and commit

fleet_git_push

Push current branch to origin

fleet_git_pr_create

Create a pull request on GitHub

fleet_git_pr_list

List pull requests for an app

fleet_git_release

Create a release PR from develop to main

fleet_runner_register
fleet_runner_list

List the registered remote build hosts.

fleet_runner_remove

Remove a registered remote build host.

fleet_runner_status
fleet_secrets_set
fleet_secrets_get
fleet_secrets_seal
fleet_secrets_drift
fleet_secrets_restore
fleet_testflight_builds
fleet_testflight_doctor
fleet_status

desc

fleet_list

x

// known CVEs in dependencies1 critical

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@4.0.18GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configCA_TEST_SUPPLIED
configCREDENTIALS_DIRECTORY
configDEPLOY_WEBHOOK_APPS
configDEPLOY_WEBHOOK_HOST
configDEPLOY_WEBHOOK_PORT
🔐 secretDEPLOY_WEBHOOK_TOKEN
configDEPLOY_WEBHOOK_TOKEN_FILE
configFLEET_INTEGRATIONSet =1 to opt into integration tests that hit real systemd / docker. Skipped by default in CI.
configFLEET_KILL_SWITCH
configFLEET_MCP_SOCKET
configFLEET_OPERATOR_PATH
configFLEET_REGISTRY_PATH
configFLEET_SSH_SOCK
configFLEET_UPDATE_BRANCHFor forks or release branches, =<name> overrides the channel entirely:
configFLEET_UPDATE_CHANNEL
configLISTEN_FDS
configLISTEN_PID
🔐 secretNPM_TOKEN
configSSH_AUTH_SOCK
configSUDO_USER
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

47/47 tools missing one or more hints — fleet_logs (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); fleet_logs_recent (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); fleet_logs_summary (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +44 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

37/47 tool handlers declare input schemas (79%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool test coverage

31/47 tools referenced in tests (66%)

Write tests that reference each tool by name so every tool has at least one test.

Secrets not logged

1 secret value sent to error

Redact or omit secret values from log output.

Dev dependencies

1 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Dependency freshness

3/31 production deps abandoned (no release in 2+ years): proper-lockfile@2022-06-24 (4.2y), ink-spinner@2024-05-21 (2.3y), ink-text-input@2024-05-21 (2.3y)

Domain consistency

npm scope @matthesketh doesn't match GitHub owner wrxck

Use the same org name across GitHub, npm, and your homepage so users can verify the publisher.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/wrxck/fleet?variant=verified)](https://m8ven.ai/mcp/wrxck/fleet)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: efc908120f0cb1ca6fde962d584d3b07823bef8f
code hash: 684cd1245e2be06a933d1ececd5497a5b0e368cc1c7bcd57ec74bcd780f6771b
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client