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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd3cf3ec0e72b9ddd8cd86aa5aaee1bb2d35c1f5b8009c49c6d4167caa937fe5
|
|
| MD5 |
315bc0611def48a115bcfc3b1e90c604
|
|
| BLAKE2b-256 |
e57b185fac21246122f80675382c2b225c50a3fb110c625afad92aaa8bb9d13a
|
Provenance
The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-win_arm64.whl:
Publisher:
release.yaml on yadgarhq/yadgar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-win_arm64.whl -
Subject digest:
cd3cf3ec0e72b9ddd8cd86aa5aaee1bb2d35c1f5b8009c49c6d4167caa937fe5 - Sigstore transparency entry: 2674115487
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
019f6d7d580e6c1cd2ff3e3d3120ad7584a3b9609d9d6de2f5b98bb0b8b2af1c
|
|
| MD5 |
4a13df0a999a48b4ec0c5171750aef54
|
|
| BLAKE2b-256 |
be9f4d96a5257d788e5c469066071c9969e128c4a9e8b42962d1499c5c576f23
|
Provenance
The following attestation bundles were made for yaadgaar-0.1.0a2-py3-none-win_amd64.whl:
Publisher:
release.yaml on yadgarhq/yadgar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-win_amd64.whl -
Subject digest:
019f6d7d580e6c1cd2ff3e3d3120ad7584a3b9609d9d6de2f5b98bb0b8b2af1c - Sigstore transparency entry: 2674115659
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2869621ae9dabce209e532bac1dc7c1c9fea5975204290db93d5cfc2932eee1
|
|
| MD5 |
b06983043a6f1ec5f9c549953afc603f
|
|
| BLAKE2b-256 |
316fbe02913f51046bf6b0af0a09e705471516bbb104ec6a9c7948a9342a45aa
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
a2869621ae9dabce209e532bac1dc7c1c9fea5975204290db93d5cfc2932eee1 - Sigstore transparency entry: 2674115549
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
417f35ccfd7ee1b37b55233eb7b0817afad9b98a72fa808e3e96d703447ee224
|
|
| MD5 |
48e6782e597151cbac606b5d6fa82079
|
|
| BLAKE2b-256 |
c4c9af1cbc95b5e48d9cc9224d13ae2716f2a7df8ce09500f340caa565a026f3
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
417f35ccfd7ee1b37b55233eb7b0817afad9b98a72fa808e3e96d703447ee224 - Sigstore transparency entry: 2674115618
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c58619ecb57addc36b722486791a47ab1229f530bd4fc6b2c3c27251682d0fb2
|
|
| MD5 |
1992685404368a894d792f085c6962ef
|
|
| BLAKE2b-256 |
d67e97b35b2427613c25432d7e3eb2bb60360ecae2685678cb5ad0d547909d05
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-macosx_11_0_arm64.whl -
Subject digest:
c58619ecb57addc36b722486791a47ab1229f530bd4fc6b2c3c27251682d0fb2 - Sigstore transparency entry: 2674115411
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eba955e8f0480221605f7dfa637e189dd90e48267409a8ce0688fc3f571a9b1e
|
|
| MD5 |
8da2287822b426173951577ddf1284f4
|
|
| BLAKE2b-256 |
4a51cfb44539654e7ee4caf283a92fc2f9a19532c45c3e65f1299910ac9ac55f
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yaadgaar-0.1.0a2-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
eba955e8f0480221605f7dfa637e189dd90e48267409a8ce0688fc3f571a9b1e - Sigstore transparency entry: 2674115333
- Sigstore integration time:
-
Permalink:
yadgarhq/yadgar@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/yadgarhq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@278ca31ecf6a17399f88ad7e51a2e3dff34dd29c -
Trigger Event:
push
-
Statement type: