Ogni connector.json ora ha una llm_short_description che elenca i tool specifici che espone, così l'LLM sa esattamente cosa attivare (lazy load). SKALD.md: documentata criticità del campo llm_short_description nel system prompt dell'LLM.
172 lines
5.2 KiB
JSON
172 lines
5.2 KiB
JSON
{
|
|
"id": "firecrawl",
|
|
"name": "Firecrawl",
|
|
"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": "Web scraping, crawling, search, deep research and autonomous browsing (requires API key + Node). 26 tools including: scrape (single URL), crawl (multi-page with webhooks), search, extract (LLM-structured data from pages), agent (autonomous browsing), interact (click/type on pages), research (academic papers), monitoring (track page changes). Best for complex extraction, browser-based content, and deep research."
|
|
}
|
|
],
|
|
"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"
|
|
],
|
|
"version": 2,
|
|
"version_string": "1.0.1",
|
|
"version_release_date": "2026-07-21",
|
|
"tools": [
|
|
{
|
|
"name": "firecrawl_scrape",
|
|
"display_name": "Scrape URL"
|
|
},
|
|
{
|
|
"name": "firecrawl_map",
|
|
"display_name": "Map Site"
|
|
},
|
|
{
|
|
"name": "firecrawl_search",
|
|
"display_name": "Web Search"
|
|
},
|
|
{
|
|
"name": "firecrawl_search_feedback",
|
|
"display_name": "Search Feedback"
|
|
},
|
|
{
|
|
"name": "firecrawl_feedback",
|
|
"display_name": "Feedback"
|
|
},
|
|
{
|
|
"name": "firecrawl_crawl",
|
|
"display_name": "Crawl Site"
|
|
},
|
|
{
|
|
"name": "firecrawl_check_crawl_status",
|
|
"display_name": "Check Crawl Status"
|
|
},
|
|
{
|
|
"name": "firecrawl_extract",
|
|
"display_name": "Extract Data"
|
|
},
|
|
{
|
|
"name": "firecrawl_agent",
|
|
"display_name": "Research Agent"
|
|
},
|
|
{
|
|
"name": "firecrawl_agent_status",
|
|
"display_name": "Agent Status"
|
|
},
|
|
{
|
|
"name": "firecrawl_interact",
|
|
"display_name": "Interact with Page"
|
|
},
|
|
{
|
|
"name": "firecrawl_interact_stop",
|
|
"display_name": "Stop Interact"
|
|
},
|
|
{
|
|
"name": "firecrawl_parse",
|
|
"display_name": "Parse"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_create",
|
|
"display_name": "Create Monitor"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_list",
|
|
"display_name": "List Monitors"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_get",
|
|
"display_name": "Get Monitor"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_update",
|
|
"display_name": "Update Monitor"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_delete",
|
|
"display_name": "Delete Monitor"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_run",
|
|
"display_name": "Run Monitor"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_checks",
|
|
"display_name": "List Checks"
|
|
},
|
|
{
|
|
"name": "firecrawl_monitor_check",
|
|
"display_name": "Get Check"
|
|
},
|
|
{
|
|
"name": "firecrawl_research_search_papers",
|
|
"display_name": "Search Papers"
|
|
},
|
|
{
|
|
"name": "firecrawl_research_inspect_paper",
|
|
"display_name": "Inspect Paper"
|
|
},
|
|
{
|
|
"name": "firecrawl_research_related_papers",
|
|
"display_name": "Related Papers"
|
|
},
|
|
{
|
|
"name": "firecrawl_research_read_paper",
|
|
"display_name": "Read Paper"
|
|
},
|
|
{
|
|
"name": "firecrawl_research_search_github",
|
|
"display_name": "Search GitHub"
|
|
}
|
|
]
|
|
} |