Most tools that give an agent access to external sources ship every platform at once. You install twelve integrations to use two, and the agent carries instructions for all twelve in its context on every run.
agent-reach inverts that. Channels install one at a time from an index. Each one is a manifest rather than
code, so adding a channel is a few lines of TOML over a CLI that already exists. Everything returns the same
envelope, responses cache to disk, and --max-tokens bounds what reaches the model.
Nothing runs in the cloud and nothing is metered.
Install
uv tool install agent-reach
Then install the channels you want:
agent-reach install rss
agent-reach install youtube
install runs a pinned command from a fixed set of verbs (uv, pipx, go, brew). Manifests cannot
supply shell. Use --dry-run to see the exact command first.
Use
$ agent-reach get rss.feed https://wpmayor.com/feed/ --limit 3
$ agent-reach get youtube.transcript "https://youtu.be/VIDEO" --max-tokens 4000
$ agent-reach get wporg.reviews akismet --json
Every read command accepts --json, --limit, --max-tokens and --no-cache.
Check what is actually working before relying on it:
$ agent-reach doctor
ok rss auth:none feedparser
ok youtube auth:none yt-dlp 2026.07.28
DOWN wporg auth:none 'wporg' not on PATH
doctor --json is meant for agents, and the exit code is non-zero when any channel is down.
Channels
| Channel | Backend | Auth |
|---|---|---|
rss |
feedparser | none |
youtube |
yt-dlp | none |
The index stays small on purpose. Channels you add yourself live in a tap, described below.
Writing a channel
A channel over an existing CLI that emits JSON is a manifest and nothing else:
name = "reviews-cli"
description = "Product reviews from a CLI that already speaks JSON."
auth = "none"
cache_ttl = 1800
[backend]
type = "cli"
binary = "reviews-cli"
[backend.install]
verb = "go"
package = "github.com/you/reviews-cli/cmd/reviews-cli@latest"
[backend.probe]
args = ["--help"]
[[command]]
name = "recent"
args = ["reviews", "{query}", "--json"]
[command.map]
items = "$"
title = "title"
url = "url"
author = "author"
text = "text"
published_at = "created_at"
[command.map.engagement]
stars = "rating"
Declare [command.params] to map a flag through (limit = "--limit"). Anything undeclared is never
forwarded to the binary, so a channel cannot be talked into passing arbitrary flags.
Drop it in ~/.agent-reach/taps/<name>/ and it shows up in agent-reach list --all. A tap is any directory
of manifests, so private channels stay private.
Channels needing a login declare auth = "cookie", and both install and doctor say so. Those run as your
own account against platforms that ban for automation, so treat them as a deliberate choice.
Agent skill
agent-reach skill --write ~/.claude/skills/agent-reach/SKILL.md
The generated skill documents installed channels only, so context stays proportional to what you use. Regenerate it after installing or removing one.
License
MIT
Metadata
Release files for agent-reach 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_reach-0.1.0.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_reach-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.7 kB
Release files / agent_reach-0.1.0.tar.gz
| Download URL | agent_reach-0.1.0.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c97853ce23a5683229ed53c2c3c77e2d1eba88244790e039897b3508386935e0
|
|
BLAKE2b-256 checksum How to use checksums |
dca811ab81e1aa502f3e50adf9aff571316d0515a941782cf5fc6f7f1c4bd461
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / agent_reach-0.1.0-py3-none-any.whl
| Download URL | agent_reach-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75c95e3af2aac442613123405013dbfc5fa77cc8ddca7491727593aa46bb199e
|
|
BLAKE2b-256 checksum How to use checksums |
01abeb6c47c776933ae7a8de2b603e3f858728cc4b08dc88ce977e2d0c265fee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log