MCP Internet Server
Enables web search and webpage content fetching with SSRF protections, returning structured results.
README
MCP Internet Server
Small MCP server exposing two tools for internet access:
search_internet(query, max_results=5)— perform a web search and return structured results.fetch_webpage_content(url)— fetch and extract text from an HTML page with SSRF protections.
Features
- Structured (dict) responses for easier downstream processing.
- SSRF protections: optional
ALLOWED_DOMAINSallowlist and private IP blocking. - JSON-line audit logging (path configurable via
AUDIT_LOG_PATH). - Unit tests using
pytest.
Quick start
- Create and activate a virtualenv (recommended):
python -m venv .venv
# Windows
.venv\Scripts\activate
# Unix/macOS
source .venv/bin/activate
- Install dependencies:
python -m pip install -r requirements.txt
- Run a quick smoke test:
python run_test.py
- Run unit tests:
python -m pytest -q
- Run test coverage:
python -m pytest --cov=server --cov-report=term-missing
- MCP json to use in inference engine
{
"mcpServers": {
"internet_assistant": {
"command": "PATH TO YOUR PYTHON EXECUTABLE",
"args": [
"PATH TO YOUR server.py"
]
}
}
}
Configuration
ALLOWED_DOMAINS: optional comma-separated list of domains thatfetch_webpage_contentis allowed to access. If unset, fetching is allowed for any public hostname (subject to IP checks).AUDIT_LOG_PATH: path to write newline-delimited JSON audit events (default:audit.log).METRICS_PORT: port to expose Prometheus metrics via HTTP. Set to0or unset to disable metrics export.
Notes
- The project prefers the
ddgspackage for search;duckduckgo_searchfallback is supported. - Audit log rotation, remote logging, or more advanced rate-limiting are not included but recommended for production deployments.
Files of interest
server.py— main MCP tools implementationrun_test.py— smoke teststests/test_server.py— pytest unit testsrequirements.txt— dependencies
License: MIT
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.