[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-firecrawl--firecrawl-mcp-server":3,"tool-firecrawl--firecrawl-mcp-server":61},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",152630,2,"2026-04-12T23:33:54",[14,13,27],"语言模型",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":24,"last_commit_at":34,"category_tags":35,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[36,13,15,14],"插件",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":24,"last_commit_at":43,"category_tags":44,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[36,14],{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":10,"last_commit_at":51,"category_tags":52,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[27,15,13,14],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,27],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":24,"env_os":103,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":110,"github_topics":111,"view_count":24,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":125,"updated_at":126,"faqs":127,"releases":158},6997,"firecrawl\u002Ffirecrawl-mcp-server","firecrawl-mcp-server","🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.","firecrawl-mcp-server 是一款基于模型上下文协议（MCP）构建的开源服务，旨在为 Cursor、Claude 等大语言模型客户端赋予强大的网页抓取与搜索能力。它充当了 AI 助手与现实互联网之间的桥梁，让 AI 不再局限于训练数据，而是能够实时访问、爬取并理解最新的网页内容。\n\n这一工具主要解决了大模型无法直接获取实时网络信息以及传统爬虫集成难度高的问题。通过它，用户只需在对话中描述需求，AI 即可自动执行复杂的网页抓取、内容提取、深度研究甚至批量扫描任务，无需手动编写繁琐的爬虫代码或处理反爬机制。\n\nfirecrawl-mcp-server 特别适合开发者、数据研究人员以及希望提升 AI 工作流效率的技术人员使用。无论是需要快速收集竞品数据的研究员，还是希望在 IDE 中直接让 AI 辅助查阅最新文档的程序员，都能从中受益。\n\n其技术亮点在于支持云端浏览器会话与智能体自动化，能够模拟真实用户行为以应对动态网页；同时具备自动重试、速率限制控制以及 SSE（服务器发送事件）支持，确保数据采集的稳定性和实时性。此外，它不仅提供云服务接入，也支持本地自部署，兼顾了灵活性与数","firecrawl-mcp-server 是一款基于模型上下文协议（MCP）构建的开源服务，旨在为 Cursor、Claude 等大语言模型客户端赋予强大的网页抓取与搜索能力。它充当了 AI 助手与现实互联网之间的桥梁，让 AI 不再局限于训练数据，而是能够实时访问、爬取并理解最新的网页内容。\n\n这一工具主要解决了大模型无法直接获取实时网络信息以及传统爬虫集成难度高的问题。通过它，用户只需在对话中描述需求，AI 即可自动执行复杂的网页抓取、内容提取、深度研究甚至批量扫描任务，无需手动编写繁琐的爬虫代码或处理反爬机制。\n\nfirecrawl-mcp-server 特别适合开发者、数据研究人员以及希望提升 AI 工作流效率的技术人员使用。无论是需要快速收集竞品数据的研究员，还是希望在 IDE 中直接让 AI 辅助查阅最新文档的程序员，都能从中受益。\n\n其技术亮点在于支持云端浏览器会话与智能体自动化，能够模拟真实用户行为以应对动态网页；同时具备自动重试、速率限制控制以及 SSE（服务器发送事件）支持，确保数据采集的稳定性和实时性。此外，它不仅提供云服务接入，也支持本地自部署，兼顾了灵活性与数据隐私安全。配置过程简单，仅需少量命令或 JSON 配置即可在主流 AI 开发环境中启用，极大地降低了将实时网络数据引入大模型应用的门槛。","\u003Cdiv align=\"center\">\n  \u003Ca name=\"readme-top\">\u003C\u002Fa>\n  \u003Cimg\n    src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_firecrawl-mcp-server_readme_32490d20c83f.png\"\n    height=\"140\"\n  >\n\u003C\u002Fdiv>\n\n# Firecrawl MCP Server\n\nA Model Context Protocol (MCP) server implementation that integrates with [Firecrawl](https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl) for web scraping capabilities.\n\n> Big thanks to [@vrknetha](https:\u002F\u002Fgithub.com\u002Fvrknetha), [@knacklabs](https:\u002F\u002Fwww.knacklabs.ai) for the initial implementation!\n\n## Features\n\n- Web scraping, crawling, and discovery\n- Search and content extraction\n- Deep research and batch scraping\n- Cloud browser sessions with agent-browser automation\n- Automatic retries and rate limiting\n- Cloud and self-hosted support\n- SSE support\n\n> Play around with [our MCP Server on MCP.so's playground](https:\u002F\u002Fmcp.so\u002Fplayground?server=firecrawl-mcp-server) or on [Klavis AI](https:\u002F\u002Fwww.klavis.ai\u002Fmcp-servers).\n\n## Installation\n\n### Running with npx\n\n```bash\nenv FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp\n```\n\n### Manual Installation\n\n```bash\nnpm install -g firecrawl-mcp\n```\n\n### Running on Cursor\n\nConfiguring Cursor 🖥️\nNote: Requires Cursor version 0.45.6+\nFor the most up-to-date configuration instructions, please refer to the official Cursor documentation on configuring MCP servers:\n[Cursor MCP Server Configuration Guide](https:\u002F\u002Fdocs.cursor.com\u002Fcontext\u002Fmodel-context-protocol#configuring-mcp-servers)\n\nTo configure Firecrawl MCP in Cursor **v0.48.6**\n\n1. Open Cursor Settings\n2. Go to Features > MCP Servers\n3. Click \"+ Add new global MCP server\"\n4. Enter the following code:\n   ```json\n   {\n     \"mcpServers\": {\n       \"firecrawl-mcp\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"firecrawl-mcp\"],\n         \"env\": {\n           \"FIRECRAWL_API_KEY\": \"YOUR-API-KEY\"\n         }\n       }\n     }\n   }\n   ```\n\nTo configure Firecrawl MCP in Cursor **v0.45.6**\n\n1. Open Cursor Settings\n2. Go to Features > MCP Servers\n3. Click \"+ Add New MCP Server\"\n4. Enter the following:\n   - Name: \"firecrawl-mcp\" (or your preferred name)\n   - Type: \"command\"\n   - Command: `env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp`\n\n> If you are using Windows and are running into issues, try `cmd \u002Fc \"set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp\"`\n\nReplace `your-api-key` with your Firecrawl API key. If you don't have one yet, you can create an account and get it from https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys\n\nAfter adding, refresh the MCP server list to see the new tools. The Composer Agent will automatically use Firecrawl MCP when appropriate, but you can explicitly request it by describing your web scraping needs. Access the Composer via Command+L (Mac), select \"Agent\" next to the submit button, and enter your query.\n\n### Running on Windsurf\n\nAdd this to your `.\u002Fcodeium\u002Fwindsurf\u002Fmodel_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Running with Streamable HTTP Local Mode\n\nTo run the server using Streamable HTTP locally instead of the default stdio transport:\n\n```bash\nenv HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp\n```\n\nUse the url: http:\u002F\u002Flocalhost:3000\u002Fmcp\n\n### Installing via Smithery (Legacy)\n\nTo install Firecrawl for Claude Desktop automatically via [Smithery](https:\u002F\u002Fsmithery.ai\u002Fserver\u002F@mendableai\u002Fmcp-server-firecrawl):\n\n```bash\nnpx -y @smithery\u002Fcli install @mendableai\u002Fmcp-server-firecrawl --client claude\n```\n\n### Running on VS Code\n\nFor one-click installation, click one of the install buttons below...\n\n[![Install with NPX in VS Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-NPM-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D) [![Install with NPX in VS Code Insiders](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-NPM-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D&quality=insiders)\n\nFor manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"apiKey\",\n        \"description\": \"Firecrawl API Key\",\n        \"password\": true\n      }\n    ],\n    \"servers\": {\n      \"firecrawl\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"firecrawl-mcp\"],\n        \"env\": {\n          \"FIRECRAWL_API_KEY\": \"${input:apiKey}\"\n        }\n      }\n    }\n  }\n}\n```\n\nOptionally, you can add it to a file called `.vscode\u002Fmcp.json` in your workspace. This will allow you to share the configuration with others:\n\n```json\n{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"apiKey\",\n      \"description\": \"Firecrawl API Key\",\n      \"password\": true\n    }\n  ],\n  \"servers\": {\n    \"firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"${input:apiKey}\"\n      }\n    }\n  }\n}\n```\n\n## Configuration\n\n### Environment Variables\n\n#### Required for Cloud API\n\n- `FIRECRAWL_API_KEY`: Your Firecrawl API key\n  - Required when using cloud API (default)\n  - Optional when using self-hosted instance with `FIRECRAWL_API_URL`\n- `FIRECRAWL_API_URL` (Optional): Custom API endpoint for self-hosted instances\n  - Example: `https:\u002F\u002Ffirecrawl.your-domain.com`\n  - If not provided, the cloud API will be used (requires API key)\n\n#### Optional Configuration\n\n##### Retry Configuration\n\n- `FIRECRAWL_RETRY_MAX_ATTEMPTS`: Maximum number of retry attempts (default: 3)\n- `FIRECRAWL_RETRY_INITIAL_DELAY`: Initial delay in milliseconds before first retry (default: 1000)\n- `FIRECRAWL_RETRY_MAX_DELAY`: Maximum delay in milliseconds between retries (default: 10000)\n- `FIRECRAWL_RETRY_BACKOFF_FACTOR`: Exponential backoff multiplier (default: 2)\n\n##### Credit Usage Monitoring\n\n- `FIRECRAWL_CREDIT_WARNING_THRESHOLD`: Credit usage warning threshold (default: 1000)\n- `FIRECRAWL_CREDIT_CRITICAL_THRESHOLD`: Credit usage critical threshold (default: 100)\n\n### Configuration Examples\n\nFor cloud API usage with custom retry and credit monitoring:\n\n```bash\n# Required for cloud API\nexport FIRECRAWL_API_KEY=your-api-key\n\n# Optional retry configuration\nexport FIRECRAWL_RETRY_MAX_ATTEMPTS=5        # Increase max retry attempts\nexport FIRECRAWL_RETRY_INITIAL_DELAY=2000    # Start with 2s delay\nexport FIRECRAWL_RETRY_MAX_DELAY=30000       # Maximum 30s delay\nexport FIRECRAWL_RETRY_BACKOFF_FACTOR=3      # More aggressive backoff\n\n# Optional credit monitoring\nexport FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000    # Warning at 2000 credits\nexport FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500    # Critical at 500 credits\n```\n\nFor self-hosted instance:\n\n```bash\n# Required for self-hosted\nexport FIRECRAWL_API_URL=https:\u002F\u002Ffirecrawl.your-domain.com\n\n# Optional authentication for self-hosted\nexport FIRECRAWL_API_KEY=your-api-key  # If your instance requires auth\n\n# Custom retry configuration\nexport FIRECRAWL_RETRY_MAX_ATTEMPTS=10\nexport FIRECRAWL_RETRY_INITIAL_DELAY=500     # Start with faster retries\n```\n\n### Usage with Claude Desktop\n\nAdd this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"YOUR_API_KEY_HERE\",\n\n        \"FIRECRAWL_RETRY_MAX_ATTEMPTS\": \"5\",\n        \"FIRECRAWL_RETRY_INITIAL_DELAY\": \"2000\",\n        \"FIRECRAWL_RETRY_MAX_DELAY\": \"30000\",\n        \"FIRECRAWL_RETRY_BACKOFF_FACTOR\": \"3\",\n\n        \"FIRECRAWL_CREDIT_WARNING_THRESHOLD\": \"2000\",\n        \"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD\": \"500\"\n      }\n    }\n  }\n}\n```\n\n### System Configuration\n\nThe server includes several configurable parameters that can be set via environment variables. Here are the default values if not configured:\n\n```typescript\nconst CONFIG = {\n  retry: {\n    maxAttempts: 3, \u002F\u002F Number of retry attempts for rate-limited requests\n    initialDelay: 1000, \u002F\u002F Initial delay before first retry (in milliseconds)\n    maxDelay: 10000, \u002F\u002F Maximum delay between retries (in milliseconds)\n    backoffFactor: 2, \u002F\u002F Multiplier for exponential backoff\n  },\n  credit: {\n    warningThreshold: 1000, \u002F\u002F Warn when credit usage reaches this level\n    criticalThreshold: 100, \u002F\u002F Critical alert when credit usage reaches this level\n  },\n};\n```\n\nThese configurations control:\n\n1. **Retry Behavior**\n\n   - Automatically retries failed requests due to rate limits\n   - Uses exponential backoff to avoid overwhelming the API\n   - Example: With default settings, retries will be attempted at:\n     - 1st retry: 1 second delay\n     - 2nd retry: 2 seconds delay\n     - 3rd retry: 4 seconds delay (capped at maxDelay)\n\n2. **Credit Usage Monitoring**\n   - Tracks API credit consumption for cloud API usage\n   - Provides warnings at specified thresholds\n   - Helps prevent unexpected service interruption\n   - Example: With default settings:\n     - Warning at 1000 credits remaining\n     - Critical alert at 100 credits remaining\n\n### Rate Limiting and Batch Processing\n\nThe server utilizes Firecrawl's built-in rate limiting and batch processing capabilities:\n\n- Automatic rate limit handling with exponential backoff\n- Efficient parallel processing for batch operations\n- Smart request queuing and throttling\n- Automatic retries for transient errors\n\n## How to Choose a Tool\n\nUse this guide to select the right tool for your task:\n\n- **If you know the exact URL(s) you want:**\n  - For one: use **scrape** (with JSON format for structured data)\n  - For many: use **batch_scrape**\n- **If you need to discover URLs on a site:** use **map**\n- **If you want to search the web for info:** use **search**\n- **If you need complex research across multiple unknown sources:** use **agent**\n- **If you want to analyze a whole site or section:** use **crawl** (with limits!)\n- **If you need interactive browser automation** (click, type, navigate): use **scrape** + **interact**\n- **If you need a raw CDP browser session** (advanced): use **browser** (deprecated)\n\n### Quick Reference Table\n\n| Tool         | Best for                            | Returns                    |\n| ------------ | ----------------------------------- | -------------------------- |\n| scrape       | Single page content                 | JSON (preferred) or markdown |\n| interact     | Interact with a scraped page        | Execution result           |\n| batch_scrape | Multiple known URLs                 | JSON (preferred) or markdown[] |\n| map          | Discovering URLs on a site          | URL[]                      |\n| crawl        | Multi-page extraction (with limits) | markdown\u002Fhtml[]            |\n| search       | Web search for info                 | results[]                  |\n| agent        | Complex multi-source research       | JSON (structured data)     |\n| browser      | Interactive multi-step automation (deprecated) | Session with live browser  |\n\n### Format Selection Guide\n\nWhen using `scrape` or `batch_scrape`, choose the right format:\n\n- **JSON format (recommended for most cases):** Use when you need specific data from a page. Define a schema based on what you need to extract. This keeps responses small and avoids context window overflow.\n- **Markdown format (use sparingly):** Only when you genuinely need the full page content, such as reading an entire article for summarization or analyzing page structure.\n\n## Available Tools\n\n### 1. Scrape Tool (`firecrawl_scrape`)\n\nScrape content from a single URL with advanced options.\n\n**Best for:**\n\n- Single page content extraction, when you know exactly which page contains the information.\n\n**Not recommended for:**\n\n- Extracting content from multiple pages (use batch_scrape for known URLs, or map + batch_scrape to discover URLs first, or crawl for full page content)\n- When you're unsure which page contains the information (use search)\n\n**Common mistakes:**\n\n- Using scrape for a list of URLs (use batch_scrape instead).\n- Using markdown format by default (use JSON format to extract only what you need).\n\n**Choosing the right format:**\n\n- **JSON format (preferred):** For most use cases, use JSON format with a schema to extract only the specific data needed. This keeps responses focused and prevents context window overflow.\n- **Markdown format:** Only when the task genuinely requires full page content (e.g., summarizing an entire article, analyzing page structure).\n\n**Prompt Example:**\n\n> \"Get the product details from https:\u002F\u002Fexample.com\u002Fproduct.\"\n\n**Usage Example (JSON format - preferred):**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fproduct\",\n    \"formats\": [{\n      \"type\": \"json\",\n      \"prompt\": \"Extract the product information\",\n      \"schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": { \"type\": \"string\" },\n          \"price\": { \"type\": \"number\" },\n          \"description\": { \"type\": \"string\" }\n        },\n        \"required\": [\"name\", \"price\"]\n      }\n    }]\n  }\n}\n```\n\n**Usage Example (markdown format - when full content needed):**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"formats\": [\"markdown\"],\n    \"onlyMainContent\": true\n  }\n}\n```\n\n**Usage Example (branding format - extract brand identity):**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"formats\": [\"branding\"]\n  }\n}\n```\n\n**Branding format:** Extracts comprehensive brand identity (colors, fonts, typography, spacing, logo, UI components) for design analysis or style replication.\n\n**Returns:**\n\n- JSON structured data, markdown, branding profile, or other formats as specified.\n\n### 2. Batch Scrape Tool (`firecrawl_batch_scrape`)\n\nScrape multiple URLs efficiently with built-in rate limiting and parallel processing.\n\n**Best for:**\n\n- Retrieving content from multiple pages, when you know exactly which pages to scrape.\n\n**Not recommended for:**\n\n- Discovering URLs (use map first if you don't know the URLs)\n- Scraping a single page (use scrape)\n\n**Common mistakes:**\n\n- Using batch_scrape with too many URLs at once (may hit rate limits or token overflow)\n\n**Prompt Example:**\n\n> \"Get the content of these three blog posts: [url1, url2, url3].\"\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_batch_scrape\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fexample1.com\", \"https:\u002F\u002Fexample2.com\"],\n    \"options\": {\n      \"formats\": [\"markdown\"],\n      \"onlyMainContent\": true\n    }\n  }\n}\n```\n\n**Returns:**\n\n- Response includes operation ID for status checking:\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Batch operation queued with ID: batch_1. Use firecrawl_check_batch_status to check progress.\"\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 3. Check Batch Status (`firecrawl_check_batch_status`)\n\nCheck the status of a batch operation.\n\n```json\n{\n  \"name\": \"firecrawl_check_batch_status\",\n  \"arguments\": {\n    \"id\": \"batch_1\"\n  }\n}\n```\n\n### 4. Map Tool (`firecrawl_map`)\n\nMap a website to discover all indexed URLs on the site.\n\n**Best for:**\n\n- Discovering URLs on a website before deciding what to scrape\n- Finding specific sections of a website\n\n**Not recommended for:**\n\n- When you already know which specific URL you need (use scrape or batch_scrape)\n- When you need the content of the pages (use scrape after mapping)\n\n**Common mistakes:**\n\n- Using crawl to discover URLs instead of map\n\n**Prompt Example:**\n\n> \"List all URLs on example.com.\"\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_map\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**Returns:**\n\n- Array of URLs found on the site\n\n### 5. Search Tool (`firecrawl_search`)\n\nSearch the web and optionally extract content from search results.\n\n**Best for:**\n\n- Finding specific information across multiple websites, when you don't know which website has the information.\n- When you need the most relevant content for a query\n\n**Not recommended for:**\n\n- When you already know which website to scrape (use scrape)\n- When you need comprehensive coverage of a single website (use map or crawl)\n\n**Common mistakes:**\n\n- Using crawl or map for open-ended questions (use search instead)\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_search\",\n  \"arguments\": {\n    \"query\": \"latest AI research papers 2023\",\n    \"limit\": 5,\n    \"lang\": \"en\",\n    \"country\": \"us\",\n    \"scrapeOptions\": {\n      \"formats\": [\"markdown\"],\n      \"onlyMainContent\": true\n    }\n  }\n}\n```\n\n**Returns:**\n\n- Array of search results (with optional scraped content)\n\n**Prompt Example:**\n\n> \"Find the latest research papers on AI published in 2023.\"\n\n### 6. Crawl Tool (`firecrawl_crawl`)\n\nStarts an asynchronous crawl job on a website and extract content from all pages.\n\n**Best for:**\n\n- Extracting content from multiple related pages, when you need comprehensive coverage.\n\n**Not recommended for:**\n\n- Extracting content from a single page (use scrape)\n- When token limits are a concern (use map + batch_scrape)\n- When you need fast results (crawling can be slow)\n\n**Warning:** Crawl responses can be very large and may exceed token limits. Limit the crawl depth and number of pages, or use map + batch_scrape for better control.\n\n**Common mistakes:**\n\n- Setting limit or maxDepth too high (causes token overflow)\n- Using crawl for a single page (use scrape instead)\n\n**Prompt Example:**\n\n> \"Get all blog posts from the first two levels of example.com\u002Fblog.\"\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_crawl\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fblog\u002F*\",\n    \"maxDepth\": 2,\n    \"limit\": 100,\n    \"allowExternalLinks\": false,\n    \"deduplicateSimilarURLs\": true\n  }\n}\n```\n\n**Returns:**\n\n- Response includes operation ID for status checking:\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Started crawl for: https:\u002F\u002Fexample.com\u002F* with job ID: 550e8400-e29b-41d4-a716-446655440000. Use firecrawl_check_crawl_status to check progress.\"\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 7. Check Crawl Status (`firecrawl_check_crawl_status`)\n\nCheck the status of a crawl job.\n\n```json\n{\n  \"name\": \"firecrawl_check_crawl_status\",\n  \"arguments\": {\n    \"id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  }\n}\n```\n\n**Returns:**\n\n- Response includes the status of the crawl job:\n\n### 8. Extract Tool (`firecrawl_extract`)\n\nExtract structured information from web pages using LLM capabilities. Supports both cloud AI and self-hosted LLM extraction.\n\n**Best for:**\n\n- Extracting specific structured data like prices, names, details.\n\n**Not recommended for:**\n\n- When you need the full content of a page (use scrape)\n- When you're not looking for specific structured data\n\n**Arguments:**\n\n- `urls`: Array of URLs to extract information from\n- `prompt`: Custom prompt for the LLM extraction\n- `systemPrompt`: System prompt to guide the LLM\n- `schema`: JSON schema for structured data extraction\n- `allowExternalLinks`: Allow extraction from external links\n- `enableWebSearch`: Enable web search for additional context\n- `includeSubdomains`: Include subdomains in extraction\n\nWhen using a self-hosted instance, the extraction will use your configured LLM. For cloud API, it uses Firecrawl's managed LLM service.\n**Prompt Example:**\n\n> \"Extract the product name, price, and description from these product pages.\"\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_extract\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fexample.com\u002Fpage1\", \"https:\u002F\u002Fexample.com\u002Fpage2\"],\n    \"prompt\": \"Extract product information including name, price, and description\",\n    \"systemPrompt\": \"You are a helpful assistant that extracts product information\",\n    \"schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"name\": { \"type\": \"string\" },\n        \"price\": { \"type\": \"number\" },\n        \"description\": { \"type\": \"string\" }\n      },\n      \"required\": [\"name\", \"price\"]\n    },\n    \"allowExternalLinks\": false,\n    \"enableWebSearch\": false,\n    \"includeSubdomains\": false\n  }\n}\n```\n\n**Returns:**\n\n- Extracted structured data as defined by your schema\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": {\n        \"name\": \"Example Product\",\n        \"price\": 99.99,\n        \"description\": \"This is an example product description\"\n      }\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 9. Agent Tool (`firecrawl_agent`)\n\nAutonomous web research agent. This is a separate AI agent layer that independently browses the internet, searches for information, navigates through pages, and extracts structured data based on your query.\n\n**How it works:**\n\nThe agent performs web searches, follows links, reads pages, and gathers data autonomously. This runs **asynchronously** - it returns a job ID immediately, and you poll `firecrawl_agent_status` to check when complete and retrieve results.\n\n**Async workflow:**\n\n1. Call `firecrawl_agent` with your prompt\u002Fschema → returns job ID\n2. Do other work while the agent researches (can take minutes for complex queries)\n3. Poll `firecrawl_agent_status` with the job ID to check progress\n4. When status is \"completed\", the response includes the extracted data\n\n**Best for:**\n\n- Complex research tasks where you don't know the exact URLs\n- Multi-source data gathering\n- Finding information scattered across the web\n- Tasks where you can do other work while waiting for results\n\n**Not recommended for:**\n\n- Simple single-page scraping where you know the URL (use scrape with JSON format - faster and cheaper)\n\n**Arguments:**\n\n- `prompt`: Natural language description of the data you want (required, max 10,000 characters)\n- `urls`: Optional array of URLs to focus the agent on specific pages\n- `schema`: Optional JSON schema for structured output\n\n**Prompt Example:**\n\n> \"Find the founders of Firecrawl and their backgrounds\"\n\n**Usage Example (start agent, then poll for results):**\n\n```json\n{\n  \"name\": \"firecrawl_agent\",\n  \"arguments\": {\n    \"prompt\": \"Find the top 5 AI startups founded in 2024 and their funding amounts\",\n    \"schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"startups\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"name\": { \"type\": \"string\" },\n              \"funding\": { \"type\": \"string\" },\n              \"founded\": { \"type\": \"string\" }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nThen poll with `firecrawl_agent_status` using the returned job ID.\n\n**Usage Example (with URLs - agent focuses on specific pages):**\n\n```json\n{\n  \"name\": \"firecrawl_agent\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fdocs.firecrawl.dev\", \"https:\u002F\u002Ffirecrawl.dev\u002Fpricing\"],\n    \"prompt\": \"Compare the features and pricing information from these pages\"\n  }\n}\n```\n\n**Returns:**\n\n- Job ID for status checking. Use `firecrawl_agent_status` to poll for results.\n\n### 10. Check Agent Status (`firecrawl_agent_status`)\n\nCheck the status of an agent job and retrieve results when complete. Use this to poll for results after starting an agent.\n\n**Polling pattern:** Agent research can take minutes for complex queries. Poll this endpoint periodically (e.g., every 10-30 seconds) until status is \"completed\" or \"failed\".\n\n```json\n{\n  \"name\": \"firecrawl_agent_status\",\n  \"arguments\": {\n    \"id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  }\n}\n```\n\n**Possible statuses:**\n\n- `processing`: Agent is still researching - check back later\n- `completed`: Research finished - response includes the extracted data\n- `failed`: An error occurred\n\n### 11. Browser Create (`firecrawl_browser_create`) — Deprecated\n\n> **Deprecated:** Prefer `firecrawl_scrape` + `firecrawl_interact` instead. Interact lets you scrape a page and then click, fill forms, and navigate without managing sessions manually.\n\nCreate a cloud browser session for interactive automation.\n\n**Arguments:**\n\n- `ttl`: Total session lifetime in seconds (30-3600, optional)\n- `activityTtl`: Idle timeout in seconds (10-3600, optional)\n- `streamWebView`: Whether to enable live view streaming (optional)\n- `profile`: Save and reuse browser state across sessions (optional)\n  - `name`: Profile name (sessions with the same name share state)\n  - `saveChanges`: Whether to save changes back to the profile (default: true)\n\n**Usage Example:**\n\n```json\n{\n  \"name\": \"firecrawl_browser_create\",\n  \"arguments\": {\n    \"ttl\": 600,\n    \"profile\": { \"name\": \"my-profile\", \"saveChanges\": true }\n  }\n}\n```\n\n**Returns:**\n\n- Session ID, CDP URL, and live view URL\n\n### 12. Browser Execute (`firecrawl_browser_execute`) — Deprecated\n\n> **Deprecated:** Prefer `firecrawl_scrape` + `firecrawl_interact` instead.\n\nExecute code in a browser session. Supports agent-browser commands (bash), Python, or JavaScript.\n\n**Recommended: Use bash with agent-browser commands** (pre-installed in every sandbox):\n\n```json\n{\n  \"name\": \"firecrawl_browser_execute\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\",\n    \"code\": \"agent-browser open https:\u002F\u002Fexample.com\",\n    \"language\": \"bash\"\n  }\n}\n```\n\n**Common agent-browser commands:**\n\n| Command | Description |\n|---------|-------------|\n| `agent-browser open \u003Curl>` | Navigate to URL |\n| `agent-browser snapshot` | Accessibility tree with clickable refs |\n| `agent-browser click @e5` | Click element by ref from snapshot |\n| `agent-browser type @e3 \"text\"` | Type into element |\n| `agent-browser get title` | Get page title |\n| `agent-browser screenshot` | Take screenshot |\n| `agent-browser --help` | Full command reference |\n\n**For Playwright scripting, use Python:**\n\n```json\n{\n  \"name\": \"firecrawl_browser_execute\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\",\n    \"code\": \"await page.goto('https:\u002F\u002Fexample.com')\\ntitle = await page.title()\\nprint(title)\",\n    \"language\": \"python\"\n  }\n}\n```\n\n### 13. Browser List (`firecrawl_browser_list`) — Deprecated\n\n> **Deprecated:** Prefer `firecrawl_scrape` + `firecrawl_interact` instead.\n\nList browser sessions, optionally filtered by status.\n\n```json\n{\n  \"name\": \"firecrawl_browser_list\",\n  \"arguments\": {\n    \"status\": \"active\"\n  }\n}\n```\n\n### 14. Browser Delete (`firecrawl_browser_delete`) — Deprecated\n\n> **Deprecated:** Prefer `firecrawl_scrape` + `firecrawl_interact` instead.\n\nDestroy a browser session.\n\n```json\n{\n  \"name\": \"firecrawl_browser_delete\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\"\n  }\n}\n```\n\n## Logging System\n\nThe server includes comprehensive logging:\n\n- Operation status and progress\n- Performance metrics\n- Credit usage monitoring\n- Rate limit tracking\n- Error conditions\n\nExample log messages:\n\n```\n[INFO] Firecrawl MCP Server initialized successfully\n[INFO] Starting scrape for URL: https:\u002F\u002Fexample.com\n[INFO] Batch operation queued with ID: batch_1\n[WARNING] Credit usage has reached warning threshold\n[ERROR] Rate limit exceeded, retrying in 2s...\n```\n\n## Error Handling\n\nThe server provides robust error handling:\n\n- Automatic retries for transient errors\n- Rate limit handling with backoff\n- Detailed error messages\n- Credit usage warnings\n- Network resilience\n\nExample error response:\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Error: Rate limit exceeded. Retrying in 2 seconds...\"\n    }\n  ],\n  \"isError\": true\n}\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run tests\nnpm test\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create your feature branch\n3. Run tests: `npm test`\n4. Submit a pull request\n\n### Thanks to contributors\n\nThanks to [@vrknetha](https:\u002F\u002Fgithub.com\u002Fvrknetha), [@cawstudios](https:\u002F\u002Fcaw.tech) for the initial implementation!\n\nThanks to MCP.so and Klavis AI for hosting and [@gstarwd](https:\u002F\u002Fgithub.com\u002Fgstarwd), [@xiangkaiz](https:\u002F\u002Fgithub.com\u002Fxiangkaiz) and [@zihaolin96](https:\u002F\u002Fgithub.com\u002Fzihaolin96) for integrating our server.\n\n## License\n\nMIT License - see LICENSE file for details\n","\u003Cdiv align=\"center\">\n  \u003Ca name=\"readme-top\">\u003C\u002Fa>\n  \u003Cimg\n    src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_firecrawl-mcp-server_readme_32490d20c83f.png\"\n    height=\"140\"\n  >\n\u003C\u002Fdiv>\n\n# Firecrawl MCP 服务器\n\n一个与 [Firecrawl](https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl) 集成的模型上下文协议 (MCP) 服务器实现，用于网络爬取功能。\n\n> 非常感谢 [@vrknetha](https:\u002F\u002Fgithub.com\u002Fvrknetha) 和 [@knacklabs](https:\u002F\u002Fwww.knacklabs.ai) 的初始实现！\n\n## 特性\n\n- 网络爬取、抓取和发现\n- 搜索与内容提取\n- 深度研究与批量爬取\n- 带有代理浏览器自动化的云端浏览器会话\n- 自动重试与速率限制\n- 云服务与自托管支持\n- SSE 支持\n\n> 您可以在 [MCP.so 的 Playground](https:\u002F\u002Fmcp.so\u002Fplayground?server=firecrawl-mcp-server) 或 [Klavis AI](https:\u002F\u002Fwww.klavis.ai\u002Fmcp-servers) 上体验我们的 MCP 服务器。\n\n## 安装\n\n### 使用 npx 运行\n\n```bash\nenv FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp\n```\n\n### 手动安装\n\n```bash\nnpm install -g firecrawl-mcp\n```\n\n### 在 Cursor 中运行\n\n配置 Cursor 🖥️  \n注意：需要 Cursor 0.45.6 或更高版本。  \n有关最新配置说明，请参阅 Cursor 官方文档中关于配置 MCP 服务器的内容：  \n[Cursor MCP 服务器配置指南](https:\u002F\u002Fdocs.cursor.com\u002Fcontext\u002Fmodel-context-protocol#configuring-mcp-servers)\n\n在 Cursor **v0.48.6** 中配置 Firecrawl MCP：\n\n1. 打开 Cursor 设置\n2. 转到“功能” > “MCP 服务器”\n3. 点击“+ 添加新的全局 MCP 服务器”\n4. 输入以下代码：\n   ```json\n   {\n     \"mcpServers\": {\n       \"firecrawl-mcp\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"firecrawl-mcp\"],\n         \"env\": {\n           \"FIRECRAWL_API_KEY\": \"YOUR-API-KEY\"\n         }\n       }\n     }\n   }\n   ```\n\n在 Cursor **v0.45.6** 中配置 Firecrawl MCP：\n\n1. 打开 Cursor 设置\n2. 转到“功能” > “MCP 服务器”\n3. 点击“+ 添加新 MCP 服务器”\n4. 输入以下内容：\n   - 名称：“firecrawl-mcp”（或您喜欢的名称）\n   - 类型：“命令”\n   - 命令：`env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp`\n\n> 如果您使用的是 Windows 并遇到问题，请尝试 `cmd \u002Fc \"set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp\"`\n\n将 `your-api-key` 替换为您自己的 Firecrawl API 密钥。如果您还没有密钥，可以访问 https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys 创建账户并获取密钥。\n\n添加完成后，刷新 MCP 服务器列表即可看到新工具。Composer 代理会在适当的时候自动使用 Firecrawl MCP，但您也可以通过描述您的网页抓取需求来明确请求它。通过 Command+L（Mac）打开 Composer，选择提交按钮旁边的“代理”，然后输入您的查询。\n\n### 在 Windsurf 中运行\n\n将以下内容添加到您的 `.\u002Fcodeium\u002Fwindsurf\u002Fmodel_config.json` 文件中：\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n### 使用可流式 HTTP 本地模式运行\n\n要使用可流式 HTTP 在本地运行服务器，而不是默认的 stdio 传输方式：\n\n```bash\nenv HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp\n```\n\n使用 URL：http:\u002F\u002Flocalhost:3000\u002Fmcp\n\n### 通过 Smithery 安装（旧版）\n\n要通过 [Smithery](https:\u002F\u002Fsmithery.ai\u002Fserver\u002F@mendableai\u002Fmcp-server-firecrawl) 自动为 Claude Desktop 安装 Firecrawl：\n\n```bash\nnpx -y @smithery\u002Fcli install @mendableai\u002Fmcp-server-firecrawl --client claude\n```\n\n### 在 VS Code 中运行\n\n如需一键安装，请点击下方的安装按钮之一……\n\n[![在 VS Code 中使用 NPX 安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-NPM-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D) [![在 VS Code Insiders 中使用 NPX 安装](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-NPM-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=firecrawl&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22apiKey%22%2C%22description%22%3A%22Firecrawl%20API%20Key%22%2C%22password%22%3Atrue%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22firecrawl-mcp%22%5D%2C%22env%22%3A%7B%22FIRECRAWL_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D&quality=insiders)\n\n如需手动安装，请将以下 JSON 块添加到 VS Code 的用户设置 (JSON) 文件中。您可以通过按 `Ctrl + Shift + P` 并输入“Preferences: Open User Settings (JSON)”来完成此操作。\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"apiKey\",\n        \"description\": \"Firecrawl API Key\",\n        \"password\"：true\n      }\n    ],\n    \"servers\": {\n      \"firecrawl\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"firecrawl-mcp\"],\n        \"env\": {\n          \"FIRECRAWL_API_KEY\": \"${input:apiKey}\"\n        }\n      }\n    }\n  }\n}\n```\n\n或者，您可以将其添加到工作区中的 `.vscode\u002Fmcp.json` 文件中。这样就可以与他人共享配置：\n\n```json\n{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"apiKey\",\n      \"description\": \"Firecrawl API Key\",\n      \"password\"：true\n    }\n  ],\n  \"servers\": {\n    \"firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"${input:apiKey}\"\n      }\n    }\n  }\n}\n```\n\n## 配置\n\n### 环境变量\n\n#### 云 API 所需\n\n- `FIRECRAWL_API_KEY`：您的 Firecrawl API 密钥  \n  - 使用云 API 时必需  \n  - 使用自托管实例且设置了 `FIRECRAWL_API_URL` 时可选  \n- `FIRECRAWL_API_URL`（可选）：自托管实例的自定义 API 端点  \n  - 示例：`https:\u002F\u002Ffirecrawl.your-domain.com`  \n  - 如果未提供，则将使用云 API（需要 API 密钥）\n\n#### 可选配置\n\n##### 重试配置\n\n- `FIRECRAWL_RETRY_MAX_ATTEMPTS`：最大重试次数（默认：3）  \n- `FIRECRAWL_RETRY_INITIAL_DELAY`：首次重试前的初始延迟时间（毫秒）（默认：1000）  \n- `FIRECRAWL_RETRY_MAX_DELAY`：两次重试之间的最大延迟时间（毫秒）（默认：10000）  \n- `FIRECRAWL_RETRY_BACKOFF_FACTOR`：指数退避倍数（默认：2）\n\n##### 信用使用监控\n\n- `FIRECRAWL_CREDIT_WARNING_THRESHOLD`：信用使用警告阈值（默认：1000）  \n- `FIRECRAWL_CREDIT_CRITICAL_THRESHOLD`：信用使用严重阈值（默认：100）\n\n### 配置示例\n\n对于使用自定义重试和信用监控的云 API：\n\n```bash\n\n# 云 API 所需\nexport FIRECRAWL_API_KEY=您的 API 密钥\n\n# 可选的重试配置\nexport FIRECRAWL_RETRY_MAX_ATTEMPTS=5        # 增加最大重试次数\nexport FIRECRAWL_RETRY_INITIAL_DELAY=2000    # 初始延迟为 2 秒\nexport FIRECRAWL_RETRY_MAX_DELAY=30000       # 最大延迟为 30 秒\nexport FIRECRAWL_RETRY_BACKOFF_FACTOR=3      # 更激进的退避策略\n\n# 可选的信用监控\nexport FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000    # 信用剩余 2000 时发出警告\nexport FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500    # 信用剩余 500 时触发严重警报\n\n```\n\n对于自托管实例：\n\n```bash\n# 自托管所需\nexport FIRECRAWL_API_URL=https:\u002F\u002Ffirecrawl.您的域名.com\n\n# 自托管的可选认证\nexport FIRECRAWL_API_KEY=您的 API 密钥  # 如果您的实例需要认证\n\n# 自定义重试配置\nexport FIRECRAWL_RETRY_MAX_ATTEMPTS=10\nexport FIRECRAWL_RETRY_INITIAL_DELAY=500     # 从更快的延迟开始重试\n```\n\n### 与 Claude Desktop 的使用\n\n将以下内容添加到 `claude_desktop_config.json` 中：\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"您的 API 密钥\",\n\n        \"FIRECRAWL_RETRY_MAX_ATTEMPTS\": \"5\",\n        \"FIRECRAWL_RETRY_INITIAL_DELAY\": \"2000\",\n        \"FIRECRAWL_RETRY_MAX_DELAY\": \"30000\",\n        \"FIRECRAWL_RETRY_BACKOFF_FACTOR\": \"3\",\n\n        \"FIRECRAWL_CREDIT_WARNING_THRESHOLD\": \"2000\",\n        \"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD\": \"500\"\n      }\n    }\n  }\n}\n```\n\n### 系统配置\n\n该服务器包含多个可通过环境变量设置的可配置参数。如果未进行配置，以下是默认值：\n\n```typescript\nconst CONFIG = {\n  retry: {\n    maxAttempts: 3, \u002F\u002F 限流请求的最大重试次数\n    initialDelay: 1000, \u002F\u002F 第一次重试前的初始延迟（毫秒）\n    maxDelay: 10000, \u002F\u002F 重试之间的最大延迟（毫秒）\n    backoffFactor: 2, \u002F\u002F 指数退避的倍数\n  },\n  credit: {\n    warningThreshold: 1000, \u002F\u002F 当信用使用达到此水平时发出警告\n    criticalThreshold: 100, \u002F\u002F 当信用使用达到此水平时触发严重警报\n  },\n};\n```\n\n这些配置控制：\n\n1. **重试行为**\n\n   - 自动重试因限流而失败的请求\n   - 使用指数退避避免对 API 造成过大压力\n   - 示例：在默认设置下，重试间隔如下：\n     - 第一次重试：延迟 1 秒\n     - 第二次重试：延迟 2 秒\n     - 第三次重试：延迟 4 秒（上限为 maxDelay）\n\n2. **信用使用监控**\n   - 跟踪云 API 使用过程中的 API 信用消耗\n   - 在指定阈值时发出警告\n   - 帮助防止服务意外中断\n   - 示例：在默认设置下：\n     - 信用剩余 1000 时发出警告\n     - 信用剩余 100 时触发严重警报\n\n### 速率限制与批处理\n\n服务器利用 Firecrawl 内置的速率限制和批处理功能：\n\n- 自动处理速率限制并采用指数退避\n- 高效的并行处理用于批处理操作\n- 智能请求排队和节流\n- 自动重试临时性错误\n\n## 如何选择工具\n\n请使用本指南来为您的任务选择合适的工具：\n\n- **如果您知道确切的目标 URL：**\n  - 单个 URL：使用 **scrape**（推荐 JSON 格式以获取结构化数据）\n  - 多个 URL：使用 **batch_scrape**\n- **如果您需要发现网站上的 URL：** 使用 **map**\n- **如果您想在网络上搜索信息：** 使用 **search**\n- **如果您需要跨多个未知来源进行复杂研究：** 使用 **agent**\n- **如果您需要分析整个网站或部分页面：** 使用 **crawl**（请注意限制！）\n- **如果您需要交互式的浏览器自动化操作**（点击、输入、导航）：使用 **scrape** + **interact**\n- **如果您需要原始的 CDP 浏览器会话**（高级用法）：使用 **browser**（已弃用）\n\n### 快速参考表\n\n| 工具         | 最适合场景                            | 返回结果                    |\n| ------------ | ----------------------------------- | -------------------------- |\n| scrape       | 提取单个页面内容                 | JSON（推荐）或 Markdown |\n| interact     | 与已抓取的页面进行交互        | 执行结果           |\n| batch_scrape | 提取多个已知 URL 的内容         | JSON（推荐）或 Markdown[] |\n| map          | 发现网站上的 URL                | URL[]                      |\n| crawl        | 多页内容提取（有限制）          | Markdown\u002FHTML[]            |\n| search       | 在网络上搜索信息                | 搜索结果[]                 |\n| agent        | 复杂的多源研究                  | JSON（结构化数据）         |\n| browser      | 交互式多步骤自动化（已弃用）    | 包含实时浏览器的会话       |\n\n### 格式选择指南\n\n在使用 `scrape` 或 `batch_scrape` 时，请选择合适的格式：\n\n- **JSON 格式（大多数情况下推荐）：** 当您需要从页面中提取特定数据时使用。根据所需内容定义模式，这样可以保持响应较小，并避免上下文窗口溢出。\n- **Markdown 格式（谨慎使用）：** 仅在确实需要完整页面内容时使用，例如阅读整篇文章以进行摘要或分析页面结构。\n\n### 1. 抓取工具（`firecrawl_scrape`）\n\n从单个 URL 抓取内容，并提供高级选项。\n\n**最适合：**\n\n- 单页内容提取，当你确切知道哪一页包含所需信息时。\n\n**不建议用于：**\n\n- 从多个页面提取内容（对于已知 URL，请使用 batch_scrape；若需先发现 URL，则可结合 map 和 batch_scrape；如需完整页面内容，可使用 crawl）  \n- 当不确定哪一页包含所需信息时（请使用 search）。\n\n**常见错误：**\n\n- 将 scrape 用于 URL 列表（应改用 batch_scrape）。  \n- 默认使用 Markdown 格式（应使用 JSON 格式以仅提取所需内容）。\n\n**选择合适的格式：**\n\n- **JSON 格式（推荐）：** 对于大多数场景，建议使用带有 Schema 的 JSON 格式来提取特定数据。这样可以确保响应聚焦，避免上下文窗口溢出。  \n- **Markdown 格式：** 仅在任务确实需要完整页面内容时使用（例如，总结整篇文章或分析页面结构）。\n\n**提示示例：**\n\n> “从 https:\u002F\u002Fexample.com\u002Fproduct 获取产品详情。”\n\n**使用示例（JSON 格式——推荐）：**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fproduct\",\n    \"formats\": [{\n      \"type\": \"json\",\n      \"prompt\": \"提取产品信息\",\n      \"schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": { \"type\": \"string\" },\n          \"price\": { \"type\": \"number\" },\n          \"description\": { \"type\": \"string\" }\n        },\n        \"required\": [\"name\", \"price\"]\n      }\n    }]\n  }\n}\n```\n\n**使用示例（Markdown 格式——当需要完整内容时）：**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Farticle\",\n    \"formats\": [\"markdown\"],\n    \"onlyMainContent\": true\n  }\n}\n```\n\n**使用示例（品牌化格式——提取品牌标识）：**\n\n```json\n{\n  \"name\": \"firecrawl_scrape\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\",\n    \"formats\": [\"branding\"]\n  }\n}\n```\n\n**品牌化格式：** 提取全面的品牌标识（颜色、字体、排版、间距、Logo、UI 组件等），用于设计分析或样式复刻。\n\n**返回值：**\n\n- 按指定格式返回 JSON 结构化数据、Markdown 内容、品牌档案或其他格式。\n\n### 2. 批量抓取工具（`firecrawl_batch_scrape`）\n\n高效抓取多个 URL，内置速率限制和并行处理功能。\n\n**最适合：**\n\n- 从多个页面获取内容，且你确切知道要抓取哪些页面时。\n\n**不建议用于：**\n\n- 发现 URL（如果不知道 URL，请先使用 map）。  \n- 抓取单个页面（请使用 scrape）。\n\n**常见错误：**\n\n- 一次性使用 batch_scrape 抓取过多 URL（可能导致速率限制或令牌溢出）。\n\n**提示示例：**\n\n> “获取以下三篇博客文章的内容：[url1, url2, url3]。”\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_batch_scrape\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fexample1.com\", \"https:\u002F\u002Fexample2.com\"],\n    \"options\": {\n      \"formats\": [\"markdown\"],\n      \"onlyMainContent\": true\n    }\n  }\n}\n```\n\n**返回值：**\n\n- 响应包含操作 ID，用于检查状态：\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"批量操作已排队，ID：batch_1。请使用 firecrawl_check_batch_status 检查进度。\"\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 3. 检查批量状态（`firecrawl_check_batch_status`）\n\n检查批量操作的状态。\n\n```json\n{\n  \"name\": \"firecrawl_check_batch_status\",\n  \"arguments\": {\n    \"id\": \"batch_1\"\n  }\n}\n```\n\n### 4. 网站映射工具（`firecrawl_map`）\n\n映射一个网站，以发现该站点上所有已索引的 URL。\n\n**最适合：**\n\n- 在决定抓取哪些内容之前，先发现网站上的 URL。  \n- 查找网站的特定部分。\n\n**不建议用于：**\n\n- 当你已经知道需要的具体 URL 时（请使用 scrape 或 batch_scrape）。  \n- 当你需要页面内容时（请在映射后使用 scrape）。\n\n**常见错误：**\n\n- 使用 crawl 来发现 URL，而不是 map。\n\n**提示示例：**\n\n> “列出 example.com 上的所有 URL。”\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_map\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\"\n  }\n}\n```\n\n**返回值：**\n\n- 该站点上找到的 URL 数组。\n\n### 5. 搜索工具（`firecrawl_search`）\n\n在网络上进行搜索，并可选择性地从搜索结果中提取内容。\n\n**最适合：**\n\n- 在多个网站上查找特定信息，且不确定哪个网站包含所需信息时。  \n- 当你需要针对查询的最相关内容时。\n\n**不建议用于：**\n\n- 当你已经知道要抓取哪个网站时（请使用 scrape）。  \n- 当你需要对单个网站进行全面覆盖时（请使用 map 或 crawl）。\n\n**常见错误：**\n\n- 对开放式问题使用 crawl 或 map（应改用 search）。\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_search\",\n  \"arguments\": {\n    \"query\": \"2023 年最新的 AI 研究论文\",\n    \"limit\": 5,\n    \"lang\": \"en\",\n    \"country\": \"us\",\n    \"scrapeOptions\": {\n      \"formats\": [\"markdown\"],\n      \"onlyMainContent\": true\n    }\n  }\n}\n```\n\n**返回值：**\n\n- 搜索结果数组（可选包含抓取的内容）。\n\n**提示示例：**\n\n> “查找 2023 年发表的最新 AI 研究论文。”\n\n### 6. 爬取工具（`firecrawl_crawl`）\n\n启动网站的异步爬取作业，并提取所有页面的内容。\n\n**最适合：**\n\n- 从多个相关页面提取内容，且需要全面覆盖时。\n\n**不建议用于：**\n\n- 抓取单个页面（请使用 scrape）。  \n- 当令牌限制成为问题时（请使用 map + batch_scrape）。  \n- 当需要快速结果时（爬取可能较慢）。\n\n**警告：** 爬取响应可能非常庞大，容易超出令牌限制。请限制爬取深度和页面数量，或使用 map + batch_scrape 以更好地控制。\n\n**常见错误：**\n\n- 设置 limit 或 maxDepth 过高（会导致令牌溢出）。  \n- 对单个页面使用 crawl（应改用 scrape）。\n\n**提示示例：**\n\n> “获取 example.com\u002Fblog 前两层的所有博客文章。”\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_crawl\",\n  \"arguments\": {\n    \"url\": \"https:\u002F\u002Fexample.com\u002Fblog\u002F*\",\n    \"maxDepth\": 2,\n    \"limit\": 100,\n    \"allowExternalLinks\": false,\n    \"deduplicateSimilarURLs\": true\n  }\n}\n```\n\n**返回值：**\n\n- 响应包含操作 ID，用于检查状态：\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"已开始对：https:\u002F\u002Fexample.com\u002F* 进行爬取，作业 ID：550e8400-e29b-41d4-a716-446655440000。请使用 firecrawl_check_crawl_status 检查进度。\"\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 7. 检查爬取状态（`firecrawl_check_crawl_status`）\n\n检查爬取作业的状态。\n\n```json\n{\n  \"name\": \"firecrawl_check_crawl_status\",\n  \"arguments\": {\n    \"id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  }\n}\n```\n\n**返回值：**\n\n- 响应包含爬取作业的状态：\n\n### 8. 提取工具 (`firecrawl_extract`)\n\n使用大模型能力从网页中提取结构化信息。支持云端AI和自托管的大模型提取。\n\n**最适合：**\n\n- 提取特定的结构化数据，如价格、名称、详情等。\n\n**不推荐用于：**\n\n- 需要获取页面全部内容时（请使用scrape）\n- 不需要提取特定结构化数据时\n\n**参数：**\n\n- `urls`: 需要提取信息的URL数组\n- `prompt`: 用于大模型提取的自定义提示词\n- `systemPrompt`: 引导大模型的系统提示词\n- `schema`: 用于结构化数据提取的JSON模式\n- `allowExternalLinks`: 是否允许从外部链接提取\n- `enableWebSearch`: 是否启用网络搜索以获取更多上下文\n- `includeSubdomains`: 是否包含子域名的提取\n\n当使用自托管实例时，提取将使用您配置的大模型。对于云API，则会使用Firecrawl的托管大模型服务。\n**提示词示例：**\n\n> “从这些产品页面中提取产品名称、价格和描述。”\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_extract\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fexample.com\u002Fpage1\", \"https:\u002F\u002Fexample.com\u002Fpage2\"],\n    \"prompt\": \"提取包括名称、价格和描述的产品信息\",\n    \"systemPrompt\": \"你是一个帮助提取产品信息的助手\",\n    \"schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"name\": { \"type\": \"string\" },\n        \"price\": { \"type\": \"number\" },\n        \"description\": { \"type\": \"string\" }\n      },\n      \"required\": [\"name\", \"price\"]\n    },\n    \"allowExternalLinks\": false,\n    \"enableWebSearch\": false,\n    \"includeSubdomains\": false\n  }\n}\n```\n\n**返回结果：**\n\n- 按照您的模式定义的提取出的结构化数据\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": {\n        \"name\": \"示例产品\",\n        \"price\": 99.99,\n        \"description\": \"这是一个示例产品描述\"\n      }\n    }\n  ],\n  \"isError\": false\n}\n```\n\n### 9. 代理工具 (`firecrawl_agent`)\n\n自主网络研究代理。这是一个独立的AI代理层，能够根据您的查询独立浏览互联网、搜索信息、导航页面并提取结构化数据。\n\n**工作原理：**\n\n代理会自动执行网络搜索、跟随链接、读取页面并收集数据。此过程是**异步**的——它会立即返回一个作业ID，您可以轮询`firecrawl_agent_status`来检查完成状态并获取结果。\n\n**异步工作流程：**\n\n1. 使用您的提示词\u002F模式调用`firecrawl_agent` → 返回作业ID\n2. 在代理进行研究的同时，您可以处理其他任务（复杂查询可能需要几分钟）\n3. 使用作业ID轮询`firecrawl_agent_status`以查看进度\n4. 当状态为“已完成”时，响应中将包含提取的数据\n\n**最适合：**\n\n- 复杂的研究任务，且您不知道确切的URL\n- 多源数据收集\n- 寻找分散在全网的信息\n- 您可以在等待结果的同时进行其他工作的任务\n\n**不推荐用于：**\n\n- 简单的单页抓取，且您已知URL（请使用带有JSON格式的scrape——更快更便宜）\n\n**参数：**\n\n- `prompt`: 您想要的数据的自然语言描述（必填，最多10,000字符）\n- `urls`: 可选的URL数组，用于让代理专注于特定页面\n- `schema`: 可选的结构化输出JSON模式\n\n**提示词示例：**\n\n> “找出Firecrawl的创始人及其背景”\n\n**使用示例（启动代理后轮询结果）：**\n\n```json\n{\n  \"name\": \"firecrawl_agent\",\n  \"arguments\": {\n    \"prompt\": \"找出2024年成立的前5家AI初创公司及其融资金额\",\n    \"schema\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"startups\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"name\": { \"type\": \"string\" },\n              \"funding\": { \"type\": \"string\" },\n              \"founded\": { \"type\": \"string\" }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n然后使用返回的作业ID轮询`firecrawl_agent_status`。\n\n**使用示例（带URL——代理专注于特定页面）：**\n\n```json\n{\n  \"name\": \"firecrawl_agent\",\n  \"arguments\": {\n    \"urls\": [\"https:\u002F\u002Fdocs.firecrawl.dev\", \"https:\u002F\u002Ffirecrawl.dev\u002Fpricing\"],\n    \"prompt\": \"比较这些页面的功能和定价信息\"\n  }\n}\n```\n\n**返回结果：**\n\n- 用于检查状态的作业ID。使用`firecrawl_agent_status`轮询以获取结果。\n\n### 10. 检查代理状态 (`firecrawl_agent_status`)\n\n检查代理作业的状态，并在完成后获取结果。在启动代理后，使用此接口轮询结果。\n\n**轮询模式：** 对于复杂查询，代理研究可能需要几分钟。请定期（例如每10-30秒）轮询此端点，直到状态变为“已完成”或“失败”。\n\n```json\n{\n  \"name\": \"firecrawl_agent_status\",\n  \"arguments\": {\n    \"id\": \"550e8400-e29b-41d4-a716-446655440000\"\n  }\n}\n```\n\n**可能的状态：**\n\n- `processing`: 代理仍在研究中——稍后再试\n- `completed`: 研究已完成——响应中包含提取的数据\n- `failed`: 发生了错误\n\n### 11. 浏览器创建 (`firecrawl_browser_create`) — 已弃用\n\n> **已弃用：** 建议改用`firecrawl_scrape` + `firecrawl_interact`。Interact允许您先抓取页面，然后再点击、填写表单并导航，而无需手动管理会话。\n\n创建用于交互式自动化的云端浏览器会话。\n\n**参数：**\n\n- `ttl`: 会话总生命周期，单位为秒（30-3600，可选）\n- `activityTtl`: 空闲超时时间，单位为秒（10-3600，可选）\n- `streamWebView`: 是否启用实时视图流（可选）\n- `profile`: 保存并跨会话重复使用浏览器状态（可选）\n  - `name`: 配置文件名称（同名会话共享状态）\n  - `saveChanges`: 是否将更改保存回配置文件（默认：是）\n\n**使用示例：**\n\n```json\n{\n  \"name\": \"firecrawl_browser_create\",\n  \"arguments\": {\n    \"ttl\": 600,\n    \"profile\": { \"name\": \"my-profile\", \"saveChanges\": true }\n  }\n}\n```\n\n**返回结果：**\n\n- 会话ID、CDP URL以及实时视图URL\n\n### 12. 浏览器执行（`firecrawl_browser_execute`）—— 已弃用\n\n> **已弃用**：建议改用 `firecrawl_scrape` + `firecrawl_interact`。\n\n在浏览器会话中执行代码。支持 agent-browser 命令（bash）、Python 或 JavaScript。\n\n**推荐：使用带有 agent-browser 命令的 bash**（每个沙盒中均已预装）：\n\n```json\n{\n  \"name\": \"firecrawl_browser_execute\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\",\n    \"code\": \"agent-browser open https:\u002F\u002Fexample.com\",\n    \"language\": \"bash\"\n  }\n}\n```\n\n**常见的 agent-browser 命令：**\n\n| 命令 | 描述 |\n|---------|-------------|\n| `agent-browser open \u003Curl>` | 导航到指定 URL |\n| `agent-browser snapshot` | 包含可点击引用的无障碍树 |\n| `agent-browser click @e5` | 根据快照中的引用点击元素 |\n| `agent-browser type @e3 \"text\"` | 在元素中输入文本 |\n| `agent-browser get title` | 获取页面标题 |\n| `agent-browser screenshot` | 截取屏幕截图 |\n| `agent-browser --help` | 完整命令参考 |\n\n**对于 Playwright 脚本，使用 Python：**\n\n```json\n{\n  \"name\": \"firecrawl_browser_execute\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\",\n    \"code\": \"await page.goto('https:\u002F\u002Fexample.com')\\ntitle = await page.title()\\nprint(title)\",\n    \"language\": \"python\"\n  }\n}\n```\n\n### 13. 浏览器列表（`firecrawl_browser_list`）—— 已弃用\n\n> **已弃用**：建议改用 `firecrawl_scrape` + `firecrawl_interact`。\n\n列出浏览器会话，可选择按状态过滤。\n\n```json\n{\n  \"name\": \"firecrawl_browser_list\",\n  \"arguments\": {\n    \"status\": \"active\"\n  }\n}\n```\n\n### 14. 浏览器删除（`firecrawl_browser_delete`）—— 已弃用\n\n> **已弃用**：建议改用 `firecrawl_scrape` + `firecrawl_interact`。\n\n销毁一个浏览器会话。\n\n```json\n{\n  \"name\": \"firecrawl_browser_delete\",\n  \"arguments\": {\n    \"sessionId\": \"session-id-here\"\n  }\n}\n```\n\n## 日志系统\n\n服务器包含全面的日志记录功能：\n\n- 操作状态和进度\n- 性能指标\n- 信用使用监控\n- 速率限制跟踪\n- 错误情况\n\n日志示例：\n\n```\n[INFO] Firecrawl MCP 服务器成功初始化\n[INFO] 开始抓取 URL：https:\u002F\u002Fexample.com\n[INFO] 批量操作已排队，ID：batch_1\n[WARNING] 信用使用已达到警告阈值\n[ERROR] 速率限制已超限，将在 2 秒后重试...\n```\n\n## 错误处理\n\n服务器提供强大的错误处理机制：\n\n- 自动重试临时性错误\n- 具有退避策略的速率限制处理\n- 详细的错误信息\n- 信用使用警告\n- 网络韧性\n\n错误响应示例：\n\n```json\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"错误：速率限制已超限。将在 2 秒后重试...\"\n    }\n  ],\n  \"isError\": true\n}\n```\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 构建\nnpm run build\n\n# 运行测试\nnpm test\n```\n\n### 贡献\n\n1. 分支仓库\n2. 创建你的功能分支\n3. 运行测试：`npm test`\n4. 提交拉取请求\n\n### 感谢贡献者\n\n感谢 [@vrknetha](https:\u002F\u002Fgithub.com\u002Fvrknetha) 和 [@cawstudios](https:\u002F\u002Fcaw.tech) 的初始实现！\n\n同时感谢 MCP.so 和 Klavis AI 的托管支持，以及 [@gstarwd](https:\u002F\u002Fgithub.com\u002Fgstarwd)、[@xiangkaiz](https:\u002F\u002Fgithub.com\u002Fxiangkaiz) 和 [@zihaolin96](https:\u002F\u002Fgithub.com\u002Fzihaolin96) 对我们服务器的集成工作。\n\n## 许可证\n\nMIT 许可证 - 详情请参阅 LICENSE 文件","# Firecrawl MCP Server 快速上手指南\n\nFirecrawl MCP Server 是一个基于模型上下文协议（MCP）的服务端实现，集成了 [Firecrawl](https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl) 强大的网页抓取、爬取和内容提取能力，可让 AI 助手直接操作网络数据。\n\n## 环境准备\n\n*   **系统要求**：支持 macOS、Linux 或 Windows。\n*   **前置依赖**：\n    *   已安装 [Node.js](https:\u002F\u002Fnodejs.org\u002F) (建议 v18 或更高版本)。\n    *   已安装 `npm` 或 `npx` (通常随 Node.js 一同安装)。\n*   **API 密钥**：\n    *   访问 [Firecrawl 官网](https:\u002F\u002Fwww.firecrawl.dev\u002Fapp\u002Fapi-keys) 注册账号并获取 `FIRECRAWL_API_KEY`。\n    *   若使用自托管实例，需准备 `FIRECRAWL_API_URL`。\n\n## 安装步骤\n\n### 方式一：通过 npx 直接运行（推荐测试用）\n\n无需全局安装，直接在终端运行以下命令（替换为你的 API Key）：\n\n```bash\nenv FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp\n```\n\n> **Windows 用户注意**：若上述命令报错，请尝试使用 `cmd \u002Fc \"set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp\"`。\n\n### 方式二：全局安装\n\n```bash\nnpm install -g firecrawl-mcp\n```\n\n安装完成后，可通过配置环境变量运行：\n\n```bash\nexport FIRECRAWL_API_KEY=fc-YOUR_API_KEY\nfirecrawl-mcp\n```\n\n### 集成到主流 IDE\u002F编辑器\n\n#### 1. Cursor (v0.45.6+)\n\n1.  打开 Cursor 设置 (`Settings`)。\n2.  进入 `Features` > `MCP Servers`。\n3.  点击 `+ Add new global MCP server`。\n4.  填入以下配置（请将 `YOUR-API-KEY` 替换为实际密钥）：\n\n```json\n{\n  \"mcpServers\": {\n    \"firecrawl-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"YOUR-API-KEY\"\n      }\n    }\n  }\n}\n```\n\n#### 2. VS Code\n\n1.  按下 `Ctrl + Shift + P` (Mac: `Cmd + Shift + P`)，输入 `Preferences: Open User Settings (JSON)` 并打开。\n2.  在配置文件中添加以下内容：\n\n```json\n{\n  \"mcp\": {\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"apiKey\",\n        \"description\": \"Firecrawl API Key\",\n        \"password\": true\n      }\n    ],\n    \"servers\": {\n      \"firecrawl\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"firecrawl-mcp\"],\n        \"env\": {\n          \"FIRECRAWL_API_KEY\": \"${input:apiKey}\"\n        }\n      }\n    }\n  }\n}\n```\n保存后，VS Code 会在首次使用时提示你输入 API Key。\n\n#### 3. Claude Desktop\n\n编辑 `claude_desktop_config.json` 文件，添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-firecrawl\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"YOUR_API_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\n## 基本使用\n\n配置完成后，重启你的 AI 编辑器或客户端。在对话框中（如 Cursor 的 Composer 模式），你可以直接使用自然语言描述需求，AI 将自动调用 Firecrawl 工具。\n\n### 常用场景示例\n\n*   **抓取单个页面内容**\n    > “请抓取 https:\u002F\u002Fexample.com 的主要内容，并以 JSON 格式返回标题和正文。”\n    *   *底层工具*：`scrape`\n\n*   **发现网站内的所有链接**\n    > “帮我找出 https:\u002F\u002Fexample.com 站点下的所有子页面链接。”\n    *   *底层工具*：`map`\n\n*   **批量抓取多个已知 URL**\n    > “请同时抓取以下三个网址的内容：[url1, url2, url3]。”\n    *   *底层工具*：`batch_scrape`\n\n*   **全网搜索特定信息**\n    > “搜索关于 'AI 最新进展' 的网络信息，并总结前三条结果。”\n    *   *底层工具*：`search`\n\n*   **深度研究与多源分析**\n    > “调研一下竞争对手 X 的产品定价策略，需要综合多个来源的信息。”\n    *   *底层工具*：`agent`\n\n### 工具选择速查\n\n| 你的需求 | 推荐工具 |\n| :--- | :--- |\n| 获取单个页面数据 | `scrape` |\n| 获取多个指定页面数据 | `batch_scrape` |\n| 寻找站点内的所有链接 | `map` |\n| 搜索引擎查找信息 | `search` |\n| 复杂的多源深度研究 | `agent` |\n| 全站爬取（需限制范围） | `crawl` |\n| 模拟浏览器交互（点击\u002F输入） | `scrape` + `interact` |\n\n### 高级配置（可选）\n\n如需调整重试机制或监控用量，可在启动命令前添加环境变量：\n\n```bash\n# 示例：增加重试次数和调整信用额度警告阈值\nenv FIRECRAWL_API_KEY=fc-YOUR_API_KEY \\\n    FIRECRAWL_RETRY_MAX_ATTEMPTS=5 \\\n    FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000 \\\n    npx -y firecrawl-mcp\n```","一位市场数据分析师需要在两小时内为 AI 产品撰写一份关于“竞品最新定价策略与功能更新”的深度报告，必须基于数十个竞争对手的官方网站实时数据。\n\n### 没有 firecrawl-mcp-server 时\n- **人工采集效率极低**：需要手动打开几十个网页复制粘贴内容，耗时数小时且容易遗漏关键信息。\n- **动态内容无法获取**：许多竞品网站采用 JavaScript 动态渲染，传统简单的爬虫脚本或复制操作无法抓取完整内容。\n- **数据格式混乱难用**：抓取的 HTML 代码包含大量噪音，LLM 直接阅读会受干扰，需额外编写清洗脚本。\n- **上下文割裂**：在编辑器中写报告时，需频繁切换浏览器查找资料，打断创作思路，难以让 AI 助手直接基于最新网页内容生成分析。\n\n### 使用 firecrawl-mcp-server 后\n- **一键批量抓取**：在 Cursor 或 Claude 中直接指令“抓取以下 20 个竞品的定价页”，firecrawl-mcp-server 自动并发完成所有页面的爬取与提取。\n- **完美渲染动态页面**：内置云浏览器会话自动处理 JavaScript 渲染，确保获取到与真实用户所见一致的完整文本和结构化数据。\n- **原生洁净数据输入**：自动将网页转换为 LLM 易读的 Markdown 格式，去除广告和导航栏噪音，让模型专注于核心业务逻辑分析。\n- **工作流无缝闭环**：直接在 IDE 内调用工具获取数据并立即生成对比表格和趋势分析，无需离开代码环境，实现“搜索 - 分析 - 写作”一气呵成。\n\nfirecrawl-mcp-server 将原本需要数小时的人工调研工作压缩至分钟级，让开发者能直接在编码环境中利用实时全网数据驱动智能决策。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffirecrawl_firecrawl-mcp-server_32490d20.png","firecrawl","Firecrawl","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffirecrawl_07a2c527.png","Web data API for AI",null,"hello@firecrawl.dev","firecrawl_dev","firecrawl.dev","https:\u002F\u002Fgithub.com\u002Ffirecrawl",[83,87,91,95],{"name":84,"color":85,"percentage":86},"JavaScript","#f1e05a",96.4,{"name":88,"color":89,"percentage":90},"TypeScript","#3178c6",1.9,{"name":92,"color":93,"percentage":94},"Dockerfile","#384d54",1.5,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0.2,6024,679,"2026-04-12T20:37:54","MIT","Linux, macOS, Windows","未说明",{"notes":106,"python":104,"dependencies":107},"该工具是基于 Node.js 的 MCP 服务器，无需 GPU。运行前需安装 Node.js 环境。必须配置 FIRECRAWL_API_KEY 环境变量（使用云服务时）或 FIRECRAWL_API_URL（使用自托管实例时）。支持在 Cursor、Windsurf、VS Code 和 Claude Desktop 等编辑器中集成使用。",[108,109],"Node.js","npm\u002Fnpx",[27,16,36],[112,113,114,115,73,116,117,118,119,120,121,122,123,124],"batch-processing","claude","content-extraction","data-collection","firecrawl-ai","llm-tools","mcp-server","model-context-protocol","search-api","web-crawler","web-scraping","javascript-rendering","mcp","2026-03-27T02:49:30.150509","2026-04-13T13:37:50.614156",[128,133,138,143,148,153],{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},31515,"运行命令后提示找不到工具（No Tools Found）怎么办？","如果在 macOS 上使用 `env FIRECRAWL_API_KEY=... npx -y firecrawl-mcp` 命令时遇到“未找到工具”的问题，可以尝试使用旧版命令格式：\n`npx -y @smithery\u002Fcli@latest run @mendableai\u002Fmcp-server-firecrawl --config \"{\\\"fireCrawlApiKey\\\":\\\"你的 API 密钥\\\"}\"`\n此外，请确保已按照 README 中的最新说明进行配置。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F15",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},31516,"在 Cursor IDE 中配置 Firecrawl MCP 服务器失败或显示'client closed'错误如何解决？","Cursor 更新后配置方式有所变化。请在 `mcp.json` 中使用以下标准配置格式，将 API 密钥放在 `env` 对象中，而不是拼接在 command 字符串里：\n```json\n{\n  \"mcpServers\": {\n    \"firecrawl-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"firecrawl-mcp\"],\n      \"env\": {\n        \"FIRECRAWL_API_KEY\": \"你的 API 密钥\"\n      }\n    }\n  }\n}\n```\n如果问题依旧，可能是 Cursor 本身的 bug，可以尝试本地安装 npm 包并直接指向入口 JS 文件运行。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F28",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},31517,"自定义客户端连接时服务器初始化卡住（Hang\u002FStuck）怎么办？","这是一个已知问题，通常由日志发送功能引起。解决方案是注释掉代码中所有的 `server.sendLoggingMessage` 语句。执行此操作后，MCP 服务器应能正常启动且工具调用不再挂起。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F17",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},31518,"使用自托管（Self-hosted）Firecrawl 实例时，为什么仍然要求设置 API 密钥？","在 v2.0.0 到 v3.2.0 之前的版本中存在一个回归错误，导致即使设置了 `FIRECRAWL_API_URL` 指向本地实例，系统仍强制要求 `FIRECRAWL_API_KEY`。\n解决方法：\n1. 升级 firecrawl-mcp-server 到 v3.2.0 或更高版本，该问题已在其中修复。\n2. 如果暂时无法升级，可以尝试设置一个任意的虚拟 API 密钥（例如 `FIRECRAWL_API_KEY=\"123\"`），只要 `FIRECRAWL_API_URL` 配置正确，通常也能正常工作。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F93",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},31519,"在 LM Studio 或 Windows 上使用本地 Firecrawl 时，模型仍提示需要 Cloud API Key 怎么办？","这通常是因为使用了包含该 Bug 的旧版本 MCP 服务器。即使你设置了 `FIRECRAWL_API_URL` 且本地服务正常，旧版本也会错误地回退到云服务的验证逻辑。\n请确保通过 `npx -y firecrawl-mcp@latest` 安装或更新到最新版本（v3.2.0+），该版本已修复了本地实例被忽略的问题。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F94",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},31520,"Claude Desktop 报错'Unexpected token'或 JSON 解析错误是什么原因？","此类错误（如 `Unexpected token 'D', \"[DEBUG]...`）通常是因为服务器输出了非 JSON 格式的调试日志或环境变量加载信息（如 dotenv 的调试输出），导致客户端无法解析协议消息。\n建议检查启动命令，确保没有开启多余的调试模式，或者查看是否有冲突的环境变量打印干扰了 stdio 通信。保持服务器输出纯净仅包含 JSON-RPC 消息是关键。","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fissues\u002F98",[159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234],{"id":160,"version":161,"summary_zh":162,"released_at":163},235507,"v3.2.1","- 调整搜索，使提示中包含查询运算符","2025-09-26T07:31:17",{"id":165,"version":166,"summary_zh":167,"released_at":168},235508,"v3.2.0","修复了一个问题：自托管实例即使设置了自定义基础 URL，仍然需要 API_KEY。\n\n**完整更新日志**：https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv3.0.0...v3.2.0","2025-09-16T19:25:11",{"id":170,"version":171,"summary_zh":172,"released_at":173},235509,"v3.0.0","## 变更内容\n* (功能\u002F版本控制) @nickscamara 在 https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fpull\u002F90 中增加了对 v1 和 v2 的支持\n* 修复：将 safeLogs 包裹在 try-catch 外，并为匿名函数命名，以方便调试，由 @mogery 在 https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fpull\u002F92 中完成\n* Fastmcp，由 @tomkosm 完成，详见 https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fpull\u002F97\n\n## 新贡献者\n* @mogery 在 https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fpull\u002F92 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv2.0.0...v3.0.0","2025-09-11T22:37:39",{"id":175,"version":176,"summary_zh":177,"released_at":178},235510,"v2.0.0","## 变更内容\n* 更新至 Firecrawl v2 API，并新增流式 HTTP 支持\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv1.12.0...v2.0.0","2025-08-23T19:15:02",{"id":180,"version":181,"summary_zh":182,"released_at":183},235511,"v1.12.0","## 变更内容\n* 修复 Dockerfile 中的路径，并由 @vrknetha 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F32 中进行优化。\n* 重构：@ftonato 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F33 中进行了通用性改进。\n* Klavis AI 的 Firecrawl 托管服务。由 @xiangkaiz 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F42 中完成。\n* 新特性：支持 SSE+远程连接。由 @tomkosm 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F45 中实现。\n* 修复：在 SSE 模式下添加缺失的服务器监听调用。由 @CodeDuckky 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F46 中完成。\n* 添加 VS Code 安装说明。由 @burkeholland 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F35 中添加。\n* 增加协作者 Zihao，负责在 Klavis AI 上托管 MCP 服务器。由 @xiangkaiz 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F43 中完成。\n* 更改公司名称。由 @vrknetha 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F62 中完成。\n* 丰富 README.md 和 index.ts 文件，加入详细的工具说明。由 @rafaelsideguide 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F61 中完成。\n* 实现 maxAge 快速抓取参数。由 @devin-ai-integration 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F73 中实现。\n\n## 新贡献者\n* @ftonato 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F33 中完成了首次贡献。\n* @xiangkaiz 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F42 中完成了首次贡献。\n* @tomkosm 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F45 中完成了首次贡献。\n* @CodeDuckky 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F46 中完成了首次贡献。\n* @burkeholland 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F35 中完成了首次贡献。\n* @rafaelsideguide 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F61 中完成了首次贡献。\n* @devin-ai-integration 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F73 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv1.7.2...v1.12.0","2025-07-03T14:59:25",{"id":185,"version":186,"summary_zh":187,"released_at":188},235512,"v1.7.2","## 变更内容\n* （功能\u002FLLMs-txt）由 @nickscamara 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F23 中创建了生成 LLMs 文本的工具\n* 修复标准输入输出日志问题，由 @vrknetha 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F24 中完成\n\n## 新贡献者\n* @nickscamara 在 https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fpull\u002F23 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv1.4.1...v1.7.2","2025-03-27T07:39:13",{"id":190,"version":191,"summary_zh":192,"released_at":193},235513,"v1.4.1","- 新增深度研究工具\n\n**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffirecrawl-mcp-server\u002Fcompare\u002Fv.1.3.3...v1.4.1","2025-03-02T21:29:32",{"id":195,"version":196,"summary_zh":197,"released_at":198},235514,"v.1.3.3","**隆重推出官方 Firecrawl MCP 服务器 📡**  \n\n为 Cursor、Claude Desktop 等工具赋予网页爬取能力。\n\nenv FIRECRAWL_API_KEY=YOUR_KEY npx -y firecrawl-mcp","2025-02-21T16:32:42",{"id":200,"version":201,"summary_zh":202,"released_at":203},235515,"v1.2.4","## 概述\n本次发布新增了环境变量配置支持，并增强了文档说明，使服务器更加灵活、易于配置。\n\n## 🔧 配置更新\n### 新增环境变量\n- 重试配置：\n  - `FIRE_CRAWL_RETRY_MAX_ATTEMPTS`（默认值：3）\n  - `FIRE_CRAWL_RETRY_INITIAL_DELAY`（默认值：1000毫秒）\n  - `FIRE_CRAWL_RETRY_MAX_DELAY`（默认值：10000毫秒）\n  - `FIRE_CRAWL_RETRY_BACKOFF_FACTOR`（默认值：2）\n- 信用监控：\n  - `FIRE_CRAWL_CREDIT_WARNING_THRESHOLD`（默认值：1000）\n  - `FIRE_CRAWL_CREDIT_CRITICAL_THRESHOLD`（默认值：100）\n\n## 📚 文档改进\n- 添加了全面的配置示例\n- 增强了重试行为的文档说明，并提供了时序示例\n- 改进了信用监控相关文档\n- 更新了 Claude Desktop 配置指南\n\n## 💡 使用示例\n使用自定义重试设置的云端 API\n```bash\nexport FIRE_CRAWL_API_KEY=your-api-key\nexport FIRE_CRAWL_RETRY_MAX_ATTEMPTS=5\nexport FIRE_CRAWL_RETRY_INITIAL_DELAY=2000\n```\n自托管并设置自定义信用阈值\n```bash\nexport FIRE_CRAWL_API_URL=https:\u002F\u002Ffirecrawl.your-domain.com\nexport FIRE_CRAWL_CREDIT_WARNING_THRESHOLD=2000\n```\n\n## 🔍 技术细节\n- 所有配置选项现均支持通过环境变量进行覆盖\n- 保持与默认值的向后兼容性\n- 增强了配置验证的错误提示信息\n\n## 📋 完整变更日志\n完整详情请参阅 [CHANGELOG.md](CHANGELOG.md)。","2025-02-11T03:51:00",{"id":205,"version":206,"summary_zh":207,"released_at":208},235516,"v1.2.3","## 变更内容\n\n### 改进\n- 移除了冗余的批处理配置，改用 FireCrawl 库的内置功能\n- 通过利用库的原生实现，简化了批处理逻辑\n- 优化了并行处理和速率限制的处理机制\n- 降低了代码复杂度及潜在的配置冲突\n\n### 技术细节\n- 移除了自定义的 `CONFIG.batch` 设置：\n  - 移除了 `maxParallelOperations` 配置\n  - 移除了 `delayBetweenRequests` 配置\n- 简化了批处理操作的流程，直接使用库的内置批处理功能\n- 更新了服务器启动日志，移除了与批处理配置相关的引用\n- 保留了额度使用跟踪和错误处理功能\n\n### 优势\n- 使用经过实战验证的库实现，批处理更加可靠\n- 更好地处理速率限制和并发操作\n- 降低了维护成本\n- 提升了代码的可维护性","2025-02-10T16:53:14",{"id":210,"version":211,"summary_zh":212,"released_at":213},235517,"v1.2.2","This release focuses on improving type safety and error handling in the FireCrawl MCP server.\r\n\r\n### Key Improvements\r\n- Fixed type system warnings by properly implementing ExtractParams and ExtractResponse interfaces\r\n- Enhanced type safety in extract operations with improved type guards\r\n- Refined error messages for better configuration validation\r\n- Fixed API response type casting issues\r\n\r\n### Technical Details\r\n- Resolved unused TypeScript interface warnings\r\n- Improved type inference in extract operations\r\n- Enhanced type guards for better runtime validation\r\n- Updated error message formatting for configuration issues\r\n\r\n### Compatibility\r\n- Requires Node.js >= 18.0.0\r\n- Compatible with @mendable\u002Ffirecrawl-js ^1.16.0\r\n- Compatible with @modelcontextprotocol\u002Fsdk ^1.4.1","2025-02-05T13:15:13",{"id":215,"version":216,"summary_zh":217,"released_at":218},235518,"v1.2.1","# FireCrawl MCP Server v1.2.1 - Binary Configuration Hotfix\r\n\r\n## Changes\r\n- Fixed binary configuration in package.json to resolve npx execution issues\r\n- Simplified package configuration for better CLI tool support\r\n- Added proper file inclusions for npm package distribution\r\n- Updated package scripts to ensure proper build during installation\r\n","2025-01-06T14:43:13",{"id":220,"version":221,"summary_zh":222,"released_at":223},235519,"v1.2.0","# FireCrawl MCP Server v1.2.0 - Enhanced Scraping & Search\r\n\r\n## Major Features\r\n- 🔍 New search tool (`fire_crawl_search`) for web search with content extraction\r\n- 🔄 Automatic retries with exponential backoff for rate limits\r\n- 📊 Credit usage monitoring for cloud API operations\r\n- 🚀 Queue system for batch operations with parallel processing\r\n- 🌐 Support for self-hosted FireCrawl instances\r\n\r\n## Improvements\r\n- Enhanced error handling for HTTP errors including 404s\r\n- Improved URL validation before scraping\r\n- Optimized rate limiting with automatic backoff strategy\r\n- Added comprehensive logging system\r\n- Updated configuration with new retry and batch processing options\r\n\r\n## Configuration Updates\r\n- New `FIRE_CRAWL_API_URL` environment variable for self-hosted instances\r\n- Automatic fallback to cloud API when no custom URL is provided\r\n- Enhanced rate limit configuration with retry options\r\n- Added batch processing parameters for parallel operations\r\n\r\n## Bug Fixes\r\n- Rate limit handling in batch operations\r\n- Error response formatting\r\n- Type definitions for response handlers\r\n- Test suite mock responses\r\n- Error handling for invalid search queries\r\n- API configuration validation\r\n\r\n## Requirements\r\n- Node.js >= 18.0.0\r\n- NPM or Yarn package manager\r\n\r\n## Installation","2025-01-03T10:29:15",{"id":225,"version":226,"summary_zh":227,"released_at":228},235520,"v1.0.2","## 🐛 Bug Fixes\r\n- Fixed JSON parsing error in MCP communication\r\n- Removed plain text console.log that was breaking the protocol\r\n\r\n## 🔧 Technical Details\r\n- All communication now properly follows MCP JSON format\r\n- Server initialization remains unchanged\r\n- Improved compatibility with Claude Desktop\r\n\r\n## 📝 Notes\r\n- This is a critical fix for Claude Desktop integration\r\n- No changes to core functionality\r\n- Server status is now properly handled through MCP protocol","2024-12-07T12:16:00",{"id":230,"version":231,"summary_zh":232,"released_at":233},235521,"v1.0.1","## 🔧 Fixes\r\n- Fixed binary path in package.json to correctly point to `dist\u002Fsrc\u002Findex.js`\r\n- Fixed start script path to match the dist structure\r\n- Added startup message for better server status visibility\r\n\r\n## 🛠️ Technical Details\r\n- Updated `bin` path in package.json from `dist\u002Findex.js` to `dist\u002Fsrc\u002Findex.js`\r\n- Updated `start` script to use correct path\r\n- Added \"FireCrawl MCP Server running on stdio\" startup message\r\n\r\n## 📝 Notes\r\n- No changes to core functionality\r\n- Improves server startup reliability\r\n- Better integration with Claude Desktop\r\n\r\n## 🔍 Verification\r\nYou can verify the server is running by checking the Claude logs, which should now show:","2024-12-07T12:06:55",{"id":235,"version":236,"summary_zh":237,"released_at":238},235522,"v1.0.0","\r\n\r\n## Features\r\n- FireCrawl MCP Server implementation with advanced web scraping capabilities\r\n- Support for single URL and batch scraping operations\r\n- Multiple output formats (markdown, HTML, screenshots)\r\n- Smart rate limiting and error handling\r\n- Content filtering with include\u002Fexclude tags\r\n\r\n## Tools\r\n### fire_crawl_scrape\r\n- Single URL scraping with customizable options\r\n- Support for JavaScript-rendered content\r\n- Mobile\u002FDesktop viewport options\r\n\r\n### fire_crawl_batch\r\n- Batch processing of multiple URLs\r\n- Asynchronous operation with job tracking\r\n- Same options as single scrape\r\n\r\n### fire_crawl_status\r\n- Check batch job status and results\r\n- Progress tracking with completion status\r\n\r\n## Technical Details\r\n- Built with TypeScript and Model Context Protocol SDK\r\n- Comprehensive test coverage\r\n- ESLint and Prettier integration\r\n- GitHub Actions for CI\u002FCD\r\n- Node.js 20.x support","2024-12-06T10:39:13"]