Atlas / MCP servers / stevekinzey / claude-code-tools-installer

claude-code-tools-installerBLOCK

mcp/stevekinzey/claude-code-tools-installer

Desktop app for macOS, Windows, and Linux that installs Claude Code and curated tools — every action shown as a plan and confirmed before it runs.

Verdict
BLOCK
Grade
D
Trust score
64 /100
Exposed tools
1 0r · 1w · 0d
Transport
—
License
Apache-2.0
Stars
1
01

Overview

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

Claude Code Tools Installer is a desktop setup app for people who want a clear way to install Claude Code, choose optional development tools, check what is already installed, and safely add Convex packages to the correct project. It is designed to remove terminal-first confusion, especially on Windows.

The app never installs anything just because it is shown. You choose the item, review the plan, and confirm the exact action before it runs.

Live Product Site and Current Releases

The public product site is claudetool.app. It includes the plain-language walkthrough, searchable catalog, private-first Compass help, release sign-up, public user manual, Privacy Policy, Terms, Disclaimer, and four captioned product videos.

Current platform availability, filenames, byte sizes, and SHA-256 digests are derived from the GitHub Releases record by the product site. A source tag is not a download. If the site does not list a SHA-256-backed artifact for a platform, use the release archive instead of constructing a download URL.

Download only from the linked release record, then compare the published digest before opening an artifact. The site and release record are checked separately. A release download is not evidence of a completed setup, active user, or vote.

What You See in the GUI

The main window is a guided flow with a separate library for project-level Convex packages. The app treats a Claude Code tool and a Convex Component differently because they install in different places.

Read from source at commit c43d5707c447OBSERVED · 2026-10-12
Advertisement
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 claude-code-tools-installer-desktop --env COMPASS_ONLINE_ENDPOINT=${COMPASS_ONLINE_ENDPOINT} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "claude-code-tools-installer-desktop": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "COMPASS_ONLINE_ENDPOINT": "${COMPASS_ONLINE_ENDPOINT}"
      }
    }
  }
}
03

Exposed tools (1)

0 read · 1 write · 0 destructive.

ToolRiskDescription
revenue-systemswriteCCTI did not add revenue-systems because this skill is already available in Claude Code.
04

Trust audit

BLOCKgrade D · trust 64/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 (5 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (19)

HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
scripts/refresh-macos-update-metadata.js:24
const updateInfo = yaml.load(fs.readFileSync(metadataPath, 'utf8'));
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
scripts/test-refresh-macos-update-metadata.js:37
const updated = yaml.load(fs.readFileSync(metadataPath, 'utf8'));
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
scripts/verify-macos-update-metadata.js:45
const updateInfo = yaml.load(fs.readFileSync(metadataPath, 'utf8'));
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/test-typed-confirmation-electron.js:223
await waitFor(window, new Function(`return window.__typedConfirmFixture.calls.some((call) => call.method === ${jsLiteral(flow.apply)});`), `${flow.label} apply call`);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test-project-npm-isolation.js:17
const evilRegistry = 'http://127.0.0.1:9/';
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test-staging-telemetry-collector.js:78
const endpoint = `http://127.0.0.1:${port}/api/trpc/signals.reportSetupSuccess?batch=1`;
LOWInventory / provenance · inv.hidden_file · CWE-1104
docs/installation-guide/site/.nojekyll
.nojekyll
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
desktop/package.json
electron-updater, @electron/notarize, electron
Why it matters. 3 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
desktop/build/icon-source.png
desktop/build/icon-source.png
Why it matters. 2562824 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
desktop/build/icon.icns
desktop/build/icon.icns
Why it matters. 1403040 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
docs/installation-guide/downloads/claude-code-tools-installer-guide-2026.pdf
docs/installation-guide/downloads/claude-code-tools-installer-guide-2026.pdf
Why it matters. 17316251 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
docs/installation-guide/site/assets/claude-tools-brand-mark_480bd06d.png
docs/installation-guide/site/assets/claude-tools-brand-mark_480bd06d.png
Why it matters. 2474997 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
docs/installation-guide/site/assets/claude-tools-hero-terminal_e4789ef9.png
docs/installation-guide/site/assets/claude-tools-hero-terminal_e4789ef9.png
Why it matters. 1189396 bytes not read
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
README.md:73
For supported skills, CLIs, MCP servers, and fixed plugin choices, CCTI runs the reviewed installation action after you review and confirm the plan. It checks and installs each supported prerequisite
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
README.md:121
It may proactively ask a useful next question when you open the Convex library, select a credential-sensitive item, or finish browsing without a plan. It never adds an item or starts an installation w
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
desktop/CERTIFICATE_TRANSFER_MACOS.md:11
1. On the primary Mac, open **Keychain Access**. Select **login** under Keychains and **My Certificates** under Category.
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
desktop/CERTIFICATE_TRANSFER_MACOS.md:24
1. On the target Mac, open **Keychain Access → Certificate Assistant → Request a Certificate From a Certificate Authority**. Create a certificate-signing request (`.certSigningRequest`) and keep its p
Why it matters. asks the agent to read credentials
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
desktop/CERTIFICATE_TRANSFER_MACOS.md:36
1. Open **Keychain Access**, select the **login** keychain, then choose **File → Import Items**.
Why it matters. asks the agent to read credentials
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
SECURITY.md:52
- There is no `curl | bash` pattern; users download packaged releases and run them locally

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha c43d5707c447full audit observations/trust-audit/mcp-server/stevekinzey__claude-code-tools-installer.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-12c43d5707c447BLOCKD64first audit
06

Questions

What is the claude-code-tools-installer MCP server?

Desktop app for macOS, Windows, and Linux that installs Claude Code and curated tools — every action shown as a plan and confirmed before it runs.

What tools does claude-code-tools-installer expose?

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

Is claude-code-tools-installer safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (64/100) and found 4 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 claude-code-tools-installer need?

It reads COMPASS_ONLINE_ENDPOINT 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 (c43d5707c447), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement