Kindly Web Search MCP Server: Web search + robust content retrieval for AI coding tools (Claude Code, Codex, Cursor, GitHub Copilot, Gemini, etc.) and AI agents (Claude Desktop, OpenClaw, Hermes, etc.). Supports Serper, Tavily, and SearXNG.
# Add to your Claude Code skills
git clone https://github.com/Shelpuk-AI-Technology-Consulting/kindly-web-search-mcp-serverGuides for using ai agents skills like kindly-web-search-mcp-server.
Last scanned: 5/29/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-29T07:56:50.838Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": false
}Web search + robust content retrieval for AI coding tools.
Kindly Web Search is a part of the Shelpuk AI Technology Consulting agentic suite – a set of tools that together improve the code quality produced by AI coding agents by 15–20%. Read more on Claude Code generation quality improvement.
Works with Claude Code, Codex, Antigravity, Cursor, Windsurf, and any agent that supports skills or MCP servers.
| Component | Role |
|---|---|
| tdd | Enforces TDD, requirements discipline, and peer review for every coding task |
| Serena | Semantic code navigation + persistent project memory |
| Kindly Web Search ← you are here | Up-to-date API and package documentation via web search |
| Lad MCP Server | Project-aware AI design and code review |
If you like what we're building, please ⭐ star this repo – it's a huge motivation for us to keep going!
1. Install three MCP servers and one skill:
2. Use the skill when requesting a feature:
Prompt your favorite AI coding agent (Claude Code, Codex, Cursor, etc.) as usual. Then just add Follow $tdd in the end.
> Build [your feature description]. Follow $tdd.

Picture this: You're debugging a cryptic error in Google Cloud Batch with GPU instances. Your AI coding assistant searches the web and finds the perfect StackOverflow thread. Great, right? Not quite. Here's what most web search MCP servers give your AI:
{
"title": "GCP Cloud Batch fails with the GPU instance template",
"url": "https://stackoverflow.com/questions/76546453/...",
"snippet": "I am trying to run a GCP Cloud Batch job with K80 GPU. The job runs for ~30 min. and then fails..."
}
The question is there, but where are the answers? Where are the solutions that other developers tried? The workarounds? The "this worked for me" comments?
They're not there. Your AI now has to make a second call to scrape the page. Sometimes it does, sometimes it doesn't. And even when it does, most scrapers return either incomplete content or the entire webpage with navigation panels, ads, and other noise that wastes tokens and confuses the AI.
At Shelpuk AI Technology Consulting, we build custom AI products under a fixed-price model. Development efficiency isn't just nice to have - it's the foundation of our business. We've been using AI coding assistants since 2023 (GitHub Copilot, Cursor, Windsurf, Claude Code, Codex), and we noticed something frustrating:
When we developers face a complex bug, we don't just want to find a URL - we want to find the conversation. We want to see what others tried, what worked, what didn't, and why. We want the GitHub Issue with all the comments. We want the StackOverflow thread with upvoted answers and follow-up discussions. We want the arXiv paper content, not just its abstract.
Existing web search MCP servers are basically wrappers around search APIs. They're great at finding content, but terrible at delivering it in a way that's useful for AI coding assistants.
We built Kindly Web Search because we needed our AI assistants to work the way we work. When searching for solutions, Kindly:
✅ Integrates directly with APIs for StackExchange, GitHub Issues, arXiv, and Wikipedia - presenting content in LLM-optimized formats with proper structure
✅ Returns the full conversation in a single call: questions, answers, comments, reactions, and metadata
✅ Parses any webpage in real-time using a headless browser for cutting-edge issues that were literally posted yesterday
✅ Passes all useful content to the LLM immediately - no need for a second scraping call
✅ Supports multiple search providers (Serper and Tavily) with intelligent fallback
Now, when Claude Code or Codex searches for that GPU batch error, it gets the question and the answers. The code snippets. The "this fixed it for me" comments. Everything it needs to help you solve the problem - in one call.
If you give Kindly a try or like the idea, please drop us a star on GitHub - it’s always huge motivation for us to keep improving it! ⭐️
Kindly eliminates the need for:
✅ Generic web search MCP servers
✅ StackOverflow MCP servers
✅ Web scraping MCP servers (Playwright, Puppeteer, etc.)
It also significantly reduces reliance on GitHub MCP servers by providing structured Issue content through intelligent extraction.
Kindly has been our daily companion in production work for months, saving us countless hours and improving the effectiveness of our AI coding assistants. We're excited to share it with the community!
Tools
web_search(query, num_results=3) → top results with title, link, snippet, and page_content (Markdown, best-effort).get_content(url) → page_content (Markdown, best-effort).When extracting page content (get_content or web_search results), Kindly routes each URL through a priority chain of specialized handlers before falling back to the universal HTML loader:
| Priority | Target | Handler | HTTP client | Proxy support |
|---|---|---|---|---|
| 1 | StackExchange (StackOverflow, etc.) | StackExchange API | httpx[socks] |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY (HTTP, SOCKS5) |
| 2 | GitHub Issues | GitHub GraphQL API | httpx[socks] |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY (HTTP, SOCKS5) |
| 3 | GitHub Discussions | GitHub GraphQL API | httpx[socks] |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY (HTTP, SOCKS5) |
| 4 | Wikipedia | MediaWiki Action API | httpx[socks] |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY (HTTP, SOCKS5) |
| 5 | arXiv | Atom API + PDF → Markdown | httpx[socks] |
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY (HTTP, SOCKS5) |
| 6 | All other URLs | Universal HTML loader | headless Chromium (nodriver) |
KINDLY_CHROME_PROXY (HTTP, SOCKS5, etc.) |
All httpx-based handlers read standard proxy environment variables (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) and support both HTTP and SOCKS proxy URLs via the socksio dependency. The universal HTML loader uses Chromium's --proxy-server flag via KINDLY_CHROME_PROXY, which supports SOCKS5 and other schemes natively.
Search uses Serper (primary, if configured) or Tavily, and page extraction uses a local Chromium-based browser via nodriver.
Before launching the headless browser, the universal HTML loader first tries to fetch markdown directly with one cheap httpx GET — returning it immediately on a hit and falling back to the browser unchanged on any miss. Two independent probes:
| Probe | Env var | Default | Mechanism |
|---|---|---|---|
| Suffix | KINDLY_MARKDOWN_SUFFIX_HOSTS |
help.aliyun.com,www.alibabacloud.com/help (on) |
For listed hosts, request {path}.md — Aliyun docs serve text/markdown at that route. Add host or host/path-prefix entries for other {path}.md sites. |
| Accept | KINDLY_MARKDOWN_ACCEPT_PROBE |
0 (off) |
Set to 1 to request every universal-path URL with Accept: text/markdown. Catches supporters automatically (Cloudflare, Microsoft Learn, AWS, GitHub, … per acceptmarkdown.com); on text/html the browser re-fetches (one extra request). |
Both probes validate the response (text/markdown, ≥1 KB, non-empty after sanitize) and apply the same output cap as the browser path, so the returned markdown is consistent across paths. See .env.example for the full entries.
SERPER_API_KEY (recommended) → TAVILY_API_KEY → SEARXNG_BASE_URL (self-hosted SearXNG)page_content extraction may fail for other sites.GITHUB_TOKEN (renders GitHub Issues in a much more LLM-friendly format: question + answers/comments + reactions/metadata; fewer rate limits)onnxruntime wheels may be unavailable).GITHUB_TOKEN can be read-only and limited to public repositories to avoid security/privacy concerns.
uvxmacOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
irm https://astral.sh/uv/install.ps1 | iex
Re-open your terminal and verify:
uvx --version
page_content)You need Chrome / Chromium / Edge / Brave installed on the same m
kindly-web-search-mcp-server is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Shelpuk-AI-Technology-Consulting. Kindly Web Search MCP Server: Web search + robust content retrieval for AI coding tools (Claude Code, Codex, Cursor, GitHub Copilot, Gemini, etc.) and AI agents (Claude Desktop, OpenClaw, Hermes, etc.). Supports Serper, Tavily, and SearXNG. It has 359 GitHub stars.
Yes. kindly-web-search-mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Shelpuk-AI-Technology-Consulting/kindly-web-search-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
kindly-web-search-mcp-server is primarily written in Python. It is open-source under Shelpuk-AI-Technology-Consulting on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh kindly-web-search-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!