← Back to search

io.github.huoshuiai42/huoshui-fetch

huoshuiai42 Scanned 10d ago

An MCP server that provides tools for fetching, converting, and extracting data from web pages.

C
64.5 / 100

Versions

1.0.0latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 11

fetch_url
annotations: none low

Fetches content from a URL. Args: url: The URL to fetch timeout: Request timeout in seconds (default: 30) follow_redirects: Whether to follow redirects (default: True) user_agent: Custom user agent string (optional) Returns: Dictionary containing status_code, content, headers, encoding, and error (if any)

url str timeout float user_agent string follow_redirects bool
fetch_with_headers
annotations: none low

Fetches a URL with custom headers. Args: url: The URL to fetch headers: Dictionary of custom headers timeout: Request timeout in seconds (default: 30) Returns: Dictionary containing status_code, content, headers, encoding, and error (if any)

url str headers string timeout float
html_to_markdown_tool
annotations: none low

Converts HTML content to Markdown format. Args: html: HTML content to convert strip_tags: List of tags to strip (default: ['script', 'style', 'meta', 'link']) heading_style: Style for headings - "ATX" or "SETEXT" (default: "ATX") Returns: Dictionary with converted markdown content

html str strip_tags string heading_style str
html_to_text_tool
annotations: none low

Extracts plain text from HTML content. Args: html: HTML content to convert preserve_links: Whether to preserve link URLs in output (default: False) Returns: Dictionary with extracted text

html str preserve_links bool
clean_html_tool
annotations: none low

Cleans HTML by removing scripts, styles, and optionally limiting to allowed tags. Args: html: HTML content to clean allowed_tags: List of allowed tags (None = all tags except script/style) Returns: Dictionary with cleaned HTML

html str allowed_tags string
extract_article_tool
annotations: none low

Extracts the main article content from a web page. Args: html: HTML content url: Optional URL for resolving relative links Returns: Dictionary with title, content, text_content, excerpt, and short_title

url string html str
extract_links_tool
annotations: none low

Extracts all links from HTML content. Args: html: HTML content base_url: Base URL for resolving relative links internal_only: Only return links from the same domain (default: False) Returns: Dictionary with list of links containing url, text, title, and rel attributes

html str base_url string internal_only bool
extract_metadata_tool
annotations: none low

Extracts metadata from HTML including title, description, and Open Graph tags. Args: html: HTML content Returns: Dictionary containing title, description, keywords, author, open_graph, twitter_card, etc.

html str
extract_images_tool
annotations: none low

Extracts all images from HTML content. Args: html: HTML content base_url: Base URL for resolving relative image URLs min_width: Minimum image width filter min_height: Minimum image height filter Returns: Dictionary with list of images containing src, alt, title, dimensions, etc.

html str base_url string min_width string min_height string
extract_structured_data_tool
annotations: none low

Extracts structured data (JSON-LD, microdata) from HTML. Args: html: HTML content Returns: Dictionary containing json_ld and microdata if found

html str
json_to_markdown_tool
annotations: none low

Converts JSON data to readable Markdown format. Args: json_data: JSON string to convert Returns: Dictionary with markdown representation of the JSON

json_data str

Permissions 4

network medium
Server uses network capabilities via: httpx, urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess
env_vars low
Server uses env_vars capabilities via: os.environ, os.getenv()

Scan Findings 57

low
Tool 'fetch_url' has no annotations annotation_checker · 100%
low
Tool 'fetch_with_headers' has no annotations annotation_checker · 100%
low
Tool 'html_to_markdown_tool' has no annotations annotation_checker · 100%
low
Tool 'html_to_text_tool' has no annotations annotation_checker · 100%
low
Tool 'clean_html_tool' has no annotations annotation_checker · 100%
low
Tool 'extract_article_tool' has no annotations annotation_checker · 100%
low
Tool 'extract_links_tool' has no annotations annotation_checker · 100%
low
Tool 'extract_metadata_tool' has no annotations annotation_checker · 100%
low
Tool 'extract_images_tool' has no annotations annotation_checker · 100%
low
Tool 'extract_structured_data_tool' has no annotations annotation_checker · 100%
low
Tool 'json_to_markdown_tool' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-5h2m-4q8j-pqpj) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-c2jp-c369-7pvx) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-mxxr-jv3v-6pgc) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-rcfx-77hg-w2wv) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-rj5c-58rq-j5g5) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-1364) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-1365) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-2474) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@0.1.0 (PYSEC-2026-338) dependency_analyzer · 95%
medium
Vulnerable dependency: markdownify@0.11.0 (GHSA-7mpr-5m44-h73r) dependency_analyzer · 95%
medium
Vulnerable dependency: markdownify@0.11.0 (PYSEC-2026-1604) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (PYSEC-2026-1812) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@5.0.0 (GHSA-vfmq-68hx-4jfw) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@5.0.0 (PYSEC-2026-87) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: fetch_url manifest_parser · 90%
info
Tool: fetch_with_headers manifest_parser · 90%
info
Tool: html_to_markdown_tool manifest_parser · 90%
info
Tool: html_to_text_tool manifest_parser · 90%
info
Tool: clean_html_tool manifest_parser · 90%
info
Tool: extract_article_tool manifest_parser · 90%
info
Tool: extract_links_tool manifest_parser · 90%
info
Tool: extract_metadata_tool manifest_parser · 90%
info
Tool: extract_images_tool manifest_parser · 90%
info
Tool: extract_structured_data_tool manifest_parser · 90%
info
Tool: json_to_markdown_tool manifest_parser · 90%
info
Required env vars (3) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
high
Hardcoded Password found in huoshuiai42-huoshui-fetch-375d268/PUBLISHING.md secret_scanner · 65%
high
Hardcoded Password found in huoshuiai42-huoshui-fetch-375d268/PYPIRC_SUPPORT.md secret_scanner · 65%
high
Hardcoded Password found in huoshuiai42-huoshui-fetch-375d268/UV_PUBLISH_MIGRATION.md secret_scanner · 65%
high
Hardcoded Password found in huoshuiai42-huoshui-fetch-375d268/scripts/credentials_setup.py secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%