Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

yadgar — the client

One binary. yadgar login obtains a credential, yadgar serve is the MCP server your agent spawns, and everything else manages the machine it runs on (D75, D76).

Decisions are recorded in yadgarhq/docs — D75 (the proxy that knows no tools), D76 (one binary, and a rules file that is referenced rather than spliced), D72 (the credential), D16 (why the gateway is the only thing that speaks MCP inward).

What it is

A proxy, and deliberately nothing more. tools/list is forwarded to the gateway and its answer returned verbatim; so is tools/call. There is no per-tool code in this repository at all — not a match arm, not a registry, not a feature flag.

That is the boundary rather than an economy. A list the client asserts is a list the client is trusted to filter honestly; forwarding makes the gateway's answer the only answer, and the gateway resolves identity before it replies. It is also what keeps releases uncoupled: this binary lives on people's laptops and the gateway does not, so a client that enumerated tools would make the tool set move at the speed of the slowest machine.

When the gateway is unreachable at spawn, the last tool list is served from cache and calls fail with a plain "gateway unreachable" — because an empty list is indistinguishable from yadgar not being installed, and the agent would silently lose memory and tasks with nothing to report.

Commands

Command What it does
yadgar login Asks for the gateway address and your credentials once, stores both together, and registers the MCP server in the agent client's user-level config — once per machine, never per repository.
yadgar serve The stdio MCP server the agent spawns. Not run by hand.
yadgar install Hooks, the rules reference, the MCP entry, and a health check.
yadgar uninstall Removes what install added, and nothing else.
yadgar verify Reports drift in the installed environment. Scheduled, not remembered — the daemon cannot see ~/.claude/settings.json, so nothing server-side can ever notice.
yadgar hook <event> What settings.json invokes. A hook is a dispatch, not a program.

login is the whole setup. project_id is derived from the working directory at call time (D53), so one registration serves every repository and a fresh checkout works immediately.

Installing

pipx install yadgar
yadgar login

Rust, shipped to PyPI as wheels via maturin. The language follows the rest of the system; the channel follows the people already using it, and pipx install yadgar is not a thing a rewrite gets to take away. A plain GitHub-release binary was rejected for exactly that reason.

The wheel carries the compiled binary and no Python at all — bindings = "bin" in pyproject.toml — so import yadgar is not a thing and is not meant to be.

A wheel is per-platform, so there are six: Linux, macOS and Windows, each on x86_64 and aarch64. Every one is built on a runner of its own architecture rather than cross-compiled, and release.yaml refuses to publish unless all six are present — shipping the four that built would leave two platforms silently installing an older version.

Development

cargo build
cargo test
pre-commit run --all-files

There is no Containerfile and no chart here: this repository is not a service, and what it ships is a wheel. CI is the shared workflow in yadgarhq/actions, which detects that and skips the image, chart and proto stages (D62).

To build a wheel locally:

maturin build --release   # → target/wheels/, for THIS machine only

The other five targets are built by .github/workflows/release.yaml, which is this repository's one piece of local CI. The reason it is not in yadgarhq/actions with everything else is written at the top of that file.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

yaadgaar-0.1.0a2-py3-none-win_arm64.whl (3.2 MB view details)

Uploaded Python 3Windows ARM64

yaadgaar-0.1.0a2-py3-none-win_amd64.whl (3.2 MB view details)

Uploaded Python 3Windows x86-64

yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file yaadgaar-0.1.0a2-py3-none-win_arm64.whl.

File metadata

  • Download URL: yaadgaar-0.1.0a2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 cd3cf3ec0e72b9ddd8cd86aa5aaee1bb2d35c1f5b8009c49c6d4167caa937fe5
MD5 315bc0611def48a115bcfc3b1e90c604
BLAKE2b-256 e57b185fac21246122f80675382c2b225c50a3fb110c625afad92aaa8bb9d13a

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-win_arm64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaadgaar-0.1.0a2-py3-none-win_amd64.whl.

File metadata

  • Download URL: yaadgaar-0.1.0a2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 019f6d7d580e6c1cd2ff3e3d3120ad7584a3b9609d9d6de2f5b98bb0b8b2af1c
MD5 4a13df0a999a48b4ec0c5171750aef54
BLAKE2b-256 be9f4d96a5257d788e5c469066071c9969e128c4a9e8b42962d1499c5c576f23

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-win_amd64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a2869621ae9dabce209e532bac1dc7c1c9fea5975204290db93d5cfc2932eee1
MD5 b06983043a6f1ec5f9c549953afc603f
BLAKE2b-256 316fbe02913f51046bf6b0af0a09e705471516bbb104ec6a9c7948a9342a45aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 417f35ccfd7ee1b37b55233eb7b0817afad9b98a72fa808e3e96d703447ee224
MD5 48e6782e597151cbac606b5d6fa82079
BLAKE2b-256 c4c9af1cbc95b5e48d9cc9224d13ae2716f2a7df8ce09500f340caa565a026f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c58619ecb57addc36b722486791a47ab1229f530bd4fc6b2c3c27251682d0fb2
MD5 1992685404368a894d792f085c6962ef
BLAKE2b-256 d67e97b35b2427613c25432d7e3eb2bb60360ecae2685678cb5ad0d547909d05

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eba955e8f0480221605f7dfa637e189dd90e48267409a8ce0688fc3f571a9b1e
MD5 8da2287822b426173951577ddf1284f4
BLAKE2b-256 4a51cfb44539654e7ee4caf283a92fc2f9a19532c45c3e65f1299910ac9ac55f

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yaml on yadgarhq/yadgar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page