whed-tools
Click on "Install 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., "@whed-toolsExtract WHED profile from https://harvard.edu"
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.
WHED Tools — Higher Education Intelligence Pipeline
An MCP-native pipeline for collecting structured intelligence on higher education institutions, aligned with the IAU World Higher Education Database (WHED) schema.
Scrape → Extract → Validate → Save — the Host LLM performs extraction directly using MCP tools. No external LLM required.
Built on samirsaci/mcp-webscraper.
Overview
Step | How |
Scrape | MCP |
Extract | Host LLM reads scraped content, uses |
Validate |
|
Save |
|
Related MCP server: extrapify
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ HOST LLM (Claude in Cursor / any MCP client) │
│ │
│ crawl_website(url) → get_extraction_schema() │
│ scrape_url(url) get_db_context(domain) │
│ │ │
│ Host LLM reads content and fills JSON │
│ │ │
│ validate_profile(json) → save_profile(domain, json) │
└─────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
output/pages/ schema.py output/structured/
output/sites/ db_reference.pyProject Structure
mcp-webscraper/
├── MCP_server/
│ ├── server.py # MCP entry — 9 tools (scrape + extraction)
│ ├── models/
│ └── utils/
│ └── web_scraper.py # Scraper (static, Playwright, pdfplumber)
├── schema.py # SchoolProfile, EXTRACTION_TEMPLATE, FIELD_URL_HINTS
├── db_reference.py # WHED DB — picklists, reference examples, ground truth
├── run_scraper.py # Standalone CLI — schema-driven crawl, PDF extraction
├── docs/
│ ├── USAGE_GUIDE.md # Architecture, flow, outputs, comparison
│ ├── PROJECT_ITERATIONS.md
│ └── MCP_VS_N8N_COMPARISON.md
└── output/
├── pages/ # Per-page cache from crawl
├── sites/ # Combined site crawl
├── structured/ # MCP extraction output
├── ground_truth/ # WHED DB exports
└── stages/ # Human review stagingPrerequisites
Python 3.10+
uv package manager
Cursor (for MCP usage)
MySQL with WHED database (optional — for DB grounding and comparison)
Installation
git clone https://github.com/your-username/mcp-webscraper.git
cd mcp-webscraper
uv sync
uv run playwright install chromiumCopy .env.example to .env and add WHED DB credentials (if available).
Connect MCP to Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"whed-tools": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/mcp-webscraper",
"python",
"MCP_server/server.py"
]
}
}
}MCP Tools (whed-tools)
Tool | Description |
| Fetch HTML from a URL |
| Extract by CSS selector |
| First matching element |
| Multiple URLs |
| Discover and crawl site ( |
| Download a PDF and extract its text content |
| WHED field template (REQUIRED only) |
| Picklists + reference example for domain |
| Pydantic + DB picklist validation |
| Save profile to |
Example prompt
"Crawl https://www.example.edu and extract a WHED profile. Use get_extraction_schema and get_db_context, then validate and save."
Standalone Scripts
Scrape (schema-driven, with PDFs)
Edit run_scraper.py (TARGET_URL, MODE, etc.), then:
uv run python run_scraper.pyUses
schema.FIELD_URL_HINTSto follow only relevant URLsExtracts text from PDFs via
pdfplumber
Schema & DB Grounding
REQUIRED fields are in
EXTRACTION_TEMPLATE; DEFERRED fields are in Pydantic but not prompted.With WHED DB: picklists, few-shot examples, and post-validation reduce hallucination.
Edit
schema.pyto add or reactivate fields.
Documentation
Doc | Content |
Architecture, flow, and outputs | |
Evolution from Ollama to MCP-native | |
KPI comparison with N8N + Firecrawl |
License
MIT — based on samirsaci/mcp-webscraper.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dasistaiden/MCP-web-scrapper-and-LLM-extractor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server