Search and research the open web for your AI agent.
Project description
Agent Atlas
Search and research the open web for your AI agent.
Agent Atlas is a capability layer: it installs, health-checks, and routes free upstream tools so your AI coding agent can research the web. It is not a scraper framework — after setup, the agent calls upstream CLIs/APIs directly.
10 Western channels. No China-only platforms. English-first docs · Türkçe.
Not the same as other GitHub projects named “AgentAtlas” (e.g. browser schema registries). This repo is an open-web research installer + router for AI coding agents.
What it does
| Capability | Description |
|---|---|
| Install | Sets up Tier 0 tools (+ optional Tier 1 CLIs) and registers SKILL.md for Cursor / Claude Code / agents |
| Doctor | Per-channel health: ok / warn / off + active_backend (JSON for agents) |
| Smoke | One real research call per ready channel — proves end-to-end wiring |
| Config | ~/.agent-atlas/config.yaml → runtime env (TWITTER_*, OPENCLI_PROFILE, REDDIT_*, …) |
| Routing | Prefer Tier 0; Tier 1 uses cookie CLIs first, OpenCLI bridge when needed |
Channels & tools
Tier 0 — zero config (after install)
| Channel | Tool | What you get |
|---|---|---|
| web | Jina Reader | URL → clean markdown |
| exa | Exa via mcporter | Web search for agents |
| youtube | yt-dlp | Transcripts / metadata (no download required) |
| github | GitHub CLI (gh) |
Repos, issues, search |
| rss | feedparser | RSS / Atom feeds |
Tier 1 — login / session
| Channel | Backend order | Notes |
|---|---|---|
| twitter-cli → OpenCLI | Tokens / cookies | |
| rdt-cli → OpenCLI | Cookies from Atlas Chrome profile on doctor | |
| linkedin-scraper-mcp → Jina | Reach-style: uvx … --login + MCP / mcporter |
|
| OpenCLI | Often disabled via disabled_channels |
|
| OpenCLI | Often disabled via disabled_channels |
Full command examples: docs/platforms.md · Tier 1 setup: docs/tier1.md
Quick start
Tell your AI agent:
Install Agent Atlas: https://raw.githubusercontent.com/batu3384/agent-atlas/main/docs/install.md
Or manually:
uv tool install agent-atlas-cli
# fallback: uv tool install git+https://github.com/batu3384/agent-atlas.git
# ensure ~/.local/bin is on PATH
agent-atlas install
agent-atlas doctor
agent-atlas smoke
From a clone:
git clone https://github.com/batu3384/agent-atlas.git
cd agent-atlas
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
agent-atlas install
agent-atlas doctor
Tier 1 (optional):
agent-atlas install --channels twitter,reddit,linkedin,opencli
agent-atlas configure twitter_chrome_profile "Profile 3"
agent-atlas configure opencli_profile atlas
Ensure ~/.local/bin is on your PATH if you use uv tool install for agent-atlas-cli or rdt-cli.
CLI
agent-atlas doctor # human report
agent-atlas doctor --json # for agents — use active_backend per channel
agent-atlas smoke # one real call per ready channel
agent-atlas smoke --json
agent-atlas watch # quick health + update hint
agent-atlas check-update
agent-atlas install # Tier 0 + SKILL.md
agent-atlas install --channels twitter,reddit,linkedin,opencli,all
agent-atlas install --safe # print needs only
agent-atlas configure KEY VALUE
agent-atlas skill --install
agent-atlas uninstall
Example research (after doctor is green)
# Prefer doctor JSON for routing
agent-atlas doctor --json
# → use each channel's active_backend
# Tier 0
curl -s "https://r.jina.ai/https://example.com"
mcporter call 'exa.web_search_exa(query: "AI agents 2026", numResults: 5)'
gh search repos "AI agent" --sort stars --limit 5
yt-dlp --flat-playlist --print "%(title)s" "ytsearch3:AI agents"
python3 -c "import feedparser; print([e.title for e in feedparser.parse('https://hnrss.org/frontpage').entries[:5]])"
# Tier 1
twitter search "AI agents" -n 10
rdt search "AI agents" -n 10 --compact --yaml
# LinkedIn: agent MCP tools after linkedin-scraper-mcp login
curl -s "https://r.jina.ai/https://www.linkedin.com/in/…"
Design
- Config:
~/.agent-atlas/config.yaml(mode 600) - Temp:
/tmp/— do not pollute the project tree - Skill: agentskills.io
SKILL.md→~/.agents/skills/agent-atlas/ - Doctor statuses:
ok= ready ·warn= installed, login needed ·off= missing/disabled - Inspiration: Agent Reach’s installer/doctor model — different product, English-first, Western-only scope
Docs
| Doc | Contents |
|---|---|
| docs/channels.md | Doctor/smoke status contract |
| docs/install.md | Install for agents & humans |
| docs/tier1.md | Twitter / Reddit / LinkedIn / OpenCLI / MCP |
| docs/troubleshooting.md | Common failures & fixes |
| docs/platforms.md | Backend order + examples |
| docs/update.md | Update path |
| docs/README_tr.md | Türkçe özet |
| CHANGELOG.md | Release notes |
| SECURITY.md | Credentials & reporting |
| CONTRIBUTING.md | Dev setup / PR guide |
| SKILL.md | Agent skill (routing rules) |
| PLAN.md | Project plan / status |
License
MIT — see LICENSE. Upstream tools keep their own licenses.
Credits (upstream)
Jina Reader · Exa · mcporter · yt-dlp · GitHub CLI · feedparser · OpenCLI · twitter-cli · rdt-cli · linkedin-scraper-mcp
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 agent_atlas_cli-0.1.5.tar.gz.
File metadata
- Download URL: agent_atlas_cli-0.1.5.tar.gz
- Upload date:
- Size: 53.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b74321e22218554489a1db6f7e2dc03bf1725bfec230edec1bbc47421ed886c
|
|
| MD5 |
d6144b2eec2565f1fadca563d76d5110
|
|
| BLAKE2b-256 |
e9756034d9e2fe42d48e61401b94a17fd0ae34cb861f8a41d1c6be438383d1e7
|
Provenance
The following attestation bundles were made for agent_atlas_cli-0.1.5.tar.gz:
Publisher:
publish.yml on batu3384/agent-atlas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_atlas_cli-0.1.5.tar.gz -
Subject digest:
3b74321e22218554489a1db6f7e2dc03bf1725bfec230edec1bbc47421ed886c - Sigstore transparency entry: 2191314223
- Sigstore integration time:
-
Permalink:
batu3384/agent-atlas@88ffa3ee614c2f8c1540767f9883082790d5c99e -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/batu3384
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88ffa3ee614c2f8c1540767f9883082790d5c99e -
Trigger Event:
release
-
Statement type:
File details
Details for the file agent_atlas_cli-0.1.5-py3-none-any.whl.
File metadata
- Download URL: agent_atlas_cli-0.1.5-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed4bdd7a06c34c297476d2f80f7aaa48489a5b514b530f4aa4abb72f29b96204
|
|
| MD5 |
87401ddc409a7f7180767a22a59a5a77
|
|
| BLAKE2b-256 |
ba34707aa8f5bf3d3ef2ce2f51b6e34dbc0f0802373fbae16b2dfa9dcb1189a7
|
Provenance
The following attestation bundles were made for agent_atlas_cli-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on batu3384/agent-atlas
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_atlas_cli-0.1.5-py3-none-any.whl -
Subject digest:
ed4bdd7a06c34c297476d2f80f7aaa48489a5b514b530f4aa4abb72f29b96204 - Sigstore transparency entry: 2191314243
- Sigstore integration time:
-
Permalink:
batu3384/agent-atlas@88ffa3ee614c2f8c1540767f9883082790d5c99e -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/batu3384
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88ffa3ee614c2f8c1540767f9883082790d5c99e -
Trigger Event:
release
-
Statement type: