Content
# Secure Fetch
This project implements a secure URL fetching tool using FastMCP.
## Prerequisites
- Python 3.7+
- uv (Python package installer and environment manager)
## Installation
1. Install uv if you haven't already:
```bash
pip install uv
```
2. Create a new virtual environment and install dependencies:
```bash
uv venv
source .venv/bin/activate
uv pip install fastmcp requests
```
## Usage
1. Set the allowlist environment variable (optional):
```bash
export SECURE_FETCH_ALLOWLIST="example.com,trusted-domain.org"
```
2. Run the script:
```bash
uv run main.py
```
## Features
- Fetches URLs securely
- Resolves domains to IPs
- Checks for private/internal IPs
- Handles redirects (up to 3)
- Supports custom HTTP methods and headers
- Uses an allowlist for trusted domains/IPs
## Security Considerations
- The tool prevents access to private/internal IPs unless explicitly allowed
- Only HTTP and HTTPS schemes are permitted
- SNI is set to match the hostname for HTTPS connections
## Example Usage
Once the script is running, you can use the `fetch_url` function to securely fetch URLs. The function will return a dictionary containing the status code, response body, and content length.
## Note
This tool is designed for secure URL fetching. Always review and understand the code before using it in your environment.
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
ai-phone-agent
AI Phone Agent starter kit - OpenAI Realtime phone agent for PSTN: Twilio...
ultraship
The only Claude Code plugin you need. 22 skills, 21 tools, 5 agents, 2 MCP...
mcp-1c
mcp-1c: MCP Server integrates AI assistants with 1C:Enterprise, generating...