使用说明
MCP提取
提供web内容获取功能的模型上下文协议服务器 已删除robots.txt检查此服务器使LLM能够从网页中检索和处理内容,将HTML转换为markdown以便于使用。
这是原始mcp服务器获取的修改版本,删除了所有robots.txt检查,允许不受限制地访问web内容。
[!小心] 此服务器可以访问本地/内部IP地址,可能存在安全风险。使用此MCP服务器时请小心,以确保不会暴露任何敏感数据。此外,此版本忽略了可能违反某些网站访问策略的robots.txt限制。
fetch工具将截断响应,但通过使用 start_index 参数,您可以指定从哪里开始内容提取。这让模型可以分块阅读网页,直到找到所需的信息。
可用工具
fetch-从互联网获取URL并将其内容提取为markdown。url(字符串,必填):要获取的URLmax_length(整数,可选):返回的最大字符数(默认值:5000)start_index(整数,可选):从此字符索引开始内容(默认值:0)raw(boolean,可选):获取原始内容而不进行markdown转换(默认值:false)
可用提示
- 获取
- 获取一个URL并将其内容提取为markdown
- 论据:
url(字符串,必填):要获取的URL
安装和使用
地方发展设置
-
克隆或下载源代码:
git clone https://github.com/LangGPT/mcp-fetch.git cd mcp-fetch -
使用uv安装依赖项:
uv sync -
测试服务器:
uv run python -m mcp_fetch --help
与Claude Desktop一起使用(本地源代码)
-
创建Claude桌面配置:
{ "mcpServers": { "mcp-fetch": { "command": "uv", "args": [ "run", "--directory", "/path/to/your/mcp-fetch", "python", "-m", "mcp_fetch" ] } } } -
将配置添加到Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
重新启动克劳德桌面 加载新服务器。
与VS代码(本地源代码)一起使用
添加到您的VS代码设置或 .vscode/mcp.json:
{
"mcp": {
"servers": {
"mcp-fetch": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/your/mcp-fetch",
"python",
"-m",
"mcp_fetch"
]
}
}
}
}
通过包管理器安装
使用紫外线(推荐)
使用时 uv 不需要特定的安装。我们将
使用 uvx 直接运行 mcp获取:
uvx mcp-fetch
使用pip
pip install mcp-fetch
安装后,按以下方式运行:
python -m mcp_fetch
包管理器配置
带uvx的克劳德桌面
{
"mcpServers": {
"mcp-fetch": {
"command": "uvx",
"args": ["mcp-fetch"]
}
}
}
带有uvx的VS代码
{
"mcp": {
"servers": {
"mcp-fetch": {
"command": "uvx",
"args": ["mcp-fetch"]
}
}
}
}
发展
建立开发环境
-
安装开发依赖项:
uv sync --dev -
运行linting和类型检查:
uv run ruff check uv run pyright -
构建包:
uv build
测试
在本地测试服务器:
uv run python -m mcp_fetch
使用MCP检查器进行调试:
npx @modelcontextprotocol/inspector uv run python -m mcp_fetch
进行更改
- 在中编辑源代码
src/mcp_fetch/ - 使用测试您的更改
uv run python -m mcp_fetch - 更新版本
pyproject.toml如有需要 - 运行测试和梳理
出版
发布到PyPI
-
构建包:
uv build -
发布到PyPI:
uv publish或使用麻绳:
pip install twine twine upload dist/*
发布到GitHub
-
初始化git存储库(如果尚未完成):
git init git branch -m main -
添加和提交文件:
git add . git commit -m "Initial commit: MCP Web Fetch server without robots.txt checking" -
创建GitHub存储库并推送:
# Create repository on GitHub first, then: git remote add origin https://github.com/LangGPT/mcp-fetch.git git push -u origin main -
在GitHub上创建一个版本:
- 转到GitHub上的存储库
- 点击“发布”→ “创建新版本”
- 标签版本:
v0.6.3 - 发布标题:
v0.6.3 - MCP Fetch - 描述您的更改
- 发布发布
构建Docker镜像
docker build -t mcp-fetch .
docker tag mcp-fetch LangGPT/mcp-fetch:latest
docker push LangGPT/mcp-fetch:latest
定制
robots.txt
此版本已完全删除robots.txt检查。 无论robots.txt的限制如何,所有网络请求都将继续进行。
用户代理
默认情况下,根据请求是来自模型(通过工具)还是由用户发起(通过提示) 服务器将使用用户代理:
ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)
或者:
ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)
这可以通过添加参数进行自定义 --user-agent=YourUserAgent 到 args 配置中的列表。
代理
可以使用以下命令将服务器配置为使用代理 --proxy-url 争论。
调试
您可以使用MCP检查器调试服务器:
对于当地发展:
npx @modelcontextprotocol/inspector uv run python -m mcp_fetch
对于uvx安装:
npx @modelcontextprotocol/inspector uvx mcp-fetch
贡献
我们鼓励捐款以帮助扩大和改善mcp获取。无论您是想添加新工具、增强现有功能还是改进文档,您的意见都是有价值的。
许可证
mcp-fetch是根据MIT许可证授权的。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。
