Katana MCP Server
Integrates ProjectDiscovery's Katana web crawler with Claude Desktop, enabling users to crawl websites, discover endpoints and hidden resources, extract JavaScript files, and perform reconnaissance with customizable depth, scope, and filtering options.
README
Katana MCP Server
MCP Server để tích hợp Katana web crawler của ProjectDiscovery với Claude Desktop.
Giới thiệu
Katana là một công cụ web crawling mạnh mẽ từ ProjectDiscovery, được thiết kế để khám phá các endpoints, đường dẫn và tài nguyên ẩn trên các trang web. MCP Server này cho phép Claude Desktop sử dụng Katana thông qua Model Context Protocol.
Yêu cầu
- Python 3.10 trở lên
- Go 1.21 trở lên (để cài đặt Katana)
- Katana đã được cài đặt
Cài đặt
1. Cài đặt Katana
go install github.com/projectdiscovery/katana/cmd/katana@latest
Kiểm tra cài đặt:
katana --version
2. Cài đặt MCP Server
Clone repository này hoặc tải về code, sau đó:
cd katana-server
pip install -r requirements.txt
3. Cấu hình Claude Desktop
Mở Claude Desktop và điều hướng đến:
- File → Settings → Developer → Edit Config
Thêm cấu hình sau vào file config (thường ở %APPDATA%\Claude\claude_desktop_config.json trên Windows):
{
"mcpServers": {
"katana": {
"command": "python",
"args": [
"/path/to/katana-server/katana_server.py"
]
}
}
}
Lưu ý: Thay đổi đường dẫn /path/to/katana-server/katana_server.py cho phù hợp với hệ thống của bạn.
Trên Windows: Bạn có thể cần sử dụng đường dẫn đầy đủ đến Python:
{
"mcpServers": {
"katana": {
"command": "C:\\Python311\\python.exe",
"args": [
"C:\\path\\to\\katana-server\\katana_server.py"
]
}
}
}
Trên macOS/Linux:
{
"mcpServers": {
"katana": {
"command": "python3",
"args": [
"/path/to/katana-server/katana_server.py"
]
}
}
}
4. Khởi động lại Claude Desktop
Sau khi cấu hình, khởi động lại Claude Desktop để áp dụng thay đổi.
Sử dụng
Sau khi cấu hình thành công, bạn có thể yêu cầu Claude sử dụng Katana để crawl các trang web:
Ví dụ sử dụng:
-
Crawl một URL đơn giản:
Hãy crawl trang web https://example.com bằng Katana -
Crawl với các tùy chọn:
Crawl https://example.com với độ sâu 3, sử dụng headless browser và crawl JavaScript -
Crawl nhiều URLs:
Crawl các URLs sau: https://example.com, https://test.com với độ sâu 2 -
Kiểm tra version Katana:
Kiểm tra phiên bản Katana đã cài đặt
Các Tools có sẵn
1. katana_crawl
Crawl một URL hoặc danh sách URLs với các tùy chọn (đã được tinh chỉnh mạnh cho pentest):
url: URL mục tiêu (bắt buộc, nếu không dùngurls)urls: Danh sách URLs (tùy chọn, thay thế chourl)depth: Độ sâu crawl (mặc định: 5)concurrency: Số requests đồng thời (mặc định: 10)scope: Phạm vi crawl -subs,folder,domain,any(mặc định:folder)headless: Sử dụng headless browser (mặc định: true, bật-hl)js_crawl: Crawl JavaScript files (mặc định: true, bật-jc)js_links: Crawl JavaScript links (mặc định: true, bật-jsl)xhr: Crawl XHR requests (mặc định: true, bật-xhr)keep_form_data: Giữ form data (mặc định:all, tương ứng-kf all)form_extract: Trích xuất form (mặc định: true, bật-fx)form_submit: Kiểu submit form (mặc định:dn, tương ứng-fs dn)filter_format: Định dạng filter output (mặc định:qurl, tương ứng-f qurl)form_fill: Tự động điền form (ví dụ:"username=admin&password=admin")output_format:jsonhoặctext(mặc định:json)store_response: Lưu response body (mặc định:false, bật-store-responsenếutrue)store_response_dir: Thư mục lưu responses (kết hợp vớistore_response)filter_status: Lọc theo status code (ví dụ:"200,301,302", tương ứng-fc)filter_regex: Lọc URLs theo regex riêng (được map sang flag khác để tránh xung đột với-f qurl)exclude_regex: Loại trừ URLs theo regex riêngexclude_file_extensions: Danh sách đuôi file cần bỏ qua (mặc định:woff,css,png,svg,jpg,woff2,jpeg,gif,svg, tương ứng-ef)
2. katana_crawl_from_file
Crawl từ file chứa danh sách URLs:
file_path: Đường dẫn đến file (bắt buộc)depth: Độ sâu crawl (mặc định: 5)concurrency: Số requests đồng thời (mặc định: 10)scope: Phạm vi crawl (subs,folder,domain,any, mặc định:folder)output_format: Định dạng output (jsonhoặctext, mặc định:json)
3. katana_check_version
Kiểm tra phiên bản Katana đã cài đặt.
4. katana_download_js
Chạy Katana để crawl, lọc toàn bộ URL file JavaScript (.js) và tải toàn bộ file JS đó về thư mục trên máy:
url: URL gốc để crawl JS (ví dụ:https://example.com)urls: Danh sách nhiều URL để crawl JS (mỗi phần tử là một URL)file_path: Đường dẫn đến file chứa danh sách URL (mỗi dòng một URL)depth: Độ sâu crawl (mặc định: 5)scope: Phạm vi crawl (subs,folder,domain,any, mặc định:folder)concurrency: Số lượng requests đồng thời của Katana (mặc định: 10)output_dir: Thư mục để lưu các file JS tải về (mặc định:katana_js_downloads)timeout: Timeout (giây) cho mỗi request tải JS (mặc định: 20)max_files: Giới hạn số lượng file JS tối đa cần tải (mặc định: 200,0= không giới hạn)
Kết quả trả về sẽ bao gồm:
- Tổng số URL
.jsphát hiện được từ Katana - Số file JS đã cố gắng tải / tải thành công / bị lỗi
- Thư mục lưu file JS
- Một số file JS đã tải và một số lỗi (nếu có)
Ví dụ nâng cao
Crawl với JavaScript và Headless Browser:
Crawl https://example.com với headless browser, crawl JavaScript files, độ sâu 3
Crawl và lưu responses:
Crawl https://example.com và lưu tất cả responses vào thư mục ./responses
Crawl với filter:
Crawl https://example.com và chỉ lấy các URLs có status code 200 hoặc 301
Troubleshooting
Lỗi: "Katana chưa được cài đặt"
- Đảm bảo Katana đã được cài đặt và có trong PATH
- Kiểm tra bằng lệnh:
katana --version
Lỗi: "Command not found"
- Kiểm tra đường dẫn đến Python trong config
- Đảm bảo file
katana_server.pycó quyền thực thi
Lỗi kết nối MCP
- Khởi động lại Claude Desktop
- Kiểm tra log trong Claude Desktop để xem lỗi chi tiết
- Đảm bảo Python và các dependencies đã được cài đặt đúng
Tài liệu tham khảo
License
MIT License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。