agentknows

agentknows

MCP server for internet access across Western and Indian platforms, enabling reading, searching, and hot content retrieval from stocks, news, hackernews, YouTube, GitHub, and more.

Category
访问服务器

README

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: Reach().read(url) / .search(q, platform=...)
Per-platform CLIs, each with its own output format One ReachResult JSON shape for everything
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 .fix
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.

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 report

Every 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 output

research 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:8787

A 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     # stdio

Claude 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
twitter 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
    └── ...

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选