Tor网络内容获取MCP服务器

通过Tor网络获取网页内容的MCP服务器集合,支持JavaScript渲染和静态内容获取。

  • by karmakar-mayukh
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SkunkApe-jp/tor-fetch-onions-mcp-server

使用说明

Tor获取洋葱MCP服务器

用于通过Tor网络获取web内容的MCP(模型上下文协议)服务器的全面集合。包括用于不同用例的JavaScript启用和静态内容获取器。

存储库结构

tor-fetch-onions-mcp-server/
├── JS/                          # JavaScript-enabled servers (Playwright)
│   ├── playwright_ahmia_mcp_server.py      # Ahmia search & scrape with JS
│   ├── playwright_html_to_md_mcp_server.py  # Dynamic HTML to Markdown
│   └── playwright_README.md                # Playwright-specific documentation
├── non-JS/                      # Static content servers (HTTP requests)
│   ├── tor_mcp_server.py                   # Basic Tor page fetcher
│   ├── html_to_md_converter_mcp_server.py   # Static HTML to Markdown
│   └── ahmia_content_scraper_mcp_server.py # Ahmia content scraper
├── README.md                    # This documentation
├── requirements.txt             # Python dependencies
└── .gitignore                   # Git exclusions

服务器

启用JavaScript的服务器(JS/ 文件夹)

1. playwright_ahmia_mcp_server.py --Ahmia发现与刮擦

高级MCP服务器,用于通过Ahmia搜索引擎发现和抓取洋葱链接,并完全支持JavaScript。

工具:

  • discover_ahmia_links_js --使用JavaScript渲染搜索Ahmia
  • scrape_ahmia_top5 --发现并同时抓取前5个结果
  • health_check --验证Tor和Playwright的连接

特征:

  • 动态内容的完整JavaScript执行
  • 使用工作线程进行平行刮擦
  • 具有隐形功能的Tor代理集成
  • 使用标题和片段进行内容提取

2. playwright_html_to_md_mcp_server.py --动态HTML到Markdown

使用Playwright将动态HTML内容转换为Markdown进行JavaScript渲染。

工具:

  • fetch_and_convert_js --用JS获取URL并转换为Markdown
  • health_check --验证系统状态

特征:

  • 处理JavaScript密集型网站和SPA
  • 支持延迟加载内容
  • 内容清理和转换
  • Tor代理集成

静态内容服务器(non-JS/ 文件夹)

1. tor_mcp_server.py --Tor页面抓取器

用于从任何URL获取原始HTML的基本服务器(包括 .onion 站点)通过Tor SOCKS5代理。

工具:

  • fetch_page --通过Tor获取网页。返回原始HTML内容(最多10000个字符)。
  • health_check --通过以下方式验证Tor连接 check.torproject.org.

2. html_to_md_converter_mcp_server.py --静态HTML到Markdown

通过Tor获取静态HTML,并使用 markdownify 和 BeautifulSoup.

工具:

  • convert_html_to_md --将提供的HTML字符串转换为Markdown。
  • fetch_and_convert --通过Tor获取一个URL,并将内容作为Markdown返回。
  • health_check --验证Tor连接和转换器功能。

3. ahmia_content_scraper_mcp_server.py --Ahmia内容物刮刀

专门的抓取器,无需JavaScript即可从Ahmia搜索结果中提取内容。

工具:

  • scrape_ahmia_content --从Ahmia搜索结果中提取内容
  • health_check --验证系统连接

先决条件

  • Python 3.10+
  • Tor 使用SOCKS5代理在本地运行 127.0.0.1:9050 (默认Tor Expert Bundle配置)

安装

pip install -r requirements.txt

MCP客户端配置

将任何或所有服务器添加到MCP客户端配置中(例如,Claude Desktop、Cursor等):

{
  "mcpServers": {
    "tor-mcp-server": {
      "command": "python",
      "args": ["c:/servers/non-JS/tor_mcp_server.py"],
      "env": {}
    },
    "html-to-md-converter": {
      "command": "python",
      "args": ["c:/servers/non-JS/html_to_md_converter_mcp_server.py"],
      "env": {}
    },
    "ahmia-content-scraper": {
      "command": "python",
      "args": ["c:/servers/non-JS/ahmia_content_scraper_mcp_server.py"],
      "env": {}
    },
    "playwright-ahmia": {
      "command": "python",
      "args": ["c:/servers/JS/playwright_ahmia_mcp_server.py"],
      "env": {}
    },
    "playwright-html-converter": {
      "command": "python",
      "args": ["c:/servers/JS/playwright_html_to_md_mcp_server.py"],
      "env": {}
    }
  }
}

服务器选择指南:

  • 使用 JS/ 用于动态内容、JavaScript密集型网站或Ahmia搜索的服务器
  • 使用 非JS/ 用于静态内容、基本HTML获取或需要最大隐身时的服务器
  • 静态服务器 速度更快,可检测性更低
  • JavaScript服务器 可以处理现代网络应用程序和交互式内容

独立运行

静态内容服务器(非JS/)

# Basic Tor page fetcher
python non-JS/tor_mcp_server.py

# HTML to Markdown converter
python non-JS/html_to_md_converter_mcp_server.py

# Ahmia content scraper
python non-JS/ahmia_content_scraper_mcp_server.py

支持JavaScript的服务器(JS/)

# Ahmia discovery with JavaScript
python JS/playwright_ahmia_mcp_server.py

# Dynamic HTML to Markdown converter
python JS/playwright_html_to_md_mcp_server.py

默认情况下,所有服务器都使用stdio传输。

许可证

麻省理工学院