neo-setup — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited neo-setup (Agent Skill) and scored it 79/100 (yellow). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 5 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 5 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when a user needs the Python neo-mcp package installed and connected to an MCP-enabled coding agent. The workflow is pip-only and supports Linux, macOS, and WSL.
neo-mcp executable only.cmd.exe are unsupported because the Python daemon uses POSIX shell and container-path semantics. If the user is on native Windows, explain that WSL is required and stop before installing.NEO_SECRET_KEY. Redact it from command output and reports. Never ask the user to commit an MCP config containing the key.git rev-parse --show-toplevel; only fall back to the current directory when no repository exists.neo_get_execution_evidence and neo_verify_task when local proof is required.Follow these steps in order. Do not skip verification.
Run read-only checks:
uname -s
python3 --version
git rev-parse --show-toplevel 2>/dev/null || pwdRequire Python 3.11 or newer. On native Windows, report:
Native Windows execution is unsupported. Install and run Neo inside WSL, then configure the MCP client to use the WSL neo-mcp executable.Prefer an isolated install:
python3 -m pip install --upgrade neo-mcp
# Or, if pipx is already installed:
pipx install --force neo-mcpIf Linux returns externally-managed-environment, do not use sudo pip. Use a virtual environment or:
python3 -m pip install --user --break-system-packages neo-mcpCheck the executable without exposing credentials:
command -v neo-mcp
python3 -m pip show neo-mcpIf command -v returns nothing after a user install, inspect python3 -m site --user-base and add its bin directory to the user's PATH. Do not hard-code a guessed path into an editor config.
Ask the user to obtain a key from the Neo dashboard. Accept it through the MCP client's environment configuration or an interactive setup command; do not ask them to send it in chat. The configured value must be available as NEO_SECRET_KEY to the server process.
The key belongs in the editor's private MCP configuration. Do not put it in project source, committed .env files, shell history, screenshots, or diagnostics.
Use the relevant pip configuration below. Replace sk-v1-YOUR_KEY locally; never include a real key in a response.
#### Claude Code
claude mcp add --scope user neo \
-e NEO_SECRET_KEY=sk-v1-YOUR_KEY \
-- neo-mcpUse --scope project only when the user explicitly wants a repository-local .mcp.json. Open a new Claude Code session after registration.
#### Cursor
Edit ~/.cursor/mcp.json or use Cursor's MCP settings:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}Restart Cursor after editing the file.
#### Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}Reload Windsurf after saving if the server does not appear.
#### VS Code with GitHub Copilot
Create or edit .vscode/mcp.json:
{
"servers": {
"neo": {
"type": "stdio",
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}Use Copilot Agent mode and reload the window.
#### Zed
Add a custom context server named neo to ~/.config/zed/settings.json:
{
"context_servers": {
"neo": {
"source": "custom",
"command": {
"path": "neo-mcp",
"args": [],
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
}#### Continue, Codex CLI, and other MCP clients
Use the client's stdio MCP configuration with:
neo-mcpNEO_SECRET_KEY=sk-v1-YOUR_KEYFor client-specific config shapes, read REFERENCE.md and the client's current documentation. Do not substitute a hosted HTTP server or an npm command in this pip-only flow.
For Claude Code:
claude mcp listThen start a new agent session and ask it to list the Neo tools. Expected core tools include neo_submit_task, neo_task_status, neo_get_messages, neo_get_execution_evidence, and neo_verify_task.
If tools are missing, reload or restart the client before changing the installation.
Use a disposable or user-approved project root. Submit one small task that creates a clearly named file, then follow the lifecycle:
neo_submit_task with the project root as workspace.neo_task_status at a reasonable interval; never tight-loop.neo_get_messages.neo_get_execution_evidence and neo_verify_task with bounded file assertions or acceptance commands.Explain that the daemon runs locally and writes output files into the local workspace. Paths such as /app/project/... in agent messages are backend container paths and are remapped to the local project root.
Diagnose from evidence, one layer at a time:
command -v neo-mcp, python3 --version, and python3 -m pip show neo-mcp.claude mcp list; preserve and redact secrets.neo-mcp doctor and neo-mcp status; capture errors without the key.DAEMON_NOT_RUNNING or sandbox readiness failure, use the documented detached-daemon recovery in REFERENCE.md, then retry once.neo_task_status, then messages and local evidence; do not treat stale backend plans as proof.Common responses:
neo-mcp: command not found: installation or PATH problem; fix that before editing MCP JSON.NEO_SECRET_KEY is required: the client did not pass the environment variable; fix the config and restart.DAEMON_NOT_RUNNING, readiness timeout, or no local files: run diagnostics, recover the detached daemon once, and retry once.For the detailed command matrix and recovery steps, read REFERENCE.md.
Tell the user:
Never include the API key, full secret-bearing config, or unredacted logs.
The daemon auto-starts on the first task submission. Do not ask the user to run it manually unless diagnostics show auto-start failed; use the detached recovery documented in the reference guide.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.