Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/deephaven/deephaven-mcp/ref-project-referencenpx skills add deephaven/deephaven-mcp --skill ref-project-referencegit clone --depth 1 https://github.com/deephaven/deephaven-mcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00043 | $0.04551 |
| Opus 5 | $0.00022 | $0.02276 |
| Sonnet 5 | $0.00009 | $0.00910 |
| Haiku 4.5 | $0.00004 | $0.00455 |
Grade A, and why
ref-project-reference scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deephaven MCP Repository Reference
Architecture and Key Files
src/deephaven_mcp/mcp_systems_server/server.py— Multiplexed systems server entry point (main()); CLI parsing, transport selection, PSK resolution.src/deephaven_mcp/mcp_systems_server/_lifespan.py— FastMCP lifespan factory: buildsMultiSystemRegistryfromConfigTree, starts oneEvictorper child registry.src/deephaven_mcp/auth/middleware/_psk.py—PSKMiddleware: Starlette middleware gating inbound HTTP requests on a single shared PSK (X-Deephaven-PSKheader). Mounted by the systems server's HTTP transport; reusable by other MCP servers.src/deephaven_mcp/auth/credentials/— Outbound credential dataclasses passed toCorePlusSessionFactory.from_credentials.src/deephaven_mcp/mcp_systems_server/_tools/— MCP tool modules. All registered on the single multiplexed server:session,table,script,session_community,session_enterprise,catalog,pq. Shared helpers inshared.py. Tools that name a system take asystemargument; tools that take anid(<type>:<system>:<name>) parse the system out of it. There is nomcp_reloadtool — config changes require a restart.src/deephaven_mcp/mcp_docs_server/— Docs MCP server for documentation Q&A.src/deephaven_mcp/config/— General-purpose config primitives reusable by any MCP server:_file_loader.py(async JSON5 reader +ConfigurationErrorwrapping),_templating.py(${env:VAR}/${env:VAR:-default}/${file:PATH}placeholder engine),_data_root.py(resolve_data_root— the sole reader ofDH_AI_DATA_DIR, keyed onsys.platformfor the per-OS default),_config_dir.py(theconfig/subdir under that root),_store.py(ConfigStore— file-level read/modify/write that thedhcli configauthoring verbs go through, so they never need a full-tree load),_dir_permissions.py(verify_config_directory_permissions— the startup policy: existence/is-dir checks, refuse-to-start, and aggregation of audit violations into oneConfigurationError; the per-OS audit mechanics are delegated to_platform.dir_permissions.audit_tree).src/deephaven_mcp/_platform/— OS abstraction layer (HAL): the single home for code that branches onos.name._os_support.py(leaf module —SUPPORTED_OS_NAMES = frozenset({"posix", "nt"})plusunsupported_os_error(component), the one dispatch-error factory every site uses),fsutil.py(advisory file locking, atomic private writes, Windows-retry filesystem helpers),spawn.py(spawn_detacheddetached-process launcher —start_new_sessionon POSIX,creationflagson Windows, fail-fastInternalErrorotherwise),dir_permissions.py(harden_private_dir+audit_tree, with per-OS_harden_*/_audit_*impls). The package__init__.pyis docstring-only and imports no submodules (cycle-safety); submodules import the contract from the leaf._os_support. Note:sys.platform-keyed path/venv resolution (config/_data_root.py,resource_manager/_launcher.py) is a different axis and intentionally stays in its domain modules.src/deephaven_mcp/config/schema/— Pydantic section schemas for the whole product (consumed by both the systems server and thedhcliCLI): the per-section schema/loader modules_server.py(ServerConfig+DaemonProcessConfig),_cli.py(CliConfigand the nested groups it composes —OutputConfig,DaemonControlConfig,RequestConfig,DocsConfig,ContextConfig, plus their timeout and policy types),_community.py,_enterprise.py(each owns its umbrella schema andload_<section>function), plus the tool-tunable schemas_response_limits.py(ResponseLimits) and_pq_config.py(PqToolsConfig) embedded by the community/enterprise schemas.src/deephaven_mcp/config/tree.py—ConfigTree(mirrors the on-disk layoutserver.json,cli.json,community/,enterprise/one-for-one; the canonical aggregator type) andConfigTreeLoader(walks the configuration directory and produces a validatedConfigTree). Lives at the top of theconfigpackage so bothcliandmcp_systems_serverdepend on it without depending on each other;config/__init__.pystays primitives-only soimport deephaven_mcp.configdoes not pull in the schema graph.src/deephaven_mcp/resource_manager/_registry_multi.py—MultiSystemRegistry: composite registry over one community child + one enterprise child per configured system; routes session-id reads to the correct child.src/deephaven_mcp/cli/— ThedhcliCLI (click + Pattern B)._main.py(root group),_commands/{daemon,tool,session,system,table,catalog,pq,docs,config,context,agents,self_cmd}.py(noun groups;daemonfor daemon lifecycle,toolis the raw MCP escape hatch,configreads and authors the local config tree, the runtime nounssession/system/table/catalog/pqwrap specific MCP tools,docsconnects directly to the docs MCP server (no daemon),contextmanages the sticky default id,agentsemits machine-readable CLI metadata,self_cmdis theselfnoun group for tool self-management — today thecompletionverb printing shell tab-completion scripts),_async.py(run_asyncasync-to-sync adapter),_errors.py(CliError+ErrorCoderegistry),_help.py(HelpSpechelp vocabulary,build_helprendering, and theHelpfulMetametadata base),_command.py(HelpfulCommand/HelpfulGroup, carrying the runtime-load hook and the--agentsinjection),_manifest.py(the agents manifest builders:build_manifest/build_summary_tree/describe_command),_params.py(the CLI-wide blank-value guard andNonBlankPath),_format.py(human/json/json-pretty/yaml renderers),_echo.py(printing a payload in the active output mode —echo_payload(runtime, ...)readsruntime.config.cli.output.format;echo_payload_no_runtime(ctx, ...)reads the root-ofor callers that run before the config load, i.e.needs_runtime=Falseverbs and the eager--agentscallback),_runtime.py(resolvedRuntimecontext onctx.obj),_context.py(ContextStorepersisting the sticky default id to<runtime_dir>/context.json, plus theresolve_context_value/require_context_value/require_context_targetresolution helpers and the single-sourcedCONTEXT_HINT/CONTEXT_RISK_*help strings),_daemon/(daemon-lifecycle package:_lifecycle.pyorchestration coreget_or_start_daemon(ctx, ...) -> DaemonRegistryEntry/stop_daemon(directory, *, kill_after_seconds); commands build theDaemonContextfrom aRuntimeviaDaemonContext.from_runtime(runtime)and read tunables fromruntime.config.cli.daemon; the OS-specific spawn mechanic is delegated to_platform.spawn.spawn_detached),_mcp_client.py(loopback HTTP client). Async handlers must be wrapped with@run_async— seeref-python-coding-practicesrule 15 and thecli-command-addskill.src/deephaven_mcp/daemon_registry.py— Shared wire contract between the CLI and a local daemon process.DaemonRegistryEntry(Pydantic model fordaemon.jsonwith field-level invariants —Literal["127.0.0.1"]host, port range,AwareDatetimestarted_at, etc.; the recorded(pid, create_time_ns, process_name)triple is exposed as aProcessIdentityvia the.identityproperty, andDaemonRegistryEntry.is_live()is the single PID-reuse-safe liveness predicate shared by the CLI lifecycle and the server's registry-publish refusal),DaemonDirectory(typed handle to<runtime_dir>/daemon/exposingregistry_path/lock_path/log_pathand atomic registry CRUD viatempfile.mkstemp),RegistryCorruptError, and filename constants. Imported by bothmcp_systems_server(daemon entry point writes the registry) andcli(spawn/poll/stop reads it; reachable viaruntime.daemon_dir).src/deephaven_mcp/_processes.py— Portable process primitives (noos.namebranch; stays top-level rather than under_platform).ProcessIdentityvalue object: a frozen(pid, create_time_ns)pair that anchors all PID-reuse-safe operations on a process. Providesis_alive(),send_signal_safely(sig) -> SignalOutcome(DELIVERED/GONE/DENIED/RECYCLED), andcapture(pid, process_name)for first-publish capture. The recordedcreate_time_nsis compared by integer equality (no float drift). Replaces the_capture_create_time/_send_sigterm/_force_kill/_process_still_runninghelpers that previously had to trade a raw(pid, create_time)tuple by hand at every call site. The OS-dispatched detached-process launcher that used to live here moved to_platform.spawn.spawn_detached.src/deephaven_mcp/mcp_systems_server/_idle.py— Generic idle-shutdown machinery:IdleTimer(monotonic-clock data),ActivityMiddleware(Starlette middleware bumping the timer),idle_watcher(lifespan coroutine that calls a suppliedexit_fnon expiry). Opted into viamake_lifespan(..., idle=IdleWatcher(...)); daemon mode always sets it.scripts/— Test clients and utilities.tests/— Comprehensive test suite with high line coverage onsrc/deephaven_mcp/(runtests-runfor the current count and report).pyproject.toml— Project configuration and dependencies, including the supported Python floor (requires-python). The rule for consuming it isref-python-coding-practicesrule 16 (Python version floor).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 170 lines · 43 tokens per session scan A aa68295f0a7b
ref-project-reference is a skill published in the GitHub repository deephaven/deephaven-mcp (5 stars, last pushed 4d ago), licensed Apache-2.0. It adds 43 tokens to every session and 4,551 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…