
Fetch URL MCP Server
io.github.j0hanz由 GitHub 帳號 j0hanz 發布v3.0.1更新於 Oct 27, 2026
An MCP server that fetches web pages and converts them to clean, readable Markdown.
概覽
抓取公開網頁並把正文轉成乾淨、易讀的 Markdown,還會把 GitHub、GitLab、Bitbucket 與 Gist 連結改寫成原始內容位址。
- 可以做什麼
- 抓取指定網址,回傳可讀的 Markdown,並附上標題、最終網址、內容大小與是否截斷等中繼資料
- 移除導覽列、側邊欄、橫幅與腳本,只保留頁面主體內容
- 把程式碼託管平台的頁面連結(GitHub、GitLab、Bitbucket、Gist)改寫為原始內容端點後再抓取
- 將大型或緩慢頁面的抓取以背景任務執行,支援進度通知與任務狀態查詢
- 透過內建說明資源與說明提示讀取使用指引
- 適用情境
- 適合需要讓助理閱讀文件頁、部落格文章或儲存庫檔案正文,而不受頁面雜項干擾的情境。也適合耗時較長或體積較大的頁面,改在背景抓取而不阻塞對話。
- 執行需求
- 透過 npx 以 stdio 方式在本機執行,需要 Node.js 24 或更新版本。基本 stdio 用法不需任何設定或憑證。可選的 HTTP 模式(--http)以環境變數設定,例如 HOST、PORT、ACCESS_TOKENS 或 OAuth 相關變數,以及 TLS 憑證檔案路徑。使用容器執行時 Docker 為選項。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Fetch URL MCP Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Fetch URL MCP Server
[Install in VS Code] [Install in VS Code Insiders] [Install in Visual Studio]
[Add to LM Studio] [Install in Cursor]
An MCP server that fetches web pages and converts them to clean, readable Markdown.
Overview
This server takes a URL, fetches the page, and strips away everything you don't need — navigation, sidebars, banners, scripts — leaving just the main content as Markdown. It's perfect for feeding into LLMs, giving them the distilled essence of a page without the noise. It also recognizes GitHub, GitLab, Bitbucket, and Gist URLs and rewrites them to fetch the raw content directly.
By default it runs over stdio. Pass --http if you need a proper HTTP endpoint with auth, rate limiting, TLS, and session support.
Key Features
- HTML to Markdown — Turns any public web page into clean, readable Markdown with metadata like
title,url,contentSize, andtruncated. - Smart URL handling — Recognizes GitHub, GitLab, Bitbucket, and Gist page URLs and rewrites them to raw-content endpoints before fetching.
- Task mode — Big or slow pages can run as async MCP tasks with progress updates, instead of blocking. In HTTP mode, tasks are bound to the authenticated caller rather than a single MCP session, so they can be resumed after reconnecting as the same authenticated subject. Polling task state exposes task summaries; numeric progress remains out-of-band via
notifications/progress. - Self-documenting — Includes an
internal://instructionsresource and aget-helpprompt so clients know how to use it. - HTTP mode — Optionally serves over Streamable HTTP with host/origin validation, bearer or OAuth auth, rate limiting, health checks, and TLS.
Web Client
A browser-based client is available if you want to use the server without any MCP setup.
Requirements
- Node.js >= 24
- Docker (optional) — only needed if you want to run the container image
Quick Start
Add this to your MCP client config:
Client Configuration
Install in VS Code
Add to .vscode/mcp.json:
Or install via CLI:
For more info, see VS Code MCP docs.
Install in VS Code Insiders
Add to .vscode/mcp.json:
Or install via CLI:
For more info, see VS Code Insiders MCP docs.
Install in Visual Studio
For solution-scoped setup, add this to .mcp.json at the solution root:
For more info, see Visual Studio MCP docs.
Install in Goose
Add to ~/.config/goose/config.yaml on macOS/Linux or %APPDATA%\Block\goose\config\config.yaml on Windows:
For more info, see Goose extension docs.
Install in LM Studio
Add to ~/.lmstudio/mcp.json on macOS/Linux or %USERPROFILE%/.lmstudio/mcp.json on Windows:
For more info, see LM Studio MCP docs.
Install in Claude Desktop
Add to claude_desktop_config.json:
For more info, see Claude Desktop MCP docs.
Install in Claude Code
Use the CLI:
For project-scoped config, Claude Code writes .mcp.json with:
For more info, see Claude Code MCP docs.
Install in Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
For more info, see Windsurf MCP docs.
Install in Amp
Add to ~/.config/amp/settings.json on macOS/Linux, %USERPROFILE%\.config\amp\settings.json on Windows, or .amp/settings.json for workspace-scoped config:
Or install via CLI:
For more info, see Amp docs.
Install in Cline
Open the MCP Servers panel, choose Configure MCP Servers, and add this to cline_mcp_settings.json:
For more info, see Cline MCP docs.
Install in Codex CLI
Use the CLI:
Or add this to ~/.codex/config.toml or project-scoped .codex/config.toml:
For more info, see Codex MCP docs.
Install in Warp
Open Personal > MCP Servers in Warp, choose + Add, and either add a CLI server with:
command:npxargs:["-y", "@j0hanz/fetch-url-mcp@latest"]
Or paste this JSON snippet when using Warp's multi-server import flow:
For more info, see Warp MCP docs.
Install in Kiro
Use Kiro's MCP Servers panel or the Add to Kiro install flow. Kiro stores workspace-scoped MCP config in .kiro/settings/mcp.json and user-scoped config in ~/.kiro/settings/mcp.json.
For this server, use:
command:npxargs:["-y", "@j0hanz/fetch-url-mcp@latest"]
For more info, see Kiro MCP docs.
Install in Augment
Use the Augment Settings panel and either add the server manually or choose Import from JSON:
For more info, see Augment MCP docs.
Install in Roo Code
Use Roo Code's MCP Servers UI or marketplace flow.
For this server, use:
command:npxargs:["-y", "@j0hanz/fetch-url-mcp@latest"]
For more info, see Roo Code docs.
Install in Kilo Code
Use Kilo Code's MCP Servers UI or marketplace flow.
For this server, use:
command:npxargs:["-y", "@j0hanz/fetch-url-mcp@latest"]
For more info, see Kilo Code docs.
Use Cases
- Documentation for LLMs — Grab a docs page, blog post, or reference article as Markdown and pass it straight into a context window.
- Repository content — Hand it a GitHub, GitLab, or Bitbucket URL and it resolves the raw content endpoint. Works with Gists too.
- Slow or large pages — Task mode lets big fetches run in the background while sending monotonic progress updates back to the client, while
tasks/getexposes the latest task summary fields such asstatusMessage,createdAt,lastUpdatedAt,ttl, andpollInterval.
Architecture
Request Lifecycle
MCP Surface
Tools
fetch-url
Takes a URL and returns Markdown. Read-only, with no JavaScript execution. Supports running as a background MCP task for large or slow pages. In task mode, tasks/get and tasks/list expose task summaries including status, statusMessage, createdAt, lastUpdatedAt, ttl, and pollInterval; numeric progress remains out-of-band via notifications/progress.
You get text content back by default. If output validation passes, the response also includes structuredContent with typed fields: url, resolvedUrl, finalUrl, title, metadata, markdown, fetchedAt, contentSize, and truncated. A true value for truncated means the content hit a server-side size limit.
To opt into progress updates, include _meta.progressToken in the tool call. The token may be a string or number, and the server may emit monotonic notifications/progress updates while the fetch runs.
To run the tool in task mode, include params.task = { ttl?: <ms> }. tasks/result waits until the task reaches a terminal status and then returns the stored output or a terminal error payload for cancelled or failed tasks. Task summaries and final results include _meta["io.modelcontextprotocol/related-task"] = { "taskId": "<server-task-id>" }.
Resources
Prompts
MCP Capabilities
Tool Annotations
Structured Output
The tool declares an outputSchema and includes structuredContent in the response when validation passes. Clients that support structured output get typed data directly; the rest use the text fallback.
Configuration
All configuration is through environment variables. For basic stdio usage, nothing needs to be set.
HTTP Server
Authentication & OAuth
TLS
Fetching
Tool Output
Tasks
Transform Workers
Content Cleanup
Logging
HTTP Endpoints
Security
Development
Essential Commands
All npm scripts
Build and Release
npm run prepublishOnlyruns lint, type-check, and build as a single release gate.- CI workflows are under
.github/workflows/. Dockerfileanddocker-compose.ymlare included for containerized runs.- Published on npm as
@j0hanz/fetch-url-mcp.
Troubleshooting
Credits
Contributing and License
Pull requests welcome. Please make sure these pass before submitting:
npm run lintandnpm run type-checknpm testnpm run format
License
MIT License. See LICENSE for details.
來源:README.md,提交 3de1b5a
工具
0版本歷史
1- v3.0.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分