{ "name": "crawlforge-mcp-server", "version": "6.7.0", "mcpName": "io.github.mysleekdesigns/crawlforge-mcp-server", "description": "CrawlForge MCP Server - Professional Model Context Protocol server with 31 web scraping, crawling, deep-research, and autonomous-extraction tools. Returns clean Markdown and structured JSON for Claude, Cursor, and any MCP client. Defaults to local Ollama for LLM extraction (no API key needed); OpenAI/Anthropic available as opt-in. Includes a unified multi-format scrape tool, an autonomous agent, pre-built site templates, and Camoufox stealth browsing.", "main": "server.js", "bin": { "crawlforge": "src/cli/index.js", "crawlforge-setup": "setup.js", "crawlforge-mcp-server": "src/cli/index.js", "crawlforge-mcp": "server.js" }, "scripts": { "start": "node server.js", "start:http": "node server.js --http", "setup": "node setup.js", "dev": "cross-env NODE_ENV=development node server.js", "test": "node tests/integration/mcp-protocol-compliance.test.js", "test:unit": "bash scripts/run-unit-tests.sh", "test:integration": "CRAWLFORGE_CREATOR_SECRET= CACHE_ENABLE_DISK=false node --test 'tests/integration/tools/*.test.js'", "test:coverage": "CRAWLFORGE_CREATOR_SECRET= CACHE_ENABLE_DISK=false c8 --reporter=text --reporter=lcov --include='src/**/*.js' --exclude='src/**/_*.js' --lines=60 --statements=60 --functions=55 --branches=45 node --test --test-force-exit 'tests/unit/*.test.js' 'tests/integration/tools/*.test.js'", "test:tools": "node test-tools.js", "test:real-world": "node test-real-world.js", "test:all": "bash run-all-tests.sh", "skills:gen": "node scripts/generate-skill-md.mjs", "sweep": "node scripts/tool-sweep.mjs", "postinstall": "echo '\nCrawlForge MCP Server installed!\n\nQuick start: run \"npx crawlforge init\" to configure your API key, install skills, and register the MCP server with your AI clients.\nOr run \"npx crawlforge-setup\" to configure your API key only.\n'", "docker:build": "docker build -t crawlforge .", "docker:dev": "docker-compose up crawlforge-dev", "docker:prod": "docker-compose up crawlforge-prod", "eval:selection": "node scripts/tool-selection-eval.mjs", "usage:report": "node scripts/tool-usage-report.mjs" }, "keywords": [ "mcp", "model-context-protocol", "web-scraping", "scraper", "html-parser", "metadata-extraction", "link-extraction", "content-processing", "document-analysis", "web-crawler", "search-engine", "text-summarization", "content-analysis", "nlp", "ai-tools", "automation", "data-extraction", "pdf-processing", "sitemap-parser", "performance-optimized", "llms-txt", "llms-txt-generator", "ai-compliance", "website-analysis", "mcp-server", "claude", "cursor", "ollama", "ai-agents", "deep-research", "stealth-browser", "html-to-markdown", "llm", "crawl", "batch-scrape", "screenshot" ], "author": { "name": "Simon Lacey", "email": "support@crawlforge.dev" }, "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/mysleekdesigns/crawlforge-mcp.git" }, "bugs": { "url": "https://github.com/mysleekdesigns/crawlforge-mcp/issues" }, "homepage": "https://crawlforge.dev", "type": "module", "engines": { "node": ">=20.16.0", "npm": ">=8.0.0" }, "os": [ "linux", "darwin", "win32" ], "cpu": [ "x64", "arm64" ], "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/", "tag": "latest" }, "files": [ "server.js", "setup.js", "src/", "README.md", "LICENSE", "CLAUDE.md", "package.json" ], "dependencies": { "@modelcontextprotocol/core": "^2.0.0", "@modelcontextprotocol/node": "^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "@mozilla/readability": "^0.6.0", "mammoth": "^1.12.2", "cheerio": "^1.1.2", "commander": "^14.0.3", "compromise": "^14.14.4", "crawlforge-extractors": "^1.9.0", "diff": "^9.0.0", "dotenv": "^17.2.1", "franc": "^6.2.0", "isomorphic-dompurify": "^3.9.0", "jsdom": "^29.0.2", "lru-cache": "^11.1.0", "p-queue": "^9.3.3", "pdf-parse": "2.4.5", "playwright": "^1.54.2", "robots-parser": "^3.0.1", "turndown": "^7.2.4", "turndown-plugin-gfm": "^1.0.2", "undici": "^7.24.0", "winston": "^3.11.0", "zod": "^4.5.4" }, "optionalDependencies": { "camoufox": "^0.1.19" }, "devDependencies": { "@jest/globals": "^30.3.0", "@modelcontextprotocol/client": "^2.0.0", "c8": "^11.0.0", "cross-env": "^10.0.0", "jest": "^30.3.0", "shx": "^0.4.0" }, "overrides": { "undici": "^7.24.0", "underscore": "^1.13.8", "qs": "^6.14.2", "path-to-regexp": "^8.4.2", "@hono/node-server": "2.0.12", "hono": "^4.12.4", "dompurify": "^3.4.0", "adm-zip": "^0.6.0" } }