zephex
CLIGet StartedPricingMCP ToolsCommunityGuidesDocs
←BackSign in
CLIGet StartedPricingMCP ToolsCommunityGuidesDocs
Get started freeSign in
DocsAPIToolsEditorsChangelogHelp

GET STARTED

WelcomeQuickstartSetup videoMCP Q&A (learn)BlogWhat is MCP?Plans & PricingZ-GASAB benchmarkBenchmark chart (live)Changelog

INSTALLATION

Terminal tools (complete)Connect MCPVS Code Marketplace extensionCLI (no AI agent)CLI init (first run)CLI account & logoutNPX (Recommended)Terminal CLI referenceCommand CompassCLI commandsCLI in DockerCLI: All editors (one command)CLI: Crush, Hermes, ChatGPT, KiloOAuth & HTTP setupInstall overviewHTTP APISetup WalkthroughHTTP vs stdio

API & KEYS

API Key ManagementKey Naming & FormatAuthenticationKey Dashboard

CONFIGURATION

Universal RequirementsSupported EditorsHow It WorksArchitectureCLAUDE.md TemplateAGENTS.md Template

EDITORS28 guides

Supported EditorsVS CodeVS Code extension (Marketplace)Claude CodeCursorWindsurfJetBrains

PLATFORM

macOSWindowsLinux

TOOLS10 tools

Capabilities OverviewTools OverviewTool FilteringTool Workflowsget_project_contextread_codefind_codecheck_packageloop_guardexplain_architectureZephex_dev_infoscope_taskaudit_headerskeep_thinking

GUIDES

Best PracticesToken EfficiencyUse CasesZephex vs Local MCPZephex vs Context7MCP EcosystemMarkdown Access

SUPPORT

Help CenterMCP troubleshootingTeam rolloutFAQConnection IssuesRate LimitsDowntime & ErrorsBillingTier GuidePro & Max guideUsage LimitsUsage Analytics

LEGAL

SecurityData HandlingPrivacy PolicyTerms of Service

Quick Links

API Reference

Complete API documentation

Troubleshooting

Common issues and solutions

Community

Join our Discord community

Plugins

Editor and CLI integrations

Pricing

Free, Pro, and Max plans

Enter
Zephex_devzephex-devzephexzephexhello@zephex.dev
© 2026 Zephex. All systems operational.

Installation

Command Compass

You don't need to memorize every mcpcli subcommand. Typo something, type a question as a command, or run nonsense input — Zephex shows a short guide with copy-paste commands that work. Same visual style as learn. Local only: no MCP calls and no LLM for routing.

Related: Terminal CLI · Full command reference · CLI without an AI agent · First-run init

After npm install -g zephex, every bin runs the same CLI: mcpcli · zephex · zepx · zphx · mcpz · zepcli · zephx

Why it exists

The problem Command Compass solves

Before Compass, an unknown command often dumped setup boilerplate to stderr — hard to read, nothing you could copy and run. New users would type questions like where is my database and get the wrong tool, or typo learbn and hit a dead end.

Command Compass replaces that with:

  • One best command— "Try this first" with a one-line explanation
  • Two alternates— "Also works" when another tool fits
  • Learn link — always points to the full tool index
  • TTY menu — pick 1, 2, or 3 and Zephex runs it for you

Examples always use your active bin — mcpcli, zephex, or npx zephex — never a hardcoded string that does not match how you installed.

What you see

Example: typo

text
◇ Command compass › not sure what you meant   You typed: "learbn"   Did you mean: learn   │ Try this first  Shows all terminal tools  · mcpcli learn   │ Also works  · mcpcli cli-guide  · mcpcli help   │ See all tools  · mcpcli learn   Pick a number to run (TTY) or copy a command above.

Example: nothing matches

When Compass has low confidence, it still gives you three sensible starters plus learn — not an empty error.

text
◇ Command compass › not sure what you meant   You typed: "totally-unknown-cmd-xyz"   │ Try this first  · mcpcli ask "totally unknown cmd xyz"   │ Also works  · mcpcli get-context  · mcpcli find-code   │ See all tools  · mcpcli learn

Example: phrase routes directly

Strong matches often skip the compass page entirely. The intent router runs the best command before you see a guide — same outcome, fewer steps.

shell
# High-confidence phrase — often no compass screen at all:$ mcpcli where is my databaseUsing local project (142 files from …)… database context brief …
Walkthroughs

Real scenarios

Five situations you will actually hit in the terminal:

ScenarioYou typeWhat happensTip
New user typos learnmcpcli learbnCompass suggests mcpcli learn + cli-guide; TTY lets you pick 1 to run itSame as mcpcli commands — terminal tool index, not editor MCP tools toggle
Question typed as a commandmcpcli where is my databaseOften routes straight to get-context database (no compass screen)If unsure, run mcpcli compass "where is my database" to see all options first
Package upgrade typomcpcli upgrde reactCompass or intent router → mcpcli upgrade reactAdd --run-suggestion on compass to auto-run high-confidence picks
Random keyboard mashmcpcli asdfghjklCompass with ask fallback — not a bogus npm package lookupShort real package names like react still go to check-package by design
Wrong learn topicmcpcli learn supabase-magicCompass page instead of Unknown tool stderrThen try mcpcli learn get_project_context or mcpcli get-context database
Natural-language package safetymcpcli is lodash safeCompass or router → mcpcli check-package lodashPackage name is extracted from is … safe and check … patterns
Topic typo without compassmcpcli databseSpellcheck → get-context database (may skip compass screen)Topic typos on context commands often auto-correct before dispatch
Empty compass subcommandmcpcli compassFull learn index — useful when you forgot the tool name entirelyAdd a phrase after compass when you know roughly what you want
CI / piped stdinmcpcli learbn 2>&1 | tee log.txtGuide prints to stdout; no TTY menu — copy commands from outputUse --run-suggestion only when you trust high-confidence auto-run
TTY pick and re-runmcpcli totally-unknown-cmdPick 1 from menu → same process runs get-context / find-code / learnNo shell respawn; ZEPHEX_COMPASS_REDIRECT blocks a second auto-redirect
How routing works

Decision flow (no AI)

Compass uses a local phrase catalog (35 intents) plus Levenshtein spellcheck. Routing completes in milliseconds with no network call. Multi-word phrases like where is my database are often corrected before you see a compass screen — Zephex runs the right command directly.

text
Your input    │    ├─ Known command? ──────────────────────────► Run it (get-context, find-code, …)    │    ├─ Multi-word phrase matches intent? ─────────► Run best command (e.g. where is my database → get-context database)    │    ├─ Single-token typo close to real command? ──► Compass with "Did you mean"    │    ├─ Unknown subcommand / nonsense? ──────────► Compass guide page    │    └─ TTY + you pick 1–3? ─────────────────────► Re-run that command in-process

Phrase normalization

Before matching, your input is normalized so casual typing still hits the catalog:

RuleExample
LowercaseWhere Is My Database → where is my database
Strip punctuationwhere is my database? → where is my database
Collapse hyphens/underscores to spacesget-contect → get contect
Collapse repeated spacesfind code → find code
Multi-word argv joinedargv ["where","is","my","database"] → phrase match

High vs low confidence

Confidence affects whether --run-suggestion auto-runs and whether the intent router dispatches immediately:

LevelMeaningExamplesBehavior
HighExact or strong phrase match (score ≥ 70), or spellcheck ≥ 80%where is my database · learbn (close typo) · is express safeIntent router may run command directly; --run-suggestion auto-runs best pick
LowPartial phrase overlap or weaker spell matchtotally-unknown-cmd-xyz · vague single wordsShows compass with ask/get-context/learn fallbacks; --run-suggestion does not auto-run

Package name extraction

Upgrade and safety intents attach a package name when you include one in the phrase:

You typeResolves toNote
upgrde reactmcpcli upgrade reactTrailing token after upgrade intent
is lodash safemcpcli check-package lodashis … safe extracts package name
check expressmcpcli check-package expresscheck <pkg> when intent is package-safe
react alonemcpcli check-package reactShort real package names still use check-package (by design)
asdfghjklCompass fallback9+ char nonsense skips bare package route
When it appears

Triggers

WhenExampleResult
Unknown subcommandmcpcli learbnCompass page with Did you mean + runnable examples
Long nonsense tokenmcpcli asdfghjklCompass (not surprise check-package lookup)
Explicit compassmcpcli compass "where is my database"Compass for any phrase
Unknown learn topicmcpcli learn foobarCompass instead of stderr wall
Smart phrase routingmcpcli where is my databaseRuns get-context database directly (no compass needed)
Bare compass (no phrase)mcpcli compassOpens learn index — same as mcpcli learn
Quoted single argvmcpcli "where is my database"Intent router splits phrase → get-context database
help on unknown cmdmcpcli learbn helpCompass (not per-command --help)
Redirect loop guardZEPHEX_COMPASS_REDIRECT=1 + typoExit 1 — prevents infinite re-dispatch
Quick reference

You might type → run this

Top 10 intents — the ones users hit most often:

You might typeTry this firstAlso works
database / db / where is my databasemcpcli get-context databaseShows where your DB is configuredmcpcli find-code "DATABASE_URL" · mcpcli ask "where is my database configured"
auth / login / where is authmcpcli find-code "auth"Find auth and login codemcpcli architecture --topic auth · mcpcli ask "where is login handled"
upgrade / upgrde reactmcpcli upgrade reactUpgrade or audit a packagemcpcli check-package react · mcpcli deps
is lodash safemcpcli check-package lodashCheck if a package is safemcpcli loop-guard lodash · mcpcli deps
what stackmcpcli get-contextProject stack snapshotmcpcli architecture · mcpcli ask "what stack is this"
find / search / where is …mcpcli find-code "your query"Search code across the repomcpcli ask · mcpcli scope-task "your task"
scope / what files for …mcpcli scope-task "your task"Map a task to filesmcpcli find-code "…" · mcpcli get-context
deps / packagesmcpcli depsScan project dependenciesmcpcli check-package express · mcpcli compare lodash ramda
help / commands / what can you domcpcli learnSee all terminal toolsmcpcli cli-guide · mcpcli help
nonsense / asdfghjklmcpcli ask "your question"Fallback when nothing matchesmcpcli get-context · mcpcli learn
Full catalog

All 35 intent routes

Every row below is baked into the CLI. Phrases are matched after normalizing case, punctuation, and spacing. Package names appended to upgrade/check intents (e.g. upgrde react) attach automatically.

Project context

get-context topics — stack, DB, deploy, monorepo

TopicExample phrasesBest commandAlso worksWhat it does
databasedatabase, db, databse, datbase, where is my database, postgres connection, supabase urlmcpcli get-context databasemcpcli find-code "DATABASE_URL" · mcpcli ask "where is my database configured"Shows where your DB is configured
stackwhat stack, tech stack, what framework, what is this project, what kind of appmcpcli get-contextmcpcli architecture · mcpcli ask "what stack is this"Project stack snapshot
frameworkframework, frontend, backend, what framework, next js stackmcpcli get-context frameworkmcpcli architecture · mcpcli depsFramework and stack details
envenv, environment, env vars, dotenv, secrets configmcpcli get-context envmcpcli find-code ".env" · mcpcli ask "where are env vars"Environment configuration
deploydeploy, hosting, production, vercel, railway, rendermcpcli get-context deploymcpcli architecture · mcpcli find-code "deploy"Deploy and hosting setup
scriptsscripts, npm scripts, how to run, start dev, dev servermcpcli get-context scriptsmcpcli get-context start · mcpcli depsRun scripts and dev commands
testingtests, testing, jest, vitest, playwright, test suitemcpcli get-context testingmcpcli find-code "describe(" · mcpcli scope-task "add tests"Testing setup in the project
monorepomonorepo, workspaces, turbo, lerna, pnpm workspacemcpcli get-context monorepomcpcli deps · mcpcli architectureMonorepo layout

Code & architecture

Search, read, map structure, find integrations

TopicExample phrasesBest commandAlso worksWhat it does
authauth, login, authentication, where is auth, sign in flow, session handlingmcpcli find-code "auth"mcpcli architecture --topic auth · mcpcli ask "where is login handled"Find auth and login code
findfind, search, where is, locate, grep, look for, find codemcpcli find-code "query"mcpcli ask · mcpcli scope-task "task"Search code across the repo
read-coderead code, read file, show file, outline file, summarize filemcpcli read-codemcpcli find-code · mcpcli symbolRead or outline a file
architecturearchitecture, how it works, app structure, system design, explain architecturemcpcli architecturemcpcli get-context · mcpcli find-code "router"Architecture map of the app
api-routesapi routes, rest api, endpoints, where are my routes, express routesmcpcli find-code "router"mcpcli architecture · mcpcli get-context backendFind API route definitions
middlewaremiddleware, where is middleware, express middlewaremcpcli find-code "middleware"mcpcli architecture --topic auth · mcpcli read-codeLocate middleware in the codebase
dockerdocker, dockerfile, container, where is dockermcpcli find-code "Dockerfile"mcpcli get-context deploy · mcpcli ask "how is this deployed"Find container and deploy config
cici, github actions, pipeline, workflow, where is cimcpcli find-code ".github/workflows"mcpcli get-context deploy · mcpcli architectureFind CI/CD workflow files
stripe-billingstripe, billing, subscription, payments, checkoutmcpcli find-code "stripe"mcpcli get-context integrations · mcpcli architectureFind billing and Stripe integration
renamerename, rename symbol, rename everywhere, find usagesmcpcli rename "Symbol"mcpcli usages · mcpcli find-codeFind every usage before a rename

Packages & dependencies

Upgrade, audit, compare, safety checks

TopicExample phrasesBest commandAlso worksWhat it does
upgrade-packageupgrade, upgrde, updgrade, update package, bump package, upgrade packagesmcpcli upgrade <pkg>mcpcli check-package <pkg> · mcpcli depsUpgrade or audit a package
package-safeis safe, is it safe, cve check, security check package, check if safemcpcli check-package <pkg>mcpcli loop-guard <pkg> · mcpcli depsCheck if a package is safe
depsdeps, dependencies, packages, package json, npm deps, outdated depsmcpcli depsmcpcli check-package express · mcpcli compare lodash ramdaScan project dependencies
compare-pkgcompare packages, vs packages, lodash vs, package comparemcpcli compare a bmcpcli check-package · mcpcli depsCompare two npm packages
audit-pkgaudit package, migration guide, breaking changes, changelogmcpcli loop-guard <pkg>mcpcli check-package <pkg> · mcpcli upgrade <pkg>Package upgrade audit
check-pkgcheck package, package info, npm package, lookup packagemcpcli check-package <pkg>mcpcli loop-guard <pkg> · mcpcli safe <pkg>Check one npm package

Account & setup

Keys, usage, setup, init, status

TopicExample phrasesBest commandAlso worksWhat it does
historyhistory, again, last command, recent commands, rerunmcpcli historymcpcli again · mcpcli usageRe-run recent commands
setupsetup, connect editor, install mcp, configure cursor, login zephexmcpcli setupmcpcli connect · mcpcli statusConnect Zephex to your editor
accountaccount, api key, keys, usage, billing, logoutmcpcli keysmcpcli usage · mcpcli statusAPI keys and usage
initinit, onboard, getting started, first run, onboardingmcpcli initmcpcli setup · mcpcli learnFirst-run onboarding
docsdocs, documentation, dev info, zephex docsmcpcli docsmcpcli cli-guide · mcpcli learnZephex developer docs
statusstatus, am i connected, is zephex working, doctormcpcli statusmcpcli doctor · mcpcli keysCheck Zephex install and connection

Help & reasoning

Learn index, ask, scope, think

TopicExample phrasesBest commandAlso worksWhat it does
scopescope, what files, which files, files for task, scope task, what to touchmcpcli scope-task "task"mcpcli find-code · mcpcli get-contextMap a task to files
helphelp, commands, what can you do, what can i do, tool list, cli helpmcpcli learnmcpcli cli-guide · mcpcli helpSee all terminal tools
ask-nlask, question, natural language, tell memcpcli ask "…"mcpcli find-code · mcpcli get-contextAsk in plain English
thinkthink, reason, debug think, step by stepmcpcli thinkmcpcli scope-task · mcpcli askStructured reasoning helper
proveprove, verify claim, fact checkmcpcli ask "…"mcpcli find-code · mcpcli check-packageInvestigate a claim in your repo
Common typos

Spellcheck corrections

Close typos show Did you mean on the compass page. Some are also rewritten automatically before dispatch (e.g. get-contect → get-context).

TypoSuggestsTry it
get-contectget-contextmcpcli get-contect
find-coedfind-codemcpcli find-coed auth
upgrdeupgrademcpcli upgrde next
updgradeupgrademcpcli updgrade react
databseget-context databasemcpcli databse
datbaseget-context databasemcpcli datbase
architecurearchitecturemcpcli architecure
scop-taskscope-taskmcpcli scop-task "fix bug"
chekc-packagecheck-packagemcpcli chekc-package express
learbnlearnmcpcli learbn
comandscommandsmcpcli comands
setpsetupmcpcli setp
histroyhistorymcpcli histroy
Commands

How to invoke Compass

shell
# 1 — Typo unknown subcommand → compass automaticallymcpcli learbn # 2 — Explicit compass for any phrase (quoted or spaced)mcpcli compass "where is my database"mcpcli compass upgrde react # 3 — Auto-run best pick (high confidence only, no menu)mcpcli compass "where is my database" --run-suggestion # 4 — Terminal tool index (NOT editor MCP tools toggle)mcpcli commandsmcpcli learnmcpcli learn find_code # 5 — Phrase may skip compass and run directlymcpcli where is my databasemcpcli get-context databasemcpcli databse              # topic typo → database context

Five-minute try (no agent)

shell
npm install -g zephexcd your-appmcpcli learbn                    # see compassmcpcli compass "what stack"      # see suggestionsmcpcli where is my database      # often runs get-context directlymcpcli learn                     # full tool index
Exit codes

Exit codes

CodeWhen
0TTY pick succeeded and re-dispatched command finished OK, or --run-suggestion high-confidence run succeeded
1Guide shown and you exited (0/Esc), redirect loop guard, or re-dispatched command failed
1Compass redirect guard active (ZEPHEX_COMPASS_REDIRECT=1) — caller exits without second compass
TTY menu

Pick a number and run

When stdin is an interactive terminal (not CI, not a pipe), Compass shows a menu after the guide page:

text
What would you like to run?  1  mcpcli get-context database  2  mcpcli find-code "DATABASE_URL"  3  mcpcli learn  0  Exit
  • 1–3 — Re-dispatches in-process (same shell, no npx respawn). Uses ZEPHEX_COMPASS_REDIRECT to prevent loops (max one auto-redirect per session).
  • 0 or Esc — Exit code 1 (guide was shown).
  • CI / scripts — Commands print only; copy from stdout. No menu.
  • Success after pick — Exit code 0 if the re-run command succeeds.

Commands the menu can re-run

Picking from the TTY menu re-dispatches in-process — no new shell. These subcommands are supported today:

get-contextfind-coderead-codeoutlinesymbolarchitecturescope-taskcheck-packageloop-guardupgradedepscompareasklearncommandscli-guidehistorykeysusagesetupconnectinitdocsthink

Anything else prints Cannot run: … and exits 1. Use learn from the menu to find the right tool name first.

Flags

Flags

FlagEffect
--run-suggestionOn high-confidencematch only: run "Try this first" immediately — skips the TTY menu. Useful in scripts when you trust the phrase catalog.
--compass-runAlias for --run-suggestion.
Compare

Compass vs learn vs ask vs help

CommandUse whenCalls MCP?TTY menu?
mcpcli learnYou want the full menu of tools and examplesNoNo
mcpcli commandsSame as learn — terminal discovery aliasNoNo
mcpcli compass …You typed wrong input and need the right command nowNoYes (TTY)
mcpcli ask "…"You have a plain-English question about the repoYesSometimes
mcpcli help / mcpcli cli-guideLong-form reference and account/setup topicsNoNo
mcpcli toolsEnable/disable MCP tools in your editor config — different from commandsNoNo
FAQ

FAQ

Does Command Compass use AI?

No. Routing uses 35 local intent phrases plus Levenshtein spellcheck. Compass itself never calls MCP and never calls an LLM.

Why does react still run package check?

Short tokens that look like real npm package names still route to check-package — that is intentional. Long nonsense tokens (9+ characters with no spell match, e.g. asdfghjkl) show Compass instead of a surprise registry lookup.

What is the difference between commands and tools?

mcpcli commands and mcpcli learn show the terminal tool guide (copy-paste examples, no API). mcpcli tools lists and toggles which MCP tools are enabled in Cursor, Claude, VS Code, etc.

Can I use Compass in CI?

Yes — output is on stdout and is copy-paste friendly. There is no TTY menu in pipes. Use --run-suggestion only when you accept auto-running a high-confidence command. Exit 1 unless a picked/rerun command succeeds.

How is this different from find-code tools?

Appending tools or help after a knowncommand opens that tool's learn screen. Compass handles unknown input and cross-tool suggestions.

Where is the source of truth?

Intent phrases live in mcp-proxy/src/lib/cli-command-intents.ts. UI in cli-command-compass.ts. This docs page mirrors dashboard/src/lib/cli-docs-inventory.ts.

Why did my phrase run a command instead of showing Compass?

High-confidence intent matches in applyIntentRouting rewrite argv before dispatch — that is intentional. Run mcpcli compass "your phrase" when you want to see all three suggestions without auto-running.

Does Compass work without an API key?

Yes for the guide itself — routing and the compass page are local. Commands you pick from the menu (e.g. get-context, ask) follow their normal auth rules and may prompt for setup if no key is stored.

What if I run compass with no arguments?

mcpcli compass opens the full learn index — same as mcpcli commands. Add a phrase when you want targeted suggestions.

Troubleshooting

Common issues

  • Menu does not appear — stdin is not a TTY (CI, pipe, or agent subprocess). Copy commands from stdout instead.
  • Compass redirect loop prevented — you already picked once this session. Run the suggested command directly in your shell.
  • Short token went to check-package — real package names like react are intentional. Use mcpcli compass react for alternatives.
  • --run-suggestion did nothing — only fires on high confidence. Low-confidence input still shows the guide.
  • Wrong bin in examples — Compass uses your active invoke prefix (mcpcli, zephex, npx zephex). Docs tables use the same helper.
Next

Where to next

  • Terminal CLI (Mode 2) — get-context, find-code, monorepos, flags
  • CLI commands — full reference + discovery hints
  • Terminal tools complete guide — deep dives per tool
  • Account & logout — setup, keys, usage