FetchSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Model Context Protocol server for fetching web content and processing images. This allows Claude Desktop (or any MCP client) to fetch web content and handle images appropriately.
Quick Start (For Users)
To use this tool with Claude Desktop, simply add the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"tools": {
"imageFetch": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-fetch"]
}
}
}This will automatically download and run the latest version of the tool when needed.
Required Setup
- Enable Accessibility for Claude:
- Open System Settings
- Go to Privacy & Security > Accessibility
- Click the "+" button
- Add Claude from your Applications folder
- Turn ON the toggle for Claude
This accessibility setting is required for automated clipboard operations (Cmd+V) to work properly.
Features
- Web Content Extraction: Automatically extracts and formats web content as markdown
- Article Title Extraction: Extracts and displays the title of the article
- Image Processing: Optional processing of images from web pages with optimization (disabled by default, enable with
enableFetchImages: true) - File Saving: Images are automatically saved to
~/Downloads/mcp-fetch/YYYY-MM-DD/directory when processed - Dual Output: Both file saving and optional Base64 encoding for AI display
- Pagination Support: Supports pagination for both text and images
- JPEG Optimization: Automatically optimizes images as JPEG for better performance
- GIF Support: Extracts first frame from animated GIFs
For Developers
The following sections are for those who want to develop or modify the tool.
Prerequisites
- Node.js 18+
- macOS (for cl
2c4ed4181c4fOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add mcp-fetch -- npx -y @kazuph/[email protected]
{
"mcpServers": {
"mcp-fetch": {
"command": "npx",
"args": [
"-y",
"@kazuph/[email protected]"
]
}
}
}Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
imageFetch | read | 画像取得に強いMCPフェッチツール。記事本文をMarkdown化し、ページ内の画像を抽出・最適化して返します。 新APIの既定(imagesを指定した場合) - 画像: 取得してBASE64で返却(最大3枚を縦結合した1枚JPEG) - 保存: しない(オプトイン) - クロスオリジン: 許可(CDN想定) パラメータ(新API) - url: 取得先URL(必須) - images: true | { output, layout, maxCount, startIndex, size, originPolicy, saveDir } - output: |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (6)
<img src="http://127.0.0.1:${PORT_IMG}/img.jpg" alt="r">`http://127.0.0.1:${PORT_PAGE}/`,`http://127.0.0.1:${PORT_PAGE}/`,res.writeHead(302, { Location: `http://127.0.0.1:${port}/dest` });`http://127.0.0.1:${port}/redir`,@modelcontextprotocol/sdk, @mozilla/readability, jsdom, robots-parser, sharp, turndown, zod, zod-to-json-schema
Gates applied: no_behavioural_pass.
2c4ed4181c4ffull audit observations/trust-audit/mcp-server/kazuph__fetch-5.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 2c4ed4181c4f | SAFE | B | 89 | first audit |
Questions
What tools does Fetch expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Fetch safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Fetch need?
No credential environment variables were found in its source, so it appears to need none.
How does Fetch run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @kazuph/mcp-fetch at 1.6.3.
How current is this page?
The grade is for one exact copy of the source (2c4ed4181c4f), read on 2026-10-08. The repository is watched and re-audited when it changes.