bharatnet
Provides search across Hacker News using Algolia's API.
Fetches news articles from Ars Technica via RSS feed.
Reads and searches Discourse forums, with default support for ValuePickr.
Reads public Facebook posts via OpenCLI integration.
Integrates with GitHub to read issues, pull requests, and search repositories, code, issues, and PRs.
Reads Instagram content via OpenCLI integration.
Reads Reddit posts and comments via OpenCLI integration.
Fetches entries from any RSS feed.
Fetches news articles from TechCrunch via RSS feed.
Fetches news articles from The Guardian via RSS feed.
Retrieves YouTube video metadata and transcripts via yt-dlp.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bharatnet what are the hot topics on Hacker News"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
agentknows
Typed Python SDK + MCP server for internet access across Western + Indian platforms. Built on Agent-Reach's capability layer.
Agent-Reach is a capability layer: it installs, health-checks, and routes the
best current backend per platform (Jina Reader, yt-dlp, gh, Exa, twitter-cli,
OpenCLI, ...). By design it has no programmatic API — it expects an agent
with shell access reading SKILL.md. agentknows fills that gap and retargets the
platform set at the English-speaking + Indian internet:
Agent-Reach gives you | agentknows adds |
Installer + doctor + backend routing | One typed facade: |
Per-platform CLIs, each with its own output format | One |
Shell-only usage | MCP server — Claude Desktop, Cursor, any MCP client, no shell needed |
Fix prescriptions inside doctor text | Machine-readable errors: every failure carries a runnable |
Chinese-platform focus (xiaohongshu, bilibili...) | Indian channels: NSE/BSE stocks, ValuePickr, Indian news pack |
— | Graceful degradation: missing tool → Jina Reader fallback + setup hint |
Install
uv venv && uv pip install -e .
# optional upstream tools: gh (GitHub), mcporter+exa (web search), twitter-cli, OpenCLI
# `agentknows doctor` tells you exactly what's missing and how to fix it.Related MCP server: grok-mcp
SDK
from agentknows import Reach
reach = Reach()
# read anything
reach.read("https://www.youtube.com/watch?v=...") # metadata + transcript
reach.read("https://github.com/owner/repo/issues/1") # issue + comments via gh
reach.read("https://news.ycombinator.com/item?id=1") # story + comment tree
reach.read("https://forum.valuepickr.com/t/x/3872") # forum topic + posts
reach.read("https://any-blog.com/post") # Markdown via Jina Reader
reach.read("RELIANCE", platform="stocks") # NSE quote (auto .NS/.BO suffix)
# search
reach.search("llm eval frameworks") # Exa semantic web search
reach.search("react hooks", platform="github", kind="code")
reach.search("smallcap IT", platform="discourse") # ValuePickr
reach.search("TCS", platform="stocks") # symbol lookup
# trending
reach.hot("hackernews") # HN front page
reach.hot("news", region="india") # ET/Mint/Hindu/TOI/Moneycontrol
reach.hot("discourse", period="weekly") # top ValuePickr threads
# cross-platform research: one query → parallel fan-out → merged bundle
reach.research("UPI transaction limits", region="india")
reach.research("vector db pricing", report=True) # + Claude-written synthesis
reach.doctor() # structured health reportEvery call returns a ReachResult:
ReachResult(ok=True, platform="stocks", backend="yfinance", kind="document",
content="# Reliance Industries...", meta={"price": 1275.9, "currency": "INR", ...})Failures raise ReachError subclasses (SetupRequired, UpstreamFailure,
UnsupportedOperation) whose .fix is a runnable prescription.
CLI
agentknows read https://news.ycombinator.com/item?id=39000000
agentknows read RELIANCE -p stocks
agentknows search "vector databases" -n 5
agentknows search "Tata Motors" -p discourse
agentknows hot news --region india
agentknows hot hackernews
agentknows research "ONDC adoption" --region india # merged research bundle
agentknows research "rust web frameworks" --report # + Claude synthesis (needs key)
agentknows doctor
agentknows read <url> --json # machine outputresearch fans one query out in parallel across web (Exa), Hacker News, news,
YouTube, ValuePickr, and Twitter/Reddit when configured, and merges everything
into one Markdown bundle with per-source coverage notes. --report adds a
Claude-written synthesis (install agentknows[research], set ANTHROPIC_API_KEY
or ant auth login; refusal fallbacks are enabled by default).
Web console
uv pip install "agentknows[ui]"
agentknows ui # opens http://127.0.0.1:8787A local one-page console over the same engine: pick a verb (research / search /
read / hot), type a query, watch the research fan-out complete source-by-source
live (SSE), and read the rendered bundle. doctor lives in the nav. Local-first
on purpose — the strongest backends (yt-dlp, gh, cookies, OpenCLI) are on your
machine, so the console runs next to them.
MCP server
agentknows-mcp # stdioClaude Desktop / Cursor config:
{"mcpServers": {"agentknows": {"command": "agentknows-mcp"}}}Tools: reach_read, reach_search, reach_hot, reach_research, reach_doctor, reach_platforms. (reach_research returns the raw bundle — the calling model does its own synthesis.)
Platform support
Platform | read | search | hot | Needs |
web (any URL) | Jina Reader | Exa via mcporter | — | nothing / mcporter |
youtube | metadata + transcript | ytsearch | — | yt-dlp (bundled) |
github | repo / issue / PR | repos, code, issues, prs | — | gh CLI |
hackernews | story + comments | Algolia | front page | nothing |
stocks (NSE/BSE/US) | live quote | symbol lookup | — | nothing (yfinance bundled) |
news (IN + Western) | — | keyword filter | fresh headlines | nothing |
discourse (ValuePickr + any forum) | topic + posts | forum search | top threads | nothing |
rss | feed entries | — | — | nothing |
tweet | search | — | twitter-cli + cookies (burner account!) | |
reddit / facebook / instagram | via OpenCLI | via OpenCLI | — | OpenCLI + logged-in browser |
8 of 11 platforms are zero-config. Chinese channels (bilibili, xiaohongshu, v2ex, xueqiu, xiaoyuzhou) are intentionally out of scope; their URLs still read fine through the Jina Reader catch-all.
News pack sources — India: Economic Times, LiveMint, The Hindu, Times of India,
Moneycontrol. Western: BBC, The Guardian, TechCrunch, The Verge, Ars Technica.
Edit adapters/news.py:FEEDS to customize.
Login-gated platforms follow Agent-Reach's boundaries: agentknows never automates logins or reads browser cookies; credentials are injected into child processes only and never logged. Use burner accounts — cookie-based API access risks bans.
Layout
src/agentknows/
├── client.py # Reach facade
├── router.py # URL → platform (native hosts + agent-reach's can_handle)
├── doctor.py # structured health report
├── models.py # ReachResult / Item envelope
├── errors.py # errors with .fix prescriptions
├── proc.py # upstream CLI runner
├── mcp_server.py # FastMCP server
├── cli.py # human CLI
└── adapters/ # one per platform, normalizing upstream output
├── stocks.py # NSE/BSE/US via yfinance
├── hackernews.py # Algolia public API
├── discourse.py # ValuePickr default; works on any Discourse forum
├── news.py # curated IN + Western RSS pack
└── ...Available Tools
6 toolsreach_doctorA
Health-check every channel: status (ok/warn/off/error), the backend currently serving it, and a runnable fix prescription when broken.
Inputs: no named parameters.
reach_hotB
Trending listings: hackernews (front page), news (fresh Indian/Western headlines; region: india | western), discourse (top forum topics).
Inputs: platform (required), limit, region.
reach_platformsA
List every platform and which operations (read/search/hot) it supports.
Inputs: no named parameters.
reach_readA
Read any URL as clean text/Markdown. Routes automatically: YouTube → transcript+metadata, GitHub → repo/issue/PR via gh, Hacker News → story+comments, Discourse forums → topic+posts, RSS feeds → entries, anything else → Jina Reader. Also reads stock tickers (pass a symbol like RELIANCE or AAPL to reach_search with platform=stocks, or a plain URL here). If a platform's tool is missing, degrades to Jina Reader and includes the setup hint in meta.setup_hint.
Inputs: url (required), max_chars.
reach_researchA
Cross-platform research: fans the query out in parallel across web (Exa), Hacker News, Indian+Western news, YouTube, ValuePickr, and Twitter/Reddit if configured. Returns one merged Markdown bundle with per-source coverage notes — synthesize it yourself. region: "india" | "western" | "" (both).
Inputs: query (required), limit, region.
reach_searchA
Search a platform. platform: web (Exa semantic search), youtube, github, hackernews, twitter, stocks (NSE/BSE/US symbol lookup), news (Indian+Western headlines), discourse (ValuePickr by default, any forum via kwargs), reddit/facebook/instagram (need OpenCLI + logged-in browser session).
Inputs: query (required), limit, platform.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a distinct purpose: reading URLs, searching platforms, fetching trending content, performing cross-platform research, health-checking channels, and listing supported platforms. No overlap in functionality.
All tools follow the consistent 'reach_' prefix followed by a clear verb or noun (read, search, hot, research, doctor, platforms), creating a predictable pattern.
6 tools is well-scoped for a platform-agnostic content access server, covering reading, searching, trending, research, health checks, and capability discovery without bloat.
The tool surface covers the core workflows (read, search, trending) and adds health-check and platform-discovery tools. Minor gaps: stock ticker handling is split across read and search, and some platforms require explicit setup in reach_search.
Related MCP Connectors
Dive into the latest and greatest from the tech world with our Hacker News MCP server.
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
MCP server for real-time Chinese internet hot-search and trending boards across major platforms.
MCP server aggregating hot-search boards from 8 Chinese platforms (Weibo, Zhihu, Bilibili, Douyin).
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceA read-only research MCP server that provides search and browsing tools for Hacker News, Reddit, and Product Hunt. Works with zero API keys for basic use.MIT- FlicenseNot gradedqualityDmaintenanceMCP server providing web search, news search, and X/Twitter search capabilities via HTTP or stdio.-
- AlicenseNot gradedqualityDmaintenanceMCP server that aggregates AI news, academic papers from ArXiv, and trending GitHub repositories from multiple sources, enabling users to fetch, search, and filter recent AI content via natural language.1MIT
- AlicenseAqualityDmaintenanceMCP server for RSS aggregation and LLM summarization, allowing users to fetch latest articles, search archives, and generate topic-specific digests via natural language.7MIT