Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Zephex

REMOTE · ZEPHEX.DEV · SCANNED AUG 3

MCP gateway with 10 tools for code analysis, architecture, package audit & security.

Available components

+12 this week 72 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security97
Transport & Reachability100
Schema Quality & AI Usability19
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 6579 tokens (~657/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · zephex.dev

# add to Claude Code
claude mcp add --transport http tanbir404-zephex https://zephex.dev/mcp
# ~/.codex/config.toml
[mcp_servers.tanbir404-zephex]
url = "https://zephex.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tanbir404-zephex": {
      "type": "remote",
      "url": "https://zephex.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tanbir404-zephex --url https://zephex.dev/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  tanbir404-zephex:
    url: "https://zephex.dev/mcp"
// mcp.json
{
  "mcpServers": {
    "tanbir404-zephex": {
      "type": "http",
      "url": "https://zephex.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +8
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 59

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://zephex.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=zephex.dev CN=YR1,O=Let's Encrypt,C=US 10 Jul 2026 8 Oct 2026 RSA 2048 SHA256-RSA 5824ffc1d351a555c64f8f4376e72a7e021
SANs: zephex.dev
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of zephex.dev. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
zephex.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer error="invalid_token", error_description="Authentication required for this tool", resource_metadata="https://zephex.dev/.well-known/oauth-protected-resource", scope="openid profile email offline_access"

Bearer error="invalid_token", error_description="Authentication required for this tool", resource_metadata="https://zephex.dev/.well-known/oauth-protected-resource", scope="openid profile email offline_access"
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
content-security-policy default-src 'self'; base-uri 'self'; frame-ancestors 'none'; object-src 'none'; script-src 'self' 'nonce-B3f3xw26w4GwfNXfkS6/2g==' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://js.stripe.com https://us.i.posthog.com https://*.posthog.com https://v8.js-dos.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data: https://r2cdn.perplexity.ai; frame-src 'self' http://localhost:5173 https://desktop.zephex.dev https://infinitemac.org https://www.google.com https://www.gstatic.com https://recaptcha.google.com https://js.stripe.com https://checkout.stripe.com https://billing.stripe.com https://www.youtube.com https://www.youtube-nocookie.com https://youtube.com https://open.spotify.com https://embed.spotify.com; connect-src 'self' https://api.stripe.com https://*.supabase.co wss://*.supabase.co https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://*.sentry.io https://us.i.posthog.com https://*.posthog.com https://i.copy.sh https://
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), interest-cohort=(), payment=(self), usb=(), magnetometer=(), gyroscope=(), accelerometer=()

Protected resource metadata

Document https://zephex.dev/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://zephex.dev/mcp
Authorisation server https://zephex.dev
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://zephex.dev/mcp Verified 200
http (plaintext) http://zephex.dev/mcp HTTPS enforced 308 https://zephex.dev/mcp
MCP tools — 10 exposed · ~5,973 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
audit_headers ~646

Audit a public HTTPS URL the user deployed — security grade A–F, SSL, headers, cookies, health (ALIVE/DEGRADED/BROKEN), exposed secrets, tech stack. Read plain_summary first; only drill into security_headers or secrets if grade is poor. quick ~1–3s; scan_depth=deep for secret scan (~8–12s). 6 credits hosted. Call when user pastes a live URL — post-deploy check, is it secure, what framework, exposed keys. Blocks localhost/private IPs. NOT for repo code (find_code), packages (check_package), tests (check_test), or project layout (get_project_context). Example: audit_headers({ url: 'https://myapp.vercel.app' }). Read-only.

NameTypeReqDescription
check_apisbooleanProbe /api/health and common API paths — adds ~1-2s (default: false)
check_cookiesbooleanCheck cookie Secure/HttpOnly/SameSite flags (default: true)
check_headersbooleanGrade all security headers and return fix snippets when include_fix_snippets=true (default: true)
check_healthbooleanSite health: verdict, trust score, load time, page title (default: true)
check_networkbooleanHTTP network timing table — slow requests, API probes (default: true)
check_redirectsbooleanFollow and audit the full redirect chain (default: true)
check_secretsbooleanSecret scan: HTML/JS keys, exposed .env/.git, GraphQL (default: true; depth via scan_depth)
check_sslbooleanCheck SSL certificate validity, expiry, and protocol (default: true)
check_techbooleanTech stack: framework, hosting, CDN, third-party (default: true)
focusstringTrim output layers (default: all)
include_fix_snippetsbooleanInclude Nginx/Vercel/Next fix snippets — token-heavy (default: false)
pathstringOptional subpath (e.g. /checkout) — appended to url
probe_enginestringfetch=HTTP only (default); browser=headless Chrome on Zephex servers for console errors + browser network (falls back to fetch with warning if unavailable)
scan_depthstringquick=light scan, 3 bundles (default); deep=full supply URL phase with JWT decode, source maps, verification (~8-12s)
scan_modestringquick=~1-3s (default); thorough=DNS+APIs+secrets ~5-12s
security_depthstringbasic=fast (default); full adds DNS SPF/DMARC/DKIM + HSTS preload lookup
timeout_msnumberMax scan time in ms (default: 8000, max: 15000)
urlstringyesPublic https:// URL to audit — e.g. https://myapp.vercel.app or https://zephex.dev

No output schema declared.

No examples provided.

check_package ~396

Check a public registry package before install or version bump — frameworks (next, react, vite), payments (stripe), auth (next-auth, clerk), ORMs (prisma, drizzle). task=check: exists, slopsquat, deprecation, CVEs (pass version); task=upgrade|migrate: breaking_changes + migration_steps from release notes; task=security: CVEs for your version. Returns summary, data, next_calls, meta.credits (5 hosted). No project path — just package name + version. Call BEFORE npm install or bumping next/stripe/prisma. NOT for repo layout (get_project_context), import search (find_code), tests (check_test), architecture (explain_architecture), live URLs (audit_headers). Example: check_package({ package: 'next', task: 'upgrade', from_version: '14.2.0' }). Read-only.

NameTypeReqDescription
channelstringINTERNAL: Zephex terminal CLI only. Agents must omit — returns richer fields than agent-safe JSON.
cli_depthstringINTERNAL: CLI terminal depth. Agents must omit.
ecosystemstringRegistry (default npm, auto-detected). Omit for next/stripe/prisma.
from_versionstringVersion you are upgrading FROM — required for task=upgrade|migrate.
packagestringyesPackage name on the public registry — e.g. next, stripe, prisma, express, @supabase/supabase-js.
sourcestringOptional. local = read pinned version from disk (stdio only). Prefer passing version/from_version directly.
taskstringcheck=safe to add? upgrade|migrate=bump plan; security=CVEs; debug=advisories+detail.
versionstringYour installed/pinned version — required for CVE check on task=check|security.

No output schema declared.

No examples provided.

check_test ~731

Run tests and return structured health — fix_first, broken_areas, failure_clusters, coverage_by_area, blind_spots, deploy probes. Not for finding which files to edit (find_code). Workflow: task=detect (0 credits — framework, command, test file count, missing-test gaps) → task=run once (1 credit hosted on success) → task=failures|missing|why|status|fix_prompt on session_id (0 credits, cached session, no re-run). task=missing scans git diff for source files without tests (0 credits, no suite run). meta.credits and meta.charges_usage show billing. Read summary and fix_first first; detail_level=brief on PASS. Call after every substantive edit, when user asks if tests pass or if tests are missing, or before push. Pass diff_base: main for failures_in_diff. area/file_filter scopes re-runs after a full run. Local stdio: absolute project path (runs on your machine). Hosted: public GitHub URL or inline_files — not local disk paths. NOT for symbols (find_code), packages (check_package), stack brief (get_project_context), URL audit (audit_headers). Example: check_test({ task: "detect", path: "/abs/my-app" }) then check_test({ task: "missing", path: "/abs/my-app" }) then check_test({ task: "run", path: "/abs/my-app" }). Does not modify source.

NameTypeReqDescription
areastringScope to module/area name derived from test paths (e.g. proxy, auth, handlers)
commandstringOverride auto-detected test command
coverage_topnumberMax files in coverage slice
detail_levelstringToken budget: brief <500 tokens on PASS; agent default; full=all slices
diff_basestringGit branch for patch coverage and failures_in_diff (e.g. main) — use after edits
failed_onlybooleanRe-run only tests that failed in the prior session
file_filterstringSubstring or glob fragment to filter test_files (e.g. auth, handlers)
include_flakybooleanInclude flaky test hints from local history
include_missingbooleanGit-diff scan for source files without matching tests (default true on detect and when diff_base set)
inline_filesobjectHosted fallback when github is unavailable: { "package.json": "...", "src/foo.test.ts": "..." }. Supports task detect and task run (temp dir on Railway). Include package.json with scripts.test.
limitnumberMax rows for task:history (1–20)
pathstringProject root — absolute path (stdio) or public GitHub URL (hosted). Required for run/detect/missing (or session_id for missing).
questionstringNatural-language follow-up for task:why (e.g. "what failed in proxy?")
session_idstringPass back from prior response (ts_*) for session tasks without re-running
taskstringdetect=0 credits (inventory+gaps); missing=0 credits (test gaps only); run=1 credit hosted; failures|why|status=0 credits on session_id.
timeout_msnumberMax run time ms (default 1800000 stdio, capped 600000 hosted)
with_coveragebooleanCollect lcov coverage (default true)

No output schema declared.

No examples provided.

explain_architecture ~701

Maps how files connect across a subsystem — roles and import edges, not file bodies. Ripgrep + import-graph analyzers; detects framework, language, architecture_type. Envelope: focus, summary, hint, data, related_focus, next_calls, meta (meta.cache_hit, meta.tokens_returned, meta.credits, meta.charges_usage). Hosted: 7 credits per success; failures free. Cheapest path: mode overview + concern or seed_files — ~1.5–4k tokens, replaces 10+ blind read_code file opens. Repeat identical calls hit server cache (meta.cache_hit) until force:true. Expensive: mode deep or audit on whole monorepo — use subpath. >10k files auto-degrades to overview. data: entry_points, layer_map, concern_cluster (with concern or seed_files[]), integration_map, auth_flow, dependency_graph; deep adds request_flows + Mermaid; audit adds anti_patterns + health_score. dimension_confidence per slice; warnings on low confidence. focus: api|auth|integrations|database|security|data_flow|error_handling|full. Pass concern (any label) or seed_files[] (1–20 from find_code). subpath scopes monorepos. Call BEFORE cross-cutting edits — how a feature spans modules, where to patch. Do NOT for stack (get_project_context), search (find_code), bodies (read_code), tests, packages, live URL. After: next_calls → read_code outline on hub files. Read-only.

NameTypeReqDescription
concernstringAny subsystem label (folder name, feature codename, module). Uses find_code concept search + import graph — not a fixed keyword list. Returns roles, edges, symbols (no file bodies).
detail_levelstringLegacy alias for verbosity
excludearrayOptional glob patterns to exclude from ripgrep (vendor, build, etc.).
focusstringWiring slice. Default: api. auth=validation chain, integrations=external SDK touchpoints, database=ORM, security=auth+errors, full=all analyzers.
forcebooleanBypass architecture result cache. Default false.
inline_filesobjectFallback for remote transports. Shape: { "": "" }. Include 10-50 SOURCE files (entry points, routes, middleware, auth, DB setup) plus package.json. For local stdio, prefer 'path'.
modestringoverview=fast wiring map (no AST flow trace), deep=request_flows + sequenceDiagram, audit=anti_patterns + health_score. Default: overview
pathstringWhere the project lives. Stdio MCP: absolute path to the project directory on disk. Hosted transport without local disk: use inline_files (10–50 source files + package.json).
project_pathstringAlias for 'path' (some clients pass this name). Accepts the same values.
seed_filesarray1–20 paths from find_code — graph expands to related modules. Use with or without concern.
subpathstringMonorepo scope — analyze only this subdirectory (e.g. apps/api). Faster than whole repo.
verbositystringOutput size. minimal=core only, standard=default, full=adds constraints + state_management. Alias: detail_level

No output schema declared.

No examples provided.

find_code ~481

PREFER over native Grep when location is unknown. Ripgrep + AST ranking across web, mobile, CLI, and monorepos. Envelope: intent, focus, summary, data.matches, files_hit, next_calls, meta.credits (5 hosted). intent: snippet=pasted line; symbol=known name; concept=topic+also_try synonyms; everywhere=rename map (whole_word). include docs|config|data when markdown, JSON, or SQL matter. Call when: where is X, usages, rename prep. DO NOT: known symbol+file (read_code), stack/scripts (get_project_context), wiring (explain_architecture), tests (check_test), packages (check_package), URL audit (audit_headers). After: read summary + next_calls → read_code on top hit. path=absolute dir (stdio) or public Git URL / inline_files (hosted). Token-capped vs raw grep. Read-only.

NameTypeReqDescription
also_tryarrayExtra keywords merged in parallel. concept=topic synonyms. everywhere=rename variants (crystal, CRYSTAL, crystal-app).
case_sensitivebooleantrue = match exact casing (Crystal vs crystal). Default false.
file_patternstringCustom glob; overrides include. Examples: src/**/*.ts, **/*.md.
includestringLimit file types. code=src. docs=md/readme. config=json/yaml. data=sql/prisma. all=default.
inline_filesobjectHosted MCP only: {"path/to/file.ts": "file contents"}. Use when path disk is unavailable.
intentstringSearch mode. snippet=paste exact line. symbol=find definition. concept=topic hunt. everywhere=all hits before rename.
pathstringProject folder to search. Local MCP: absolute path (/Users/jane/myapp). Hosted MCP: public GitHub URL or inline_files.
querystringyesRequired. Text to find: pasted editor line, symbol name (validateToken), or topic keyword (encrypt).
response_formatstringconcise=line preview per hit. detailed=full function/class block when AST available.
whole_wordbooleanWith intent everywhere. true = whole word only (Crystal not Crystalline). Use before renames.

No output schema declared.

No examples provided.

get_project_context ~614

Scans manifests and config — one topic slice per call. Detects stack, scripts, monorepo, API routes, auth/DB providers, integrations, env vars. Secret-sanitized. Workflow: topic=identity first on new repo → follow next_calls (framework, run, structure). Topics: identity, framework, backend, frontend, database, auth, deploy, run, structure, integrations, security, overview. brief ≤500 tokens; standard adds version health; full adds file tree. 7 credits hosted. Every response: topic, focus, summary, data.key_paths, hint, related_topics, next_calls, meta.credits. Use data and next_calls — never invent commands. Call when: new session; user asks stack, scripts, or how to run/test/build. Do NOT: symbol search (find_code), file bodies (read_code), wiring (explain_architecture), tests (check_test). Pass path (absolute project dir) or inline_files (package.json + 2-4 source files). force:true refreshes cache. Read-only.

NameTypeReqDescription
detail_levelstringOutput tier: "brief" (default, ≤500 tokens), "standard" (full fields), "full" (all fields + file tree)
focus_onstringSubdirectory to focus the file tree scan on (e.g. 'src/tools')
forcebooleanSet true to re-detect even if cached (use when project changed)
include_structurebooleanWhen true, includes file tree in response (also triggered by detail_level: full)
inline_filesobjectPrimary way to supply code. Shape: { "": "", ... }. The VALUE is the actual file body — never a filename, path, or placeholder. Example: { "package.json": "{\"name\":\"my-app\",\"dependencies\":{...}…
pathstringAbsolute path to the project root. Stdio MCP reads manifests from disk directly. Omit on stdio when editor cwd is the project root.
structure_depthnumberMax folder depth for file tree scan (default: 3, max: 6)
topicstringWhich slice to return (one per call). identity=project name/type + which topics apply; run=dev/test/build/lint commands; framework=language/runtime/package manager; backend=API routes and server entr…

No output schema declared.

No examples provided.

keep_thinking ~588

Structure multi-step debugging and planning across tool calls — not a one-shot think. Tracks hypotheses, observations, plans; detects loops via lastActions; riskLevel high/critical blocks dangerous edits (drop table, prod deploy). Loads projectBrief (stack, key_paths, project_memory recall) on local project. On close, suggestedRemember → call project_memory remember. 4 credits hosted. Hard cap 10 thoughts/session. Call when: stuck after 2+ failed debug attempts, auth/billing/schema change spans 3+ files, flaky test you cannot explain, or you need a plan before editing. Pass lastActions (2–5 recent tool calls), goalAnchor after thought 2, sessionId to resume, area for subsystem. NOT when fix is known, single typo, repeating without new evidence, or session ended (nextThoughtNeeded:false). Read thoughtConfirmed and shouldContinue first. Legacy alias: thinking. Example: keep_thinking({ thought: 'Hypothesis: refresh token not rotated in middleware', thoughtType: 'hypothesis', thoughtNumber: 1, totalThoughts: 5, nextThoughtNeeded: true, confidence: 0.6, goalAnchor: 'Fix auth logout loop', lastActions: ['find_code(query=refreshToken)', 'read_code(target=authMiddleware)'], area: 'auth' }). Read-only.

NameTypeReqDescription
actionReadybooleantrue when done planning and about to execute edits.
areastringSubsystem (auth, billing, api) — scopes project_memory recall.
assumptionsarrayUp to 5 assumptions; set invalidated:true when contradicted.
confidencenumberyes0–1. Below 0.5 forces revision. Above 0.85 safe to proceed.
goalAnchorstringOne sentence restating the task — required after thought 2.
lastActionsarrayLast 2–5 tool calls as name(arg=val) — identical pair triggers boredLoopDetected.
nextThoughtNeededbooleanyesfalse ends session and writes checkpoint.
projectPathstringLocal project root (stdio defaults to cwd) for projectBrief.
revisesintegerThought number this revision replaces.
sessionIdstringResume prior session; restores checkpoint on thought 1.
thoughtstringyesReasoning (20–2000 chars) — file names, symbols, error messages.
thoughtNumberintegeryes1-based thought index in this session.
thoughtTypestringyeshypothesis|debug for investigation; plan|conclusion before acting.
toolOutputRelevancestringClassify last tool result — 3+ noise/error in last 5 triggers loop.
totalThoughtsintegeryesEstimated thoughts needed (revise upward if needed).

No output schema declared.

No examples provided.

project_memory ~598

Persists short notes about this project across chat sessions — facts you learned that are not in source code. Not a repo scanner (use get_project_context for stack). remember: saves title (max 80 chars), content (max 500 chars), type, optional area/tags — rejects API keys, tokens, and instruction-poisoning text. recall: keyword search over title/content/area/tags; returns up to 5 matches with content, type, area, age_days (~500 token cap). list: recent titles. forget: delete by uuid. Max 200 memories per project. Types: decision (why we chose X), gotcha (surprise bug), goal (current objective), preference (user style), area_fact (subsystem fact), convention (naming/rules). scope: project (default), personal (cross-project notes), all (search every project with warnings). Call when: user says remember/recall/last time; before auth/billing/deploy where past choices matter; after a non-obvious fix worth saving; new session on same repo. Do not call when: stack/scripts (get_project_context), finding code (find_code), fact already in this chat. After recall: apply matches directly — do not re-scan the repo. Use the same path on remember, recall, and list (stdio: optional, uses cwd). Stdio stores in ~/.zephex SQLite; hosted stores in cloud per user.

NameTypeReqDescription
actionstringyesremember=save a fact, recall=keyword search, list=recent titles, forget=delete by id
areastringSubsystem label (auth, billing, deploy) — included in search index for scoped recall. Max 64 chars.
contentstringRequired for remember. Max 500 chars. Paraphrase, not file dumps.
idstringRequired for forget. Memory uuid.
limitnumberrecall/list cap. Default 5, max 10.
pathstringProject bucket — use the same absolute path on remember, recall, and list. Stdio: optional (defaults to editor cwd). Hosted: reuse normalized_path from the remember response.
querystringRequired for recall. Short keywords from the title or topic (e.g. auth middleware stripe).
scopestringproject=current DB, personal=~/.zephex personal, all=cross-project with warnings.
tagsarrayOptional lowercase tags. Max 10.
titlestringRequired for remember. Max 80 chars.
typestringRequired for remember. decision=chose an approach; gotcha=non-obvious bug; goal=what we are building toward; preference=user style; area_fact=fact about a subsystem; convention=naming or process rule.
written_bystringWho authored this memory.

No output schema declared.

No examples provided.

read_code ~929

Extracts code surgically via tree-sitter AST — not repo-wide search. Eight modes; envelope: mode, focus, summary, data, hint, related_modes, next_calls, meta (meta.tokens_returned, meta.credits, meta.charges_usage). Hosted: 5 credits per success; failures free. Cheapest path: mode file or outline with files[] you already have — ~300–2000 tokens vs full-file Read (data.tokens_saved_vs_full_files). Expensive: mode symbol without find_code first on large repos (may scan many files). Free alternative: editor Read on files under ~50 lines. symbol: fuzzy match by name; symbol_id direct lookup; detail_level signature|body|context; targets[] batch (max 8). file: batch 1–20 paths, paginate offset_line. outline: TOC + plain-English overview before 300+ line files. scan/smell: keyword or bug patterns across known files[] only. callers|blast_radius|dead_code: local SQLite call-graph (index builds after first symbol call on that path) — not on hosted without disk; use find_code for remote usage search. Call when: symbol or files[] known (from find_code or explain_architecture next_calls). Do NOT when: location unknown (find_code); stack (get_project_context); wiring map (explain_architecture); repo-wide grep (find_code). Pass path (absolute dir) or inline_files. compact:true saves tokens; session_id dedupes across turns. After: summary + next_calls before paging. Read-only.

NameTypeReqDescription
compactbooleanWith mode:file|symbol. true = omit line numbers to save tokens.
confidence_thresholdnumberWith mode:symbol. Min match confidence 0–1 (default 0.5). Raise 0.8 for exact; lower 0.3 to explore.
context_pathstringWith mode:symbol. File path hint for ranking (e.g. src/auth.ts when repo has many auth symbols).
detail_levelstringWith mode:symbol. signature=~100 tokens. body=full implementation (default). context=body+imports.
filesarrayWith mode:file|outline. Relative paths — from find_code hits. File mode: every path returns in one call (truncated per file if large, never dropped).
inline_filesobjectWhen path disk is unavailable: {"src/auth.ts": ""}. Hosted/private transport fallback.
kindstringWith mode:symbol. Filter to one symbol kind — disambiguate class vs method with same name.
limit_linesnumberWith mode:file. Max lines per file. Default: budget-based; set for pagination slices.
max_resultsnumbermode:symbol — max symbols (default 3, max 10). mode:scan|smell — max hits returned (default 30, max 100).
max_tokensnumberResponse size cap (default 2000, max 8000). File batch auto-shares across paths. Lower only if context is tight.
modestringsymbol=AST extract by name (default). file=batch read files[] (all paths return). outline=file TOC. scan=keyword/pattern hits across files[] (use target or targets). smell=bug-pattern pass on files[]…
offset_linenumberWith mode:file. Start line (1-indexed). Use after batch read when data.hint says truncated.
pathstringProject root. Stdio MCP: absolute path to the directory on disk. Hosted transport without local disk: use inline_files instead. Pair files[] paths from find_code.
session_idstringDedup across turns — symbols already returned get a stub with symbol_id instead of full body.
symbol_idstringWith mode:symbol. Direct lookup ID from a prior hit (e.g. src/auth.ts::validateUser#function). Skips fuzzy search.
targetstringmode:symbol|callers|blast_radius — symbol name (fuzzy). mode:scan — keyword or regex to find across files[].
targetsarraymode:symbol — batch symbol names (max 8, set max_results:10). mode:scan — multiple keywords in one pass across files[].

No output schema declared.

No examples provided.

Zephex_dev_info ~289

Expert developer playbooks — not your repo. Stripe webhooks & checkout, Supabase RLS, Next.js auth (clerk, next-auth), payment flows, CSP/HSTS, deploy patterns. operation=search finds entries by question; operation=get returns full guidance by slug from search. Read summary and checklist first. 2 credits hosted. No project path. Call when standard patterns beat guessing — wiring stripe checkout, fixing auth middleware, Supabase RLS policies, hardening after audit_headers. Use AFTER repo tools if code context is still thin. NOT for user's codebase (get_project_context, find_code, read_code), registry packages (check_package), tests (check_test), live URL (audit_headers), or saving decisions (project_memory). Example: Zephex_dev_info({ operation: 'search', query: 'Stripe webhook raw body verification', category: 'payments' }) then get with returned slug. Read-only.

NameTypeReqDescription
categorystringOptional search filter — payments, auth, security, databases, etc.
operationstringsearch=find by query (first step); get=full entry by slug from search.
querystringRequired for search — e.g. 'Supabase RLS for multi-tenant' or 'Next.js middleware auth'.
slugstringRequired for get — exact slug from a search hit.

No output schema declared.

No examples provided.