{"id":28767695,"url":"https://github.com/pinkpixel-dev/prysm-mcp-server","last_synced_at":"2026-05-26T04:04:29.820Z","repository":{"id":286228938,"uuid":"960204363","full_name":"pinkpixel-dev/prysm-mcp-server","owner":"pinkpixel-dev","description":"🔍 Prysm MCP Server: Web scraping tools for AI assistants with multiple extraction modes and flexible output formats","archived":false,"fork":false,"pushed_at":"2025-06-02T01:40:06.000Z","size":34,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T19:44:43.873Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pinkpixel-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-04T03:13:09.000Z","updated_at":"2025-06-02T01:40:09.000Z","dependencies_parsed_at":"2025-04-05T05:24:58.234Z","dependency_job_id":"a23abad7-90cf-497b-a709-d5100ddf4173","html_url":"https://github.com/pinkpixel-dev/prysm-mcp-server","commit_stats":null,"previous_names":["pinkpixel-dev/prysm-mcp-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pinkpixel-dev/prysm-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinkpixel-dev%2Fprysm-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinkpixel-dev%2Fprysm-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinkpixel-dev%2Fprysm-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinkpixel-dev%2Fprysm-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinkpixel-dev","download_url":"https://codeload.github.com/pinkpixel-dev/prysm-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinkpixel-dev%2Fprysm-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33503235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T03:12:49.672Z","status":"ssl_error","status_checked_at":"2026-05-26T03:12:47.976Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-17T13:02:34.456Z","updated_at":"2026-05-26T04:04:29.762Z","avatar_url":"https://github.com/pinkpixel-dev.png","language":"TypeScript","funding_links":[],"categories":["Content Creation","Search \u0026 Data Extraction"],"sub_categories":["How to Submit"],"readme":"[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/pinkpixel-dev-prysm-mcp-server-badge.png)](https://mseep.ai/app/pinkpixel-dev-prysm-mcp-server)\n\n# 🔍 Prysm MCP Server\n\nThe Prysm MCP (Model Context Protocol) Server enables AI assistants like Claude and others to scrape web content with high accuracy and flexibility.\n\n## ✨ Features\n\n- 🎯 **Multiple Scraping Modes**: Choose from focused (speed), balanced (default), or deep (thorough) modes\n- 🧠 **Content Analysis**: Analyze URLs to determine the best scraping approach\n- 📄 **Format Flexibility**: Format results as markdown, HTML, or JSON\n- 🖼️ **Image Support**: Optionally extract and even download images\n- 🔍 **Smart Scrolling**: Configure scroll behavior for single-page applications\n- 📱 **Responsive**: Adapts to different website layouts and structures\n- 💾 **File Output**: Save formatted results to your preferred directory\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\n# Recommended: Install the LLM-optimized version\nnpm install -g @pinkpixel/prysm-mcp\n\n# Or install the standard version\nnpm install -g prysm-mcp\n\n# Or clone and build\ngit clone https://github.com/pinkpixel-dev/prysm-mcp.git\ncd prysm-mcp\nnpm install\nnpm run build\n```\n\n### Integration Guides\n\nWe provide detailed integration guides for popular MCP-compatible applications:\n\n- [Cursor Integration Guide](./docs/cursor-mcp-integration.md)\n- [Claude Desktop Integration Guide](./docs/claude-desktop-mcp-integration.md)\n- [Windsurf Integration Guide](./docs/windsurf-mcp-integration.md)\n- [Cline Integration Guide](./docs/cline-mcp-integration.md)\n- [Roo Code Integration Guide](./docs/roo-code-mcp-integration.md)\n- [Open WebUI Integration Guide](./docs/openwebui-mcp-integration.md)\n\n### Usage\n\nThere are multiple ways to set up Prysm MCP Server:\n\n#### Using mcp.json Configuration\n\nCreate a `mcp.json` file in the appropriate location according to the above guides. \n\n```json\n{\n  \"mcpServers\": {\n    \"prysm-scraper\": {\n      \"description\": \"Prysm web scraper with custom output directories\",\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@pinkpixel/prysm-mcp\"\n      ],\n      \"env\": {\n        \"PRYSM_OUTPUT_DIR\": \"${workspaceFolder}/scrape_results\",\n        \"PRYSM_IMAGE_OUTPUT_DIR\": \"${workspaceFolder}/scrape_results/images\"\n      }\n    }\n  }\n}\n```\n\n## 🛠️ Tools\n\nThe server provides the following tools:\n\n### `scrapeFocused`\n\nFast web scraping optimized for speed (fewer scrolls, main content only).\n\n```\nPlease scrape https://example.com using the focused mode\n```\n\n**Available Parameters:**\n- `url` (required): URL to scrape\n- `maxScrolls` (optional): Maximum number of scroll attempts (default: 5)\n- `scrollDelay` (optional): Delay between scrolls in ms (default: 1000)\n- `scrapeImages` (optional): Whether to include images in results\n- `downloadImages` (optional): Whether to download images locally\n- `maxImages` (optional): Maximum images to extract\n- `output` (optional): Output directory for downloaded images\n\n### `scrapeBalanced`\n\nBalanced web scraping approach with good coverage and reasonable speed.\n\n```\nPlease scrape https://example.com using the balanced mode\n```\n\n**Available Parameters:**\n- Same as `scrapeFocused` with different defaults\n- `maxScrolls` default: 10\n- `scrollDelay` default: 2000\n- Adds `timeout` parameter to limit total scraping time (default: 30000ms)\n\n### `scrapeDeep`\n\nMaximum extraction web scraping (slower but thorough).\n\n```\nPlease scrape https://example.com using the deep mode with maximum scrolls\n```\n\n**Available Parameters:**\n- Same as `scrapeFocused` with different defaults\n- `maxScrolls` default: 20\n- `scrollDelay` default: 3000\n- `maxImages` default: 100\n\n### `formatResult`\n\nFormat scraped data into different structured formats (markdown, HTML, JSON).\n\n```\nFormat the scraped data as markdown\n```\n\n**Available Parameters:**\n- `data` (required): The scraped data to format\n- `format` (required): Output format - \"markdown\", \"html\", or \"json\"\n- `includeImages` (optional): Whether to include images in output (default: true)\n- `output` (optional): File path to save the formatted result\n\nYou can also save formatted results to a file by specifying an output path:\n\n```\nFormat the scraped data as markdown and save it to \"my-results/output.md\"\n```\n\n## ⚙️ Configuration\n\n### Output Directory\n\nBy default, when saving formatted results, files will be saved to `~/prysm-mcp/output/`. You can customize this in two ways:\n\n1. **Environment Variables**: Set environment variables to your preferred directories:\n\n```bash\n# Linux/macOS\nexport PRYSM_OUTPUT_DIR=\"/path/to/custom/directory\"\nexport PRYSM_IMAGE_OUTPUT_DIR=\"/path/to/custom/image/directory\"\n\n# Windows (Command Prompt)\nset PRYSM_OUTPUT_DIR=C:\\path\\to\\custom\\directory\nset PRYSM_IMAGE_OUTPUT_DIR=C:\\path\\to\\custom\\image\\directory\n\n# Windows (PowerShell)\n$env:PRYSM_OUTPUT_DIR=\"C:\\path\\to\\custom\\directory\"\n$env:PRYSM_IMAGE_OUTPUT_DIR=\"C:\\path\\to\\custom\\image\\directory\"\n```\n\n2. **Tool Parameter**: Specify output paths directly when calling the tools:\n\n```\n# For general results\nFormat the scraped data as markdown and save it to \"/absolute/path/to/file.md\"\n\n# For image downloads when scraping\nPlease scrape https://example.com and download images to \"/absolute/path/to/images\"\n```\n\n3. **MCP Configuration**: In your MCP configuration file (e.g., `.cursor/mcp.json`), you can set these environment variables:\n\n```json\n{\n  \"mcpServers\": {\n    \"prysm-scraper\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pinkpixel/prysm-mcp\"],\n      \"env\": {\n        \"PRYSM_OUTPUT_DIR\": \"${workspaceFolder}/scrape_results\",\n        \"PRYSM_IMAGE_OUTPUT_DIR\": \"${workspaceFolder}/scrape_results/images\"\n      }\n    }\n  }\n}\n```\n\nIf `PRYSM_IMAGE_OUTPUT_DIR` is not specified, it will default to a subfolder named `images` inside the `PRYSM_OUTPUT_DIR`.\n\nIf you provide only a relative path or filename, it will be saved relative to the configured output directory.\n\n### Path Handling Rules\n\nThe `formatResult` tool handles paths in the following ways:\n\n- **Absolute paths**: Used exactly as provided (`/home/user/file.md`)\n- **Relative paths**: Saved relative to the configured output directory (`subfolder/file.md`)\n- **Filename only**: Saved in the configured output directory (`output.md`)\n- **Directory path**: If the path points to a directory, a filename is auto-generated based on content and timestamp\n\n## 🏗️ Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run the server locally\nnode bin/prysm-mcp\n\n# Debug MCP communication\nDEBUG=mcp:* node bin/prysm-mcp\n\n# Set custom output directories\nPRYSM_OUTPUT_DIR=./my-output PRYSM_IMAGE_OUTPUT_DIR=./my-output/images node bin/prysm-mcp\n```\n\n### Running via npx\n\nYou can run the server directly with npx without installing:\n\n```bash\n# Run with default settings\nnpx @pinkpixel/prysm-mcp\n\n# Run with custom output directories\nPRYSM_OUTPUT_DIR=./my-output PRYSM_IMAGE_OUTPUT_DIR=./my-output/images npx @pinkpixel/prysm-mcp\n```\n\n## 📋 License\n\nMIT\n\n## 🙏 Credits\n\nDeveloped by [Pink Pixel](https://pinkpixel.dev)\n\nPowered by the [Model Context Protocol](https://modelcontextprotocol.io) and [Puppeteer](https://pptr.dev/) ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinkpixel-dev%2Fprysm-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinkpixel-dev%2Fprysm-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinkpixel-dev%2Fprysm-mcp-server/lists"}