diff --git a/connectors/connectors.json b/connectors/connectors.json index db5e03e..c042c76 100644 --- a/connectors/connectors.json +++ b/connectors/connectors.json @@ -151,6 +151,28 @@ } ] }, + { + "id": "firecrawl", + "name": "Firecrawl", + "type": "mcp_local", + "scope": "global", + "icon_small": "firecrawl/icon_sm.png", + "icon_large": "firecrawl/icon_lg.png", + "user_description": "Web scraping, crawling, search, deep research, and autonomous browsing \u2014 extract content from any website.", + "requires": [ + "NODE" + ], + "tags": ["scraping", "crawling", "search", "mcp", "local", "browser", "research"], + "auth": { + "type": "api_key" + }, + "folder": "firecrawl", + "files": [ + {"path": "connector.json", "sha256": "4045efdef62b89e124043051f34a43d09b9ad6665dc683583e8f2a7355379b16", "size": 2441}, + {"path": "icon_sm.png", "sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01", "size": 6858}, + {"path": "icon_lg.png", "sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01", "size": 6858} + ] + }, { "id": "ssh", "name": "SSH Remote Access", diff --git a/connectors/firecrawl/connector.json b/connectors/firecrawl/connector.json new file mode 100644 index 0000000..170a95e --- /dev/null +++ b/connectors/firecrawl/connector.json @@ -0,0 +1,47 @@ +{ + "id": "firecrawl", + "name": "Firecrawl", + "version": "1.0.0", + "type": "mcp_local", + "launch_command": "npx -y firecrawl-mcp", + "transport": "stdio", + "requires": ["NODE"], + "dependencies": [], + "env": [{ + "name": "FIRECRAWL_API_KEY", + "label": "Firecrawl API key", + "description": "Create one at https://www.firecrawl.dev (dashboard \u2192 API Keys).", + "required": true, + "secret": true, + "example": "fc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }], + "setup_instructions": [ + "Ensure Node.js is installed.", + "Get an API key from https://www.firecrawl.dev/app/api-keys.", + "No pip install needed \u2014 Firecrawl MCP runs via npx." + ], + "docs": [{ + "lang": "en", + "description": "Web scraping, crawling, search, deep research, and autonomous browsing \u2014 extract content from any website via Firecrawl. Scrape single URLs into clean Markdown, map site structures, crawl entire domains with scheduling, search the web, extract structured data with LLM-powered extraction, and run autonomous research agents. Includes monitoring for crawl changes.", + "llm_short_description": "Scrape, crawl, search, research and extract web data via Firecrawl. 26 tools. Requires API key + Node.js." + }], + "auth": { + "type": "api_key" + }, + "mcp_config": { + "command": "npx", + "args": ["-y", "firecrawl-mcp"], + "env": { + "FIRECRAWL_API_KEY": "{SECRET:FIRECRAWL_API_KEY}" + } + }, + "verify": { + "command": "node -e \"const k = process.env.FIRECRAWL_API_KEY; if (!k || k.length < 10) { process.exit(1); } try { fetch('https://api.firecrawl.dev/v1/scrape', {method:'POST', headers:{'Content-Type':'application/json','Authorization':'Bearer '+k}, body:JSON.stringify({url:'https://example.com',formats:['markdown']})}).then(r=>r.json()).then(d=>{if(d.success) {console.log(JSON.stringify({ok:true,message:'Firecrawl API key valid \u2014 scrape probe successful'}))} else {console.log(JSON.stringify({ok:false,message:d.error||'API probe failed'}));process.exit(1)}}).catch(e=>{console.log(JSON.stringify({ok:false,message:e.message}));process.exit(1)}) } catch(e) { console.log(JSON.stringify({ok:false,message:e.message})); process.exit(1) }\"", + "timeout_secs": 20 + }, + "homepage": "https://www.firecrawl.dev", + "icon_small": "icon_sm.png", + "icon_large": "icon_lg.png", + "scope": "global", + "tags": ["scraping", "crawling", "search", "mcp", "local", "browser", "research"] +} diff --git a/connectors/firecrawl/icon_lg.png b/connectors/firecrawl/icon_lg.png new file mode 100644 index 0000000..c0725d9 Binary files /dev/null and b/connectors/firecrawl/icon_lg.png differ diff --git a/connectors/firecrawl/icon_sm.png b/connectors/firecrawl/icon_sm.png new file mode 100644 index 0000000..c0725d9 Binary files /dev/null and b/connectors/firecrawl/icon_sm.png differ