Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Launch and triage Antithesis runs, run commands at a moment of a run, and search the docs
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SNOUTY_UNSTABLE_FEATURESYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"snouty": {
"command": "npx",
"args": [
"-y",
"snouty",
"mcp"
],
"env": {
"SNOUTY_UNSTABLE_FEATURES": "your-value"
}
}
}
}Run this in your terminal
claude mcp add snouty --env SNOUTY_UNSTABLE_FEATURES=your-value -- npx -y snouty mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"snouty": {
"command": "npx",
"args": [
"-y",
"snouty",
"mcp"
],
"env": {
"SNOUTY_UNSTABLE_FEATURES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"snouty": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"snouty",
"mcp"
],
"env": {
"SNOUTY_UNSTABLE_FEATURES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SNOUTY_UNSTABLE_FEATURES envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain antithesis.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.9.1) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A CLI for the Antithesis API. See the REST API reference for details on available endpoints and parameters.
Snouty provides the following subcommands. Invoke snouty --help to find out more.
snouty login: sign in and store your tenant, repository, and credentials.snouty launch: push images and kick off an Antithesis run.snouty runs: list and inspect Antithesis test runs and their results.snouty runs list: list runs, with status/launcher/date filters.snouty runs show : show details for a single run.snouty runs wait [--until ready|complete] : poll a run until it is ready to use or complete.snouty runs cancel : cancel a run that is starting or in progress.snouty runs properties : list property (assertion) results.snouty runs build-logs : stream a run's build logs.snouty runs logs [vtime]: stream a run's logs along one branch.snouty runs events -m : search events in a run.snouty runs search : run an event-set DSL query against a run's events.snouty runs exec [script]: run a bash script at a given moment in a run that is in progress (a test run or a debugging session). Needs tenant release 64.0 or newer.snouty debug: start a debug session.snouty validate: locally run and validate your docker-compose.yaml setup.snouty doctor: check your environment is configured correctly.snouty docs: search the Antithesis documentation locally.snouty docker-credential : the Docker and Podman credential helper for your tenant registry. See Docker credential helper.snouty completions : generate shell completion scripts.snouty version: print version and build information.snouty update: install the latest version. Set update_channel = "unstable" (or SNOUTY_UPDATE_CHANNEL=unstable) to also consider pre-releases; override the setting for one run with --channel stable|unstable.Add --json for machine-readable output. See COOKBOOK.md for worked recipes.
Commands that work with docker-compose.yaml files (e.g. launch, validate) require:
docker-compose binary or the docker compose CLI plugin (bundled with Docker Desktop/Engine), whichever it finds on your PATH. podman-compose is no longer supported.brew install docker-compose.If both engines are installed, Podman is preferred. Override the engine with SNOUTY_CONTAINER_ENGINE=docker or container_engine in a settings file (see below); an explicit DOCKER_HOST in your environment is always respected.
snouty validate bind-mounts a temp directory from this machine into each container. It watches this directory for the setup-complete event. Some container engines run inside a VM or on another machine. If the engine does not share this machine's temp directory, the engine creates the bind source on its own side and reports no error. The directory on this machine stays empty. Validate then fails with timed out waiting for setup-complete event, even though the system under test emits the event.
There are two fixes:
SNOUTY_TEMP_DIR to a directory under a path the engine already shares with write access: SNOUTY_TEMP_DIR=/path/shared/with/the/vm/snouty snouty validate ./config
SNOUTY_TEMP_DIR must point to an empty or non-existent directory. This prevents validate from reading events that a previous run left behind. Snouty does not remove the directory after the run, so remove it before the next run.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/antithesishq/snouty/releases/latest/download/snouty-installer.sh | sh
This also allows you to update via snouty update later on.
cargo binstall snouty
npm install -g snouty
The package downloads the prebuilt binary for your platform from the GitHub Release on its first run, and installs the Docker credential helper.
cargo install snouty
| File | Platform | Checksum |
|---|---|---|
| snouty-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| snouty-aarch64-unknown-linux-musl.tar.xz | ARM64 Linux | checksum |
| snouty-x86_64-unknown-linux-musl.tar.xz | x64 Linux | checksum |
cargo uninstall snouty || rm -f "$(which snouty)" "$(which snouty-update)" "$(which docker-credential-snouty)"
If you set up shell completions, also remove the snouty line from your shell's startup file.
Using the API requires at least a tenant and a credential. snouty launch also needs a repository — the container registry it pushes the config image to. Docs commands need no configuration at all.
The quickest way is snouty login, which asks for each value and stores the result:
snouty login
Settings can also come from environment variables or a TOML settings file. An environment variable always takes precedence.
export ANTITHESIS_TENANT="your-tenant"
export ANTITHESIS_REPOSITORY="us-central1-docker.pkg.dev/your-project/your-repo" export ANTITHESIS_API_KEY="your-api-key"
Run snouty settings show at any point to see what snouty resolves, and which settings files it reads. Run snouty doctor to check that your environment works.
Settings can instead live in a TOML file. Snouty reads two, the first taking precedence:
./.snouty.toml by default. Point elsewhere with the global --settings flag or the SNOUTY_SETTINGS_PATH environment variable.settings.toml under $XDG_CONFIG_HOME/snouty/ (falling back to $HOME/.config/snouty/).# .snouty.toml
tenant = "your-tenant" repository = "us-central1-docker.pkg.dev/your-project/your-repo"
A matching environment variable always overrides the file. The supported keys and their environment-variable equivalents are:
| Settings key | Environment variable | Purpose |
|---|---|---|
tenant | ANTITHESIS_TENANT | Your Antithesis tenant. Becomes the API host, https:// .antithesis.com. |
repository | ANTITHESIS_REPOSITORY | Container registry that snouty launch pushes the config image to. |
base_url | ANTITHESIS_BASE_URL | API URL, replacing the one derived from the tenant. See the proxy section below. |
container_engine | SNOUTY_CONTAINER_ENGINE | Force docker or podman instead of auto-detecting. |
update_channel | SNOUTY_UPDATE_CHANNEL | stable (default) or unstable, for snouty update. |
api_cache_max_file_size | SNOUTY_API_CACHE_MAX_FILE_SIZE | Largest response the API cache stores, as 10 MB, 10 MiB or a byte count. |
A credential is never read from a settings file. snouty login keeps credentials apart from settings — see Authentication.
Run snouty settings show to print the value that snouty resolved for each setting, and the settings files it read.
snouty uses ./.snouty.toml only after you trust it. Until you trust or deny the file, each command that reads the settings stops with an error. Review the file, then decide:
snouty settings trust # use ./.snouty.toml while its content stays the same
snouty settings deny # ignore ./.snouty.toml
Each command also takes the path of a settings file. When a trusted file changes, you must trust it again. snouty keeps the decisions in trust.toml, next to the global settings file.
A file that you name with --settings or SNOUTY_SETTINGS_PATH needs no trust, because you chose it. To use every project settings file without a check, for example in CI, set SNOUTY_SETTINGS_TRUST=all.
A settings file can define named profiles for switching between environments. Select one with the global --profile flag or the ANTITHESIS_PROFILE environment variable (the flag wins):
# .snouty.toml
tenant = "default-tenant" repository = "registry.example.com/default"
[profile.staging] tenant = "staging-tenant" repository = "registry.example.com/staging"
snouty --profile staging runs list
For any one setting, snouty uses the first value it finds, highest precedence first:
When a subcommand or a flag, or the Antithesis API it calls, is still changing shape, snouty can keep it behind a gate, turned on by naming its feature in SNOUTY_UNSTABLE_FEATURES (a comma-separated list). Anything behind this gate can change its behavior, its flags, or its id, or go away, in any release.
| Feature | Enables |
|---|---|
mcp | snouty mcp, the MCP server. Its tools and their output can still change. |
| teams | launch --max-compute-hours, launch --setup-timeout and debug --duration. They need tenant version 66 o
Only the beginning is shown; read the rest in the repo