web2md-mcp
web2md-mcp
MCP server that fetches any web URL and converts it to clean Markdown via the web2md service (Crawl4AI backend). Designed to be hosted on the ModelScope MCP Hub so any pure-network MCP client can call it without running anything locally.
What it does
Exposes one tool fetch(url, quality, anti_bot) → returns
{success, markdown, html, metadata}. It does not bundle Crawl4AI; it
calls the already-deployed web2md REST API (/v1/fetch), so the hosted image
stays tiny and deploys fast.
ModelScope MCP Hub — 可托管部署 (recommended)
Per the official MCP creation doc, hosted deployment of a Python server requires
a PyPI package invoked via uvx (GitHub/Docker sources are NOT supported
for hosted deployment). This package is published to PyPI as web2md-mcp.
Create the MCP service (自定义创建 → 可托管部署) and paste this STDIO config.
The Hub auto-extracts the env block into its env-var form:
{
"mcpServers": {
"web2md": {
"command": "uvx",
"args": ["web2md-mcp"],
"env": {
"WEB2MD_BASE": "https://seaair-web2md.ms.show",
"WEB2MD_API_KEY": "<WEB2MD_API_KEY>"
}
}
}
}The Hub runs uvx web2md-mcp inside its FC runtime (STDIO transport), connects,
and exposes a public endpoint https://mcp.api-inference.modelscope.net/<id>/mcp.
Fill the real key in <WEB2MD_API_KEY> when creating.
Note: the config JSON must contain no comments — the Hub's validator rejects commented JSON.
Self-host (local / Docker, optional)
pip install web2md-mcp
WEB2MD_API_KEY=web2md-bcce3f564124cb40ff41244b6597a209 web2md-mcp
# then point your client at the resulting MCP server (stdio)Or build the Docker image (for your own registry / FC custom image):
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY web2md_mcp.py .
CMD ["python", "web2md_mcp.py"]Env vars
Key | Default | Description |
|
| web2md REST base URL |
| (empty) | your web2md API key |
Tool
fetch(url, quality="fast", anti_bot="auto") → {success, markdown, html, metadata}