获取MCP服务器
一个MCP服务器,用于获取多种格式的web内容——HTML、JSON、纯文本、Markdown、可读文章内容和YouTube转录本。
工具
所有工具都接受以下通用参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
url | string | 是 | 要获取的URL |
headers | object | 否 | 要包含在请求中的自定义标头 |
max_length | number | 否 | 返回的最大字符数(默认值:5000) |
start_index | number | 否 | 从此字符索引开始(默认值:0) |
proxy | string | 否 | 代理URL(例如。 http://proxy:8080) |
- fetch_html —获取一个网站并返回其原始HTML内容。
- fetch_markdown —获取一个网站并返回转换为Markdown的内容。
- fetch_txt —获取一个网站并返回删除了HTML标签、脚本和样式的纯文本。
- fetch_json —获取一个URL并返回JSON响应。
- fetch_readable —使用以下命令获取网站并提取主要文章内容 Mozilla可读性,返回为Markdown。剥离导航、广告和样板。非常适合发表文章和博客文章。
- fetch_youtube_transcript —获取YouTube视频的字幕/文字记录。用途
yt-dlp如果可用,则直接从页面中提取。接受额外lang参数(默认值:"en")选择字幕语言。
安装
作为MCP服务器
添加到MCP客户端配置中:
JSON``` 1 2 3 4 5 6 7 8{ “mcpServers”: { “fetch”: { “command”: “npx”, “args”: [“mcp-fetch-server”] } } }
### 作为CLI
BASH```
1npx mcp-fetch <command> <url> [flags]
或全局安装:
BASH```
1
2npm install -g mcp-fetch-server
mcp-fetch
## CLI使用情况
1mcp-fetch
### 命令
| 命令 | 描述 |
| --- | --- |
| `html` | 获取URL并返回原始HTML |
| `markdown` | 获取一个URL并返回Markdown |
| `readable` | 获取一个URL并将文章内容作为Markdown返回(通过可读性) |
| `txt` | 获取URL并返回纯文本 |
| `json` | 获取URL并返回JSON |
| `youtube` | 获取YouTube视频记录 |
### 旗帜
| 标志 | 描述 |
| --- | --- |
| `--max-length <N>` | 要返回的最大字符数 |
| `--start-index <N>` | 从这个字符索引开始 |
| `--proxy <URL>` | 代理URL |
| `--lang <code>` | YouTube成绩单的语言代码(默认值: `en`) |
| `--help` | 显示帮助消息 |
| `--version` | 显示版本 |
### 例子
BASH```
1
2
3
4
5
6
7
8
9
10# Fetch a page as markdown
mcp-fetch markdown https://example.com
# Extract article content without boilerplate
mcp-fetch readable https://example.com/blog/post
# Get a YouTube transcript in Spanish
mcp-fetch youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang es
# Fetch with a length limit
mcp-fetch html https://example.com --max-length 10000
# Fetch through a proxy
mcp-fetch json https://api.example.com/data --proxy http://proxy:8080
环境变量
| 变量 | 描述 |
|---|---|
DEFAULT_LIMIT | 响应的默认字符限制(默认值: 5000,设置为 0 无限制) |
MAX_RESPONSE_BYTES | 最大响应正文大小(以字节为单位)(默认值: 10485760 /10 MB) |
自定义限制示例:
JSON``` 1 2 3 4 5 6 7 8 9 10 11{ “mcpServers”: { “fetch”: { “command”: “npx”, “args”: [“mcp-fetch-server”], “env”: { “DEFAULT_LIMIT”: “50000” } } } }
## 特性
- 获取HTML、JSON、纯文本或Markdown格式的web内容
- 使用Mozilla可读性提取文章内容(条形广告、导航、样板)
- 提取YouTube视频转录(通过 `yt-dlp` 或直接提取)
- 防火墙后请求的代理支持
- 分页与 `max_length` 和 `start_index`
- 自定义请求标头
- SSRF保护(阻止私有/本地主机地址和DNS重新绑定)
- 响应大小限制以防止内存耗尽
## 发展
BASH```
1
2
3
4bun install
bun run dev # start with watch mode
bun test # run tests
bun run build # build for production
许可证
该项目根据MIT许可证获得许可。