Token导航 LogoToken导航TokenDH.com
Super Fetch MCP Server logo
开发工具未说明官方级别未说明来源级核验

Super Fetch MCP Server

MCP Server

一个将网页URL转换为干净可读Markdown内容的MCP服务器,适用于LLM输入和代码仓库内容提取。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptVS Code开发工具Claude DesktopClaudeCursorWindsurfClineVS CodeVS Code Insiders

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

j0hanz

提供方

j0hanz

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

获取MCP服务器的URL

](https://www.npmjs.com/package/%40j0hanz%2Ffetch-url-mcp) ![License](#contributing-and-license)

![Add to LM Studio](https://lmstudio.ai/install-mcp?name=fetch-url&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqMGhhbnovZmV0Y2gtdXJsLW1jcEBsYXRlc3QiXX0%3D) ![Install in Cursor](https://cursor.com/en/install-mcp?name=fetch-url&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqMGhhbnovZmV0Y2gtdXJsLW1jcEBsYXRlc3QiXX0%3D)

获取网页并将其转换为干净、可读的Markdown的MCP服务器。

概述

此服务器获取一个URL,获取页面,并删除所有不需要的内容——导航、侧边栏、横幅、脚本——只留下Markdown作为主要内容。它非常适合输入LLM,让它们在没有噪音的情况下获得页面的精华。它还可以识别GitHub、GitLab、Bitbucket和Gist URL,并重写它们以直接获取原始内容。

默认情况下,它在stdio上运行。通过 --http 如果您需要一个具有身份验证、速率限制、TLS和会话支持的适当HTTP端点。

主要特点

  • HTML到Markdown --将任何公共网页转换为干净、可读的Markdown,并包含元数据,如 title, url, contentSize,以及 truncated.
  • 智能URL处理 --识别GitHub、GitLab、Bitbucket和Gist页面URL,并在获取之前将其重写为原始内容端点。
  • 任务模式 --大页面或慢速页面可以作为带有进度更新的异步MCP任务运行,而不是阻塞。在HTTP模式下,任务绑定到经过身份验证的调用者,而不是单个MCP会话,因此它们可以在重新连接后作为同一个经过身份验证主体恢复。轮询任务状态显示任务摘要;数字进度仍然在带外 notifications/progress.
  • 自我记录 --包括 internal://instructions 资源和a get-help 提示,以便客户知道如何使用它。
  • HTTP模式 --可选地通过Streamable HTTP提供主机/源验证、承载或OAuth身份验证、速率限制、健康检查和TLS。

网络客户端

如果您想在没有任何MCP设置的情况下使用服务器,则可以使用基于浏览器的客户端。

需求

  • Node.js >= 24
  • 码头工人 (可选)--仅当您想运行容器映像时才需要

快速开始

将此添加到您的MCP客户端配置中:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

客户端配置

Install in VS Code

![Install in VS Code](https://insiders.vscode.dev/redirect/mcp/install?name=fetch-url&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40j0hanz%2Ffetch-url-mcp%40latest%22%5D%7D)

添加 .vscode/mcp.json:

{
  "servers": {
    "fetch-url-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

或通过CLI安装:

code --add-mcp '{"name":"fetch-url-mcp","command":"npx","args":["-y","@j0hanz/fetch-url-mcp@latest"]}'

有关更多信息,请参阅 VS代码MCP文档.

Install in VS Code Insiders

![Install in VS Code Insiders](https://insiders.vscode.dev/redirect/mcp/install?name=fetch-url&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40j0hanz%2Ffetch-url-mcp%40latest%22%5D%7D&quality=insiders)

添加 .vscode/mcp.json:

{
  "servers": {
    "fetch-url-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

或通过CLI安装:

code-insiders --add-mcp '{"name":"fetch-url-mcp","command":"npx","args":["-y","@j0hanz/fetch-url-mcp@latest"]}'

有关更多信息,请参阅 VS代码内部人员MCP文档.

Install in Cursor

![Install in Cursor](https://cursor.com/en/install-mcp?name=fetch-url&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqMGhhbnovZmV0Y2gtdXJsLW1jcEBsYXRlc3QiXX0%3D)

添加 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 光标MCP文档.

Install in Visual Studio

![Install in Visual Studio](https://vs-open.link/mcp-install?%7B%22fetch-url-mcp%22%3A%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40j0hanz%2Ffetch-url-mcp%40latest%22%5D%7D%7D)

对于解决方案范围的设置,请将此添加到 .mcp.json 在解决方案的根:

{
  "servers": {
    "fetch-url-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 Visual Studio MCP文档.

Install in Goose

添加 ~/.config/goose/config.yaml 在macOS/Linux或 %APPDATA%\Block\goose\config\config.yaml 在Windows上:

extensions:
  fetch-url-mcp:
    name: fetch-url-mcp
    cmd: npx
    args: ['-y', '@j0hanz/fetch-url-mcp@latest']
    enabled: true
    type: stdio
    timeout: 300

有关更多信息,请参阅 Goose扩展文档.

Install in LM Studio

![Add to LM Studio](https://lmstudio.ai/install-mcp?name=fetch-url&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqMGhhbnovZmV0Y2gtdXJsLW1jcEBsYXRlc3QiXX0%3D)

添加 ~/.lmstudio/mcp.json 在macOS/Linux或 %USERPROFILE%/.lmstudio/mcp.json 在Windows上:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 LM Studio MCP文档.

Install in Claude Desktop

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 克劳德桌面MCP文档.

Install in Claude Code

使用CLI:

claude mcp add fetch-url-mcp -- npx -y @j0hanz/fetch-url-mcp@latest

对于项目范围的配置,Claude Code写道 .mcp.json 与:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"],
      "env": {}
    }
  }
}

有关更多信息,请参阅 克劳德代码MCP文档.

Install in Windsurf

添加 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 Windsurf MCP文件.

Install in Amp

添加 ~/.config/amp/settings.json 在macOS/Linux上, %USERPROFILE%\.config\amp\settings.json 在Windows上,或 .amp/settings.json 对于工作区范围的配置:

{
  "amp.mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

或通过CLI安装:

amp mcp add fetch-url-mcp -- npx -y @j0hanz/fetch-url-mcp@latest

有关更多信息,请参阅 Amp文档.

Install in Cline

打开MCP服务器面板,选择 Configure MCP Servers,并将其添加到 cline_mcp_settings.json:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 临床MCP文档.

Install in Codex CLI

使用CLI:

codex mcp add fetch-url-mcp -- npx -y @j0hanz/fetch-url-mcp@latest

或将此添加到 ~/.codex/config.toml 或项目范围 .codex/config.toml:

[mcp_servers.fetch-url-mcp]
command = "npx"
args = ["-y", "@j0hanz/fetch-url-mcp@latest"]

有关更多信息,请参阅 食品法典委员会MCP文件.

Install in GitHub Copilot

添加 .vscode/mcp.json:

{
  "servers": {
    "fetch-url-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 .

Install in Warp

打开 Personal > MCP Servers 在“扭曲”中,选择 + Add,并添加具有以下功能的CLI服务器:

  • command: npx
  • args: ["-y", "@j0hanz/fetch-url-mcp@latest"]

或者在使用Warp的多服务器导入流时粘贴此JSON片段:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 扭曲MCP文档.

Install in Kiro

使用Kiro的MCP服务器面板或 Add to Kiro 安装流量。Kiro将工作区范围的MCP配置存储在 .kiro/settings/mcp.json 以及用户范围的配置 ~/.kiro/settings/mcp.json.

对于此服务器,请使用:

  • command: npx
  • args: ["-y", "@j0hanz/fetch-url-mcp@latest"]

有关更多信息,请参阅 Kiro MCP文件.

Install in Gemini CLI

添加 ~/.gemini/settings.json:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 Gemini CLI MCP文档.

Install in Zed

添加 ~/.config/zed/settings.json:

{
  "context_servers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"],
      "env": {}
    }
  }
}

有关更多信息,请参阅 Zed MCP文件.

Install in Augment

使用“增强设置”面板,手动添加服务器或选择 Import from JSON:

{
  "mcpServers": {
    "fetch-url-mcp": {
      "command": "npx",
      "args": ["-y", "@j0hanz/fetch-url-mcp@latest"]
    }
  }
}

有关更多信息,请参阅 补充MCP文件.

Install in Roo Code

使用Roo Code的MCP服务器UI或市场流程。

对于此服务器,请使用:

  • command: npx
  • args: ["-y", "@j0hanz/fetch-url-mcp@latest"]

有关更多信息,请参阅 Roo代码文档.

Install in Kilo Code

使用Kilo Code的MCP服务器UI或市场流程。

对于此服务器,请使用:

  • command: npx
  • args: ["-y", "@j0hanz/fetch-url-mcp@latest"]

有关更多信息,请参阅 基洛代码文档.

用例

  • LLM文件 --以Markdown格式抓取文档页面、博客文章或参考文章,并将其直接传递到上下文窗口中。
  • 存储库内容 --给它一个GitHub、GitLab或Bitbucket URL,它就会解析原始内容端点。也与Gists合作。
  • 慢速或大页面 --任务模式允许大型获取在后台运行,同时将单调的进度更新发送回客户端,而 tasks/get 显示最新的任务摘要字段,例如 statusMessage, createdAt, lastUpdatedAt, ttl,以及 pollInterval.

建筑

[MCP Client]
  ├─ stdio -> `src/index.ts` -> `startStdioServer()` -> `createMcpServer()`
  └─ HTTP (`--http`) -> `src/index.ts` -> `startHttpServer()` -> HTTP dispatcher
       ├─ `GET /health`
       ├─ `GET /.well-known/oauth-protected-resource`
       ├─ `GET /.well-known/oauth-protected-resource/mcp`
       └─ `POST|GET|DELETE /mcp`

`createMcpServer()`
  ├─ registers tool: `fetch-url`
  ├─ registers prompt: `get-help`
  ├─ registers resources:
  │    - `internal://instructions`
  ├─ enables capabilities: logging, resources, prompts, tasks
  └─ installs task handlers, log-level handling, and shutdown cleanup

`fetch-url` execution
  ├─ validate input with `fetchUrlInputSchema`
  ├─ normalize URL and block local/private targets unless allowed
  ├─ rewrite supported code-host URLs to raw endpoints when possible
  ├─ fetch content via the shared pipeline
  ├─ transform HTML into Markdown in the transform worker path
  └─ validate `structuredContent` with `fetchUrlOutputSchema`

请求的生命周期

[Client] -- initialize {protocolVersion, capabilities} --> [Server]
[Server] -- {protocolVersion, capabilities, serverInfo} --> [Client]
[Client] -- notifications/initialized --> [Server]
[Client] -- tools/call {name, arguments} --> [Server]
[Server] -- {content: [{type, text}], structuredContent?, isError?} --> [Client]

MCP表面

工具

fetch-url

获取一个URL并返回Markdown。只读,不执行JavaScript。支持作为大型或慢速页面的后台MCP任务运行。在任务模式下, tasks/gettasks/list 公开任务摘要,包括 status, statusMessage, createdAt, lastUpdatedAt, ttl,以及 pollInterval;数字进度仍未通过 notifications/progress.

参数类型必填说明
urlstring目标URL。最多2048个字符。

默认情况下,您将恢复文本内容。如果输出验证通过,响应还包括 structuredContent 键入字段: url, resolvedUrl, finalUrl, title, metadata, markdown, fetchedAt, contentSize,以及 truncatedA. true 的值 truncated 意味着内容达到了服务器端的大小限制。

要选择参与进度更新,请包括 _meta.progressToken 在工具调用中。令牌可以是字符串或数字,服务器可以发出单调的 notifications/progress 在fetch运行时进行更新。

要在任务模式下运行该工具,请包括 params.task = { ttl?: }. tasks/result 等待直到任务达到终端状态,然后返回已存储的输出或已取消或失败任务的终端错误有效载荷。任务总结和最终结果包括 _meta["io.modelcontextprotocol/related-task"] = { "taskId": "" }.

{
  "method": "tools/call",
  "params": {
    "name": "fetch-url",
    "arguments": {
      "url": "https://example.com/docs"
    },
    "task": {
      "ttl": 300000,
      "pollInterval": 1000
    },
    "_meta": {
      "progressToken": 7
    }
  }
}
1. [Client] -- tools/call {name: "fetch-url", arguments} --> [Server]
2. [Server] -- dispatch("fetch-url") --> [src/tools/fetch-url.ts]
3. [Handler] -- validate(fetchUrlInputSchema) --> normalize / fetch / transform
4. [Handler] -- validate(fetchUrlOutputSchema) --> assemble content + structuredContent
5. [Server] -- result or tool error --> [Client]

资源

资源URIMIME类型描述
fetch-url-mcp-instructionsinternal://instructionstext/markdown获取URL MCP服务器使用指南。

提示

提示参数描述
get-helptopic?返回获取URL服务器指令:工作流、任务模式和错误处理。可选值: capabilities, workflows, constraints, errors.

MCP能力

能力状态备注
完成确认广告 createServerCapabilities().
日志记录已确认在广告中 createServerCapabilities().
resourcesconfirmed服务器启动时注册了静态指令资源。订阅和列表更改支持不会发布广告。
提示已确认get-help 在服务器启动期间注册。
任务已确认在广告中 createServerCapabilities() 并由注册的任务处理程序和可选的工具任务支持提供支持。
进度通知已确认通过选择加入 _meta.progressToken.工具执行报告单调 notifications/progress 在获取和转换阶段进行更新。
任务状态更新已确认notifications/tasks/status 当任务状态发生变化时发出 TASKS_STATUS_NOTIFICATIONS=true.

工具注释

注释
readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHinttrue

结构化输出

该工具声明 outputSchema 并包括 structuredContent 在验证通过时的响应中。支持结构化输出的客户端直接获取类型化数据;其余的使用文本回退。

配置

所有配置都是通过环境变量进行的。对于基本的stdio用法,不需要设置任何内容。

HTTP服务器

变量默认值注释
HOST127.0.0.1绑定地址。非环回绑定还需要 ALLOW_REMOTE=true.
PORT3000监听端口 --http.
ALLOW_REMOTEfalse必须启用才能绑定到非环回接口。
ALLOWED_HOSTS允许添加 HostOrigin 价值观。
SERVER_MAX_CONNECTIONS0可选连接盖。
SERVER_TRUST_PROXYfalse信任 X-Forwarded-For / Forwarded 用于客户端IP解析。
SERVER_HEADERS_TIMEOUT_MSunset可选节点服务器调优。
SERVER_REQUEST_TIMEOUT_MSunset可选节点服务器调优。
SERVER_KEEP_ALIVE_TIMEOUT_MSunset可选的保持活动调优。
SERVER_KEEP_ALIVE_TIMEOUT_BUFFER_MSunset可选的保持活动调整缓冲区。
SERVER_MAX_HEADERS_COUNTunset可选标头计数限制。
SERVER_BLOCK_PRIVATE_CONNECTIONSfalse在不信任代理时启用入站专用网络保护。

身份验证和OAuth

变量默认值注释
ACCESS_TOKENSunset逗号或空格分隔的静态承载令牌。
API_KEYunset标头身份验证的备用静态令牌源。
OAUTH_ISSUER_URLunset与其他OAuth URL结合使用时启用OAuth模式
OAUTH_AUTHORIZATION_URLunset可选显式授权端点。
OAUTH_TOKEN_URLunset可选显式令牌终结点。
OAUTH_REVOCATION_URLunset可选OAuth吊销终结点。
OAUTH_REGISTRATION_URLunset可选OAuth动态客户端注册端点。
OAUTH_INTROSPECTION_URLunsetOAuth令牌自检所需。
OAUTH_REQUIRED_SCOPESempty身份验证后强制执行的必需作用域。
OAUTH_CLIENT_IDunset可选自检客户端ID
OAUTH_CLIENT_SECRETunset可选自检客户端机密。

传输层安全

变量默认值注释
SERVER_TLS_KEY_FILEunset与一起设置时启用HTTPS SERVER_TLS_CERT_FILE.
SERVER_TLS_CERT_FILEunsetTLS证书路径。
SERVER_TLS_CA_FILEunset可选的自定义CA包。

获取

变量默认值注释
ALLOW_LOCAL_FETCHfalse允许环回和专用网络获取目标。
FETCH_TIMEOUT_MS15000网络获取超时(毫秒)。
USER_AGENTfetch-url-mcp/覆盖出站用户代理字符串

工具输出

变量默认值注释
MAX_INLINE_CONTENT_CHARS00 意味着没有明确的内联截断限制。

任务

变量默认值注释
TASKS_MAX_TOTAL5000保留的任务总容量,包括到期前已完成/取消的任务。
TASKS_MAX_PER_OWNER1000每个所有者保留的任务上限,固定在总上限内。
TASKS_STATUS_NOTIFICATIONSfalse启用任务的状态通知。
TASKS_REQUIRE_INTERCEPTIONtrue需要拦截才能执行具有任务能力的工具。

改造工人

变量默认值注释
TRANSFORM_CANCEL_ACK_TIMEOUT_MS200取消确认超时。
TRANSFORM_WORKER_MODEthreadsWorker执行模式。
TRANSFORM_WORKER_MAX_OLD_GENERATION_MBunset可选的工作内存限制。
TRANSFORM_WORKER_MAX_YOUNG_GENERATION_MBunset可选的工作内存限制。
TRANSFORM_WORKER_CODE_RANGE_MBunset可选的工作内存限制。
TRANSFORM_WORKER_STACK_MBunset可选的工作堆栈大小。

内容清理

变量默认值注释
FETCH_URL_MCP_EXTRA_NOISE_TOKENSempty额外的噪声消除令牌。
FETCH_URL_MCP_EXTRA_NOISE_SELECTORSempty用于去除噪声的额外DOM选择器。
FETCH_URL_MCP_LOCALE系统默认值提取启发式的区域设置覆盖。
MARKDOWN_HEADING_KEYWORDS内置列表覆盖清理时使用的标题关键字。

日志记录

变量默认值注释
LOG_LEVELinfodebug, info, warn,或 error.
LOG_FORMATtext设置为 json 对于结构化日志。

HTTP端点

方法路径授权目的
GET/health不,除非 ?verbose=1 在远程服务器上基本运行状况响应,带有可选诊断。
GET/.well-known/oauth-protected-resourcenoOAuth保护的资源元数据。
GET/.well-known/oauth-protected-resource/mcpnoMCP端点的受OAuth保护的资源元数据。
POST/mcpyes会话初始化和JSON-RPC请求。
GET/mcpyes会话绑定服务器到客户端流处理。
DELETE/mcp会话关闭。

安全

控制状态注释
主机和源验证已实现HTTP请求被拒绝,除非 HostOrigin 匹配从环回构建的分配列表、配置的主机,以及 ALLOWED_HOSTS.
身份验证已实现HTTP模式支持本地静态承载令牌或OAuth令牌自检;远程绑定需要OAuth。
协议版本检查已实现会话绑定MCP HTTP请求验证 MCP-Protocol-Version 并将其固定到协商的会话版本。
速率限制已实现请求在路由分派之前通过HTTP速率限制器。启用 SERVER_TRUST_PROXY=true 因此,限制适用于转发的客户端IP,而不是代理跳转。
出站SSRF保护已实施本地/私有IP、元数据端点和 .local/.internal 主机被阻止,除非 ALLOW_LOCAL_FETCH=true.
TLS可选配置TLS密钥和证书文件时启用HTTPS。
Stdio日志安全已实现服务器日志写入stderr,而不是stdout,因此Stdio MCP流量保持干净。

发展

基本命令

命令描述
npm run build清理、编译TypeScript、复制资产。
npm run dev观看TypeScript编译模式。
npm run dev:run使用以下命令运行服务器 --watch.env 支持。
npm start启动已编译的服务器。
npm test运行完整的测试套件。
npm run lint使用ESLint进行Lint。
npm run lint:fix自动修复棉绒问题。
npm run type-check类型检查来源和测试。
npm run format使用Prettier格式化。
npm run inspector构建并启动MCP检查器。

All npm scripts

脚本命令
cleannode scripts/tasks.mjs clean
buildnode scripts/tasks.mjs build
copy:assetsnode scripts/tasks.mjs copy:assets
preparenpm run build
devtsc --watch --preserveWatchOutput
dev:runnode --env-file=.env --watch dist/index.js
startnode dist/index.js
formatprettier --write .
type-checknode scripts/tasks.mjs type-check
type-check:srcnode node_modules/typescript/bin/tsc -p tsconfig.json --noEmit
type-check:testsnode node_modules/typescript/bin/tsc -p tsconfig.test.json --noEmit
type-check:diagnosticstsc --noEmit --extendedDiagnostics
type-check:tracenode -e "require('fs').rmSync('.ts-trace',{recursive:true,force:true})" && tsc --noEmit --generateTrace .ts-trace
linteslint .
lint:testseslint src/__tests__
lint:fixeslint . --fix
testnode scripts/tasks.mjs test
test:fastnode --test --import tsx/esm src/__tests__/**/*.test.ts node-tests/**/*.test.ts
test:coveragenode scripts/tasks.mjs test --coverage
knipknip
knip:fixknip --fix
inspectornpm run build && npx -y @modelcontextprotocol/inspector node dist/index.js --stdio
prepublishOnlynpm run lint && npm run type-check && npm run build

构建与发布

  • npm run prepublishOnly 运行lint、类型检查并构建为单个释放门。
  • CI工作流位于 .github/workflows/.
  • Dockerfiledocker-compose.yml 包括集装箱运输。
  • 发布于npm @j0hanz/fetch-url-mcp.

故障排除

症状可能原因修复
服务器输出与stdio上的MCP流量混合日志发送到stdout确保所有日志写入stderr;默认情况下,服务器会执行此操作。
HTTP模式返回 403主机/源不匹配将域添加到 ALLOWED_HOSTS 或验证环回绑定。
HTTP模式速率限制了来自代理的每个请求SERVER_TRUST_PROXY 未启用启用 SERVER_TRUST_PROXY=true 当服务器位于受信任的反向代理之后时。
HTTP模式返回 401令牌缺失或无效设置 ACCESS_TOKENS 或者为远程绑定配置OAuth环境变量。
Fetch返回私有IP错误SSRF保护阻止了目标设置 ALLOW_LOCAL_FETCH=true 如果目标是故意本地的。
truncated: true 响应内容超出内联限制增加 MAX_INLINE_CONTENT_CHARS 或接受截断的输出。
转换超时或工作程序崩溃大型或复杂的HTML调整 TRANSFORM_WORKER_MAX_OLD_GENERATION_MB 或增加 FETCH_TIMEOUT_MS.
客户端配置不起作用客户端配置格式错误检查匹配项 `` 上面的块——配置键因客户端而异。

学分

贡献和许可

欢迎拉取请求。请在提交前确保这些通过:

  1. npm run lintnpm run type-check
  2. npm test
  3. npm run format

许可证

MIT许可证。看 许可证 了解详情。

目录标签

目录标签

TypeScriptVS Code开发工具HTML转Markdown本地部署网页内容提取MCP服务器GitHub内容处理LLM预处理

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS CodeVS Code Insiders

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP