io.github.Opafex/mcp-web-research
Web search (Brave) and SSRF-safe page fetching, extraction and comparison for agents
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@opafex/mcp-web-researchclaude mcp add mcp-web-research -e 'BRAVE_SEARCH_API_KEY=<your brave_search_api_key>' -e 'WEB_RESEARCH_SEARCH_PROVIDER=<WEB_RESEARCH_SEARCH_PROVIDER>' -e 'USER_AGENT=<USER_AGENT>' -e 'SEARCH_CACHE_TTL=<SEARCH_CACHE_TTL>' -e 'PAGE_CACHE_TTL=<PAGE_CACHE_TTL>' -e 'FETCH_TIMEOUT_MS=<FETCH_TIMEOUT_MS>' -e 'MAX_HTML_SIZE=<MAX_HTML_SIZE>' -- npx -y @opafex/mcp-web-research@0.1.0
{
"mcpServers": {
"mcp-web-research": {
"command": "npx",
"args": [
"-y",
"@opafex/mcp-web-research@0.1.0"
],
"env": {
"BRAVE_SEARCH_API_KEY": "<your brave_search_api_key>",
"WEB_RESEARCH_SEARCH_PROVIDER": "<WEB_RESEARCH_SEARCH_PROVIDER>",
"USER_AGENT": "<USER_AGENT>",
"SEARCH_CACHE_TTL": "<SEARCH_CACHE_TTL>",
"PAGE_CACHE_TTL": "<PAGE_CACHE_TTL>",
"FETCH_TIMEOUT_MS": "<FETCH_TIMEOUT_MS>",
"MAX_HTML_SIZE": "<MAX_HTML_SIZE>"
}
}
}
}
Environment variables
BRAVE_SEARCH_API_KEYsecret Brave Search API key; enables web_search and research_topic (recommended)WEB_RESEARCH_SEARCH_PROVIDERSearch provider: "brave" or "duckduckgo" (unofficial HTML scraper, explicit opt-in only)USER_AGENTUser-Agent sent with every request (default identifies the bot and links to the repo)SEARCH_CACHE_TTLSearch result cache TTL in seconds (default: 900)PAGE_CACHE_TTLFetched page cache TTL in seconds (default: 3600)FETCH_TIMEOUT_MSPer-request timeout in milliseconds, across all redirect hops (default: 10000)MAX_HTML_SIZEMaximum bytes read from a page body (default: 1000000)
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Opafex MCPs
Open-source Model Context Protocol servers by Opafex. Each server is a standalone npm package usable with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.
Servers
| Package | Description | Status |
|---|---|---|
@opafex/mcp-enrichment | Company, contact, email & phone enrichment via Clearbit, Hunter.io, Twilio | Available |
@opafex/mcp-file-processor | Document text extraction, keyword detection, chunking | Available |
@opafex/mcp-web-research | Web search (Brave API), SSRF-guarded page fetch, research synthesis | Available |
@opafex/mcp-approval-queue | Human-in-the-loop approval gate — the agent asks, only a person approves (elicitation or CLI) | Available |
@opafex/knowledge-grid | Layered context for agents (a library, in its own repo) | Available |
Quick Start
# Clone and install
git clone https://github.com/opafex/opafex-mcps.git
cd opafex-mcps
npm install
npm run build
# Run the enrichment server (mock mode — no API keys needed)
node packages/enrichment/dist/index.js
Add to Claude Code
Create or edit .mcp.json in your project root:
{
"mcpServers": {
"enrichment": {
"command": "node",
"args": ["/path/to/opafex-mcps/packages/enrichment/dist/index.js"],
"env": {
"CLEARBIT_API_KEY": "sk-...",
"HUNTER_API_KEY": "...",
"TWILIO_ACCOUNT_SID": "...",
"TWILIO_AUTH_TOKEN": "..."
}
}
}
}
All servers work in mock mode when API keys are omitted — great for development and testing.
Development
npm install # Install all dependencies
npm run build # Build all packages
npm test # Run all tests
Adding a New Server
- Create
packages/<server-name>/withpackage.json,tsconfig.json, andsrc/ - Use
@opafex/mcp-sharedfor the server bootstrap (createMCPServer) - Define tools in
tools.ts, wire up inindex.ts - Add tests in
__tests__/
See packages/enrichment as a reference implementation.
Shared Utilities
@opafex/mcp-shared provides:
createMCPServer()/buildMCPServer()— Reusable MCP server bootstrap with tool/resource registration and stdio transportToolContext.elicit— ask the user a question through the client's UI (MCP elicitation), out of the model's reach- Validation helpers — Email, domain, phone format validation
License
MIT
Frequently asked questions
What is io.github.Opafex/mcp-web-research?
Web search (Brave) and SSRF-safe page fetching, extraction and comparison for agents
How do I install io.github.Opafex/mcp-web-research?
It runs on your machine. In Claude Code: claude mcp add mcp-web-research -e 'BRAVE_SEARCH_API_KEY=<your brave_search_api_key>' -e 'WEB_RESEARCH_SEARCH_PROVIDER=<WEB_RESEARCH_SEARCH_PROVIDER>' -e 'USER_AGENT=<USER_AGENT>' -e 'SEARCH_CACHE_TTL=<SEARCH_CACHE_TTL>' -e 'PAGE_CACHE_TTL=<PAGE_CACHE_TTL>' -e 'FETCH_TIMEOUT_MS=<FETCH_TIMEOUT_MS>' -e 'MAX_HTML_SIZE=<MAX_HTML_SIZE>' -- npx -y @opafex/mcp-web-research@0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.Opafex/mcp-web-research need an API key?
Yes. It expects BRAVE_SEARCH_API_KEY, which you set in its configuration.
Is io.github.Opafex/mcp-web-research open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.Opafex/mcp-web-research?
It is published by opafex. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.