WebToolsHub
MCP server providing domain name checking and other web tools, accessible via MCP, REST API, and CLI for AI assistants.
README
<div align="center">
WebToolsHub
Free, open-source web tools you can use inside your AI
Every tool runs in your browser, ships with a command line, and connects to Claude, ChatGPT, Gemini and Kimi through MCP and a REST API. First tool live: Domain Name Checker.
Built by Konko Maji · MIT licensed
Works with: Claude · ChatGPT / OpenAI · Gemini · Kimi · Cursor · Windsurf · any MCP client
</div>
The differentiator: use it inside your AI
Most domain checkers are a website and nothing more. WebToolsHub also speaks the Model Context Protocol (MCP) and ships a REST API, so your AI assistant can check domains for you. Connect once, then just ask.
- Local MCP (
mcp_server.py) - stdio, zero dependencies. Works with Claude Desktop, Claude Code, Gemini CLI, Cursor, Windsurf, Kimi, and any MCP client. Nothing to host. - Remote MCP (
mcp_http.pyor the Vercel function/api/mcp) - connect web assistants (Claude.ai, ChatGPT) by URL. - REST API (
/api/check) - call it from anything. OpenAPI schema inopenapi.yaml.
Full setup for every platform: CONNECTORS.md and the on-site Connect to AI guide.
# try the local MCP server by hand
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
| python mcp_server.py
Live tools
| Tool | What it does | Status |
|---|---|---|
Domain Name Checker (/domain-name-checker/) |
Check if a domain name is available across all common TLDs at once, or in bulk. Priority on .com and .in. | Live |
| WHOIS Lookup | Registration, registrar, and expiry details | Planned |
| DNS Checker | A, MX, NS, TXT records from multiple resolvers | Planned |
| Domain Name Generator | Brandable name ideas plus instant availability | Planned |
| SSL Checker | Certificate issuer and expiry | Planned |
| Website Speed Test | Load time and core web vitals | Planned |
Domain Name Checker
The flagship tool answers one question: is a domain available to register, or taken?
- Single check across about 20 common TLDs in one action.
- Bulk check up to 200 names from a pasted list or an uploaded
.txt/.csvfile. - .com and .in priority, always shown first.
- Accurate: authoritative RDAP registry data first, DNS cross-check second. Unconfirmed results are marked
unknown, never guessed, so no false positives. - CSV export, register links, filters, mobile friendly, Material 3 light UI.
Project structure
webtoolshub/ (repo root = the hub)
index.html hub homepage (lists all tools)
domain-name-checker/
index.html the Domain Name Checker tool page
connect/
index.html Connect-to-AI guide (SEO page)
checker.py domain availability logic (RDAP + DNS)
cli.py one CLI for every tool (subcommands)
server.py local dev server (serves pages + /api)
mcp_server.py local MCP server (stdio) for AI clients
mcp_http.py remote MCP server (HTTP) for web AI clients
api/
check.py Vercel function: REST API
mcp.py Vercel function: remote MCP endpoint
vercel.json requirements.txt one-deploy hosting on Vercel
openapi.yaml REST API schema (GPT Actions / Gemini)
og-image.svg
robots.txt sitemap.xml llms.txt (SEO / AEO / GEO)
CONNECTORS.md connect to Claude, ChatGPT, Gemini, Kimi
.github/workflows/deploy.yml GitHub Pages deploy
LICENSE CONTRIBUTING.md .gitignore .nojekyll
Each tool lives in its own folder so it gets its own indexable, keyword-targeted URL. This is the pattern every future tool follows.
Command line
One CLI, one subcommand per tool.
# domain availability (live)
python cli.py domain mycoolsite
python cli.py domain mycoolsite --tlds com,in,io,ai
# bulk from a file, .com and .in only, available ones as CSV
python cli.py domain --file names.txt --tlds com,in --available --csv > free.csv
# read names from stdin, JSON output
cat names.txt | python cli.py domain --file - --json
domain flags: -f/--file, -t/--tlds, -a/--available, --json, --csv, --no-color.
Exit code is 0 when at least one domain is available, else 1, so it scripts cleanly.
Run locally with the RDAP backend
python server.py
# hub: http://localhost:8000/
# tool: http://localhost:8000/domain-name-checker/
The tool page auto-detects the backend and uses RDAP for the most accurate results. On GitHub Pages there is no backend, so it runs fully client-side via DNS-over-HTTPS.
How availability is decided
- RDAP registry lookup.
200means registered (taken),404means possibly free. - DNS cross-check. If the domain resolves, it is
takeneven when RDAP said free (catches TLDs with no RDAP server). - Only with no registration record and no DNS record is a domain
available. - If nothing authoritative can confirm it, the result is
unknown, never a false positive.
Deploy everything on one URL (Vercel, recommended)
GitHub Pages is static and cannot run the API or remote MCP endpoint. Vercel runs the Python as-is, so one deploy hosts the website, the REST API, and the remote MCP connector on a single domain.
- Push this repo to GitHub.
- Import it at vercel.com/new (no settings needed,
vercel.jsonis included). - You get:
- Website:
https://webtoolshub-blond.vercel.app/ - REST API:
https://webtoolshub-blond.vercel.app/api/check?name=mycoolsite&tlds=com,in - Remote MCP:
https://webtoolshub-blond.vercel.app/api/mcp
- Website:
Cloudflare Pages works too, but Workers run JavaScript, so it would need a small
port of checker.py to JS. Ask if you want that version.
Deploy the website only (GitHub Pages)
- Create a GitHub repo named
webtoolshuband push this folder. - In Settings > Pages, set the source to GitHub Actions.
- The included workflow publishes on every push to
main. - Live at
https://<username>.github.io/webtoolshub/.
One required edit: replace konkomaji with your GitHub username everywhere it appears
(index.html, domain-name-checker/index.html, robots.txt, sitemap.xml, llms.txt).
Do it in one pass:
grep -rl konkomaji . | xargs sed -i 's/konkomaji/your-github-username/g'
If you later buy a domain, the planned one is webtoolshub.in. Point it at Pages and
swap the github.io/webtoolshub base URLs for webtoolshub.in.
SEO, AEO and GEO
- Per-tool folders and keyword-targeted titles, descriptions, and H1s.
- Structured data:
WebSite,ItemList,WebApplication,BreadcrumbList,HowTo,FAQPage. - Open Graph and Twitter cards with a share image.
robots.txt(allows AI crawlers),sitemap.xml, andllms.txt.- Visible FAQ and how-to content for answer engines.
Requirements
Python 3.8 or newer. No packages to install. No build step.
Fork and self-host
WebToolsHub is fully open source. Fork it, download it, and run your own copy.
- Fork
https://github.com/konkomaji/webtoolshubor download the ZIP. - Run locally with
python server.py, or deploy your own copy to Vercel (see above). - If you host under a different URL, update the base URLs in
index.html,domain-name-checker/index.html,connect/index.html,robots.txt,sitemap.xml, andllms.txt.
Contact
- Feature requests, bug reports, and feedback: work.konkomaji@gmail.com
- Or open an issue at
https://github.com/konkomaji/webtoolshub/issues - Author: Konko Maji on LinkedIn
Trademarks (Claude, ChatGPT, OpenAI, Gemini, Kimi, Cursor) belong to their respective owners and are shown only to indicate compatibility.
License
MIT. Free to use, change, and share. See LICENSE. Built by Konko Maji.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.