Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,22 @@
"name": "mrscraper-claude",
"owner": {
"name": "MrScraper",
"email": "support@mrscraper.com",
"url": "https://github.com/mrscraper-com"
},
"description": "MrScraper MCP skills and tools for Claude.",
"description": "Fetch and preserve page content, extract structured web data, discover sources, and work with saved MrScraper runs from Claude.",
"plugins": [
{
"name": "mrscraper",
"source": "./plugins/mrscraper",
"description": "Fetch page content, extract structured web data, discover sources through Google, and work with saved MrScraper runs.",
"version": "0.1.1",
"description": "Connect Claude to MrScraper for raw page fetching, managed extraction, Google discovery, and saved scraper workflows.",
"author": {
"name": "MrScraper"
"name": "MrScraper",
"email": "support@mrscraper.com",
"url": "https://mrscraper.com"
},
"homepage": "https://docs.mrscraper.com/docs/getting-started/mcp-server",
"repository": "https://github.com/pray-mrscraper/mrscraper-claude-plugin",
"repository": "https://github.com/mrscraper-com/mrscraper-claude-plugin",
"license": "MIT",
"category": "productivity",
"tags": [
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Validate Claude plugin

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Install Claude Code
run: npm install --global @anthropic-ai/claude-code@2.1.246

- name: Validate marketplace
run: claude plugin validate . --strict

- name: Validate plugin
run: claude plugin validate plugins/mrscraper --strict
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Changelog

All notable changes to the MrScraper Claude plugin are documented here. The
project follows [Semantic Versioning](https://semver.org/).

## 0.1.2 - 2026-08-26

- Strengthened fetch-first routing, including reusable local extraction for
large same-layout page sets.
- Added guidance for fetch Super Mode and managed extraction execution modes.
- Added saved-rerun controls, exact result filters, and compact result polling.
- Replaced placeholder targets with public Scrape This Site examples.
- Added publication, data-handling, support, and security documentation.
- Moved version ownership exclusively to the plugin manifest.

## 0.1.1 - 2026-08-24

- Moved the hosted MrScraper connection to Claude's native `.mcp.json` plugin
configuration.

## 0.1.0 - 2026-08-24

- Added the initial MrScraper Claude marketplace, MCP connection, and skill
pack.
72 changes: 72 additions & 0 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Publishing MrScraper for Claude

Use this checklist for a public MrScraper Claude plugin release.

## Release gate

- [ ] Merge only reviewed changes into `main`.
- [ ] Keep the release version in
`plugins/mrscraper/.claude-plugin/plugin.json`; do not duplicate it in
the marketplace entry.
- [ ] Record user-visible changes in `CHANGELOG.md`.
- [ ] Confirm that the repository contains no credentials or private target
data.
- [ ] Run both strict validations from a clean checkout:

```bash
claude plugin validate . --strict
claude plugin validate plugins/mrscraper --strict
```

- [ ] Confirm the GitHub validation workflow passes.
- [ ] Install the plugin from the public repository in a clean Claude profile,
complete OAuth, and confirm all seven MCP tools load.
- [ ] Run the smoke-test prompt below.
- [ ] Create the matching Git tag and GitHub release for an explicit semantic
version.

## Submission details

Keep these values ready for Anthropic's community marketplace form:

| Field | Value |
| --- | --- |
| Plugin name | `mrscraper` |
| Display name | `MrScraper` |
| Repository | `https://github.com/mrscraper-com/mrscraper-claude-plugin` |
| Plugin directory | `plugins/mrscraper` |
| Homepage | `https://docs.mrscraper.com/docs/getting-started/mcp-server` |
| Support | `support@mrscraper.com` |
| Privacy policy | `https://mrscraper.com/privacy-policy` |
| Acceptable use policy | `https://mrscraper.com/acceptable-use-policy` |
| MCP endpoint | `https://mcp.mrscraper.com/mcp` |
| Authentication | OAuth 2.1 browser authorization |

Suggested summary:

> Connect Claude to MrScraper for raw page fetching, managed structured
> extraction, Google discovery, and reusable saved scraper workflows. The
> included skills preserve source responses with a fetch-first workflow before
> adding backend extraction when it is explicitly requested or clearly useful.

The hosted service receives target URLs and tool inputs, including extraction
instructions. Results are returned to Claude for the user's requested task. The
OAuth connection can request `scrape:read`, `scrape:write`, and `account:read`
access. The plugin contains no static credentials.

Smoke-test prompt:

```text
Fetch https://www.scrapethissite.com/pages/simple/ and summarize the page.
```

## Submit to Anthropic

After the release commit is on the public `main` branch, use Anthropic's
[Console submission form](https://platform.claude.com/plugins/submit). A Team
or Enterprise organization owner or directory manager can instead use the
[Claude organization form](https://claude.ai/admin-settings/directory/submissions/plugins/new).

Anthropic reviews third-party plugins for the `claude-community` marketplace.
Approved entries are pinned to a repository commit, and the public catalog may
take until its next nightly sync to show the plugin.
132 changes: 107 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,134 @@
# MrScraper for Claude

This marketplace packages MrScraper's MCP-oriented skills together with the
hosted MrScraper MCP server for Claude.
MrScraper connects Claude to a hosted MCP server for fetching public web pages,
managed structured extraction, Google discovery, saved scraper reruns, stored
results, and account usage. The plugin also includes four focused skills that
help Claude choose the right workflow and preserve raw page content.

## Add the marketplace
## What this plugin adds

Paste this GitHub `owner/repo` value into Claude's **Add marketplace** dialog:
- The hosted Streamable HTTP endpoint at `https://mcp.mrscraper.com/mcp`.
- OAuth 2.1 authentication through Claude; no credential is stored in this
repository.
- A fetch-first workflow that keeps raw page responses available for analysis,
verification, and follow-up transformations.
- Managed extraction, site mapping, Google SERP discovery, saved reruns, and
stored-result tools when those capabilities are useful.

```text
pray-mrscraper/mrscraper-claude-plugin
```
## Requirements

If the dialog specifically expects a Git repository URL, use
`https://github.com/pray-mrscraper/mrscraper-claude-plugin.git`.
- A current version of [Claude Code](https://code.claude.com/docs/en/setup).
- A [MrScraper](https://app.mrscraper.com) account.
- Permission to access and process the target content.

From Claude Code CLI, add the marketplace and install the plugin:
## Install

Add this repository as a marketplace and install the plugin:

```bash
claude plugin marketplace add pray-mrscraper/mrscraper-claude-plugin
claude plugin marketplace add mrscraper-com/mrscraper-claude-plugin
claude plugin install mrscraper@mrscraper-claude
```

The plugin connects to `https://mcp.mrscraper.com/mcp`. When prompted, finish
the OAuth authorization flow in your browser. Do not paste OAuth tokens or API
keys into chat.
In Claude's **Add marketplace** dialog, paste:

```text
mrscraper-com/mrscraper-claude-plugin
```

If the dialog expects a full Git repository URL, use:

```text
https://github.com/mrscraper-com/mrscraper-claude-plugin.git
```

Restart Claude or reload plugins after installation. Open `/mcp` if Claude asks
you to authenticate, then complete the MrScraper OAuth flow in your browser.
Never paste OAuth tokens or API keys into chat.

## Try it

```text
Fetch https://www.scrapethissite.com/pages/simple/ and summarize the page.
```

The included skills encourage `fetch` as the normal first step when a URL is
known because it preserves the page response for flexible agent-led analysis.
Use `scrape` when you specifically need backend structured extraction,
pagination, schema-shaped output, or a reusable saved scraper.
The connection should expose these MCP tools:

| Tool | Purpose |
| --- | --- |
| `fetch` | Retrieve and preserve a known page's raw response. |
| `scrape` | Run managed structured extraction or bounded site mapping. |
| `serp` | Discover public pages through Google. |
| `rerun` | Reuse a saved AI or manual scraper configuration. |
| `results` | Browse and filter stored result records. |
| `result` | Retrieve one stored result or poll an asynchronous run. |
| `status` | Inspect subscription usage and request outcomes. |

## Fetch-first routing

When a public URL is already known, the skills direct Claude to fetch it first
and treat the raw response as the source of truth. Claude can read, summarize,
compare, or derive structured output locally without losing details to an
early extraction prompt.

This preference can still be faster for large same-layout sets. For roughly
100 known pages, Claude can safely fetch pages concurrently, retain every raw
response, and apply one reusable local extractor instead of requesting 100
separate backend-LLM extractions. Use `scrape` when managed extraction is
explicitly requested or has a clear benefit after the page structure and
desired schema are understood.

## Contents
## Data and permissions

- `plugins/mrscraper/.claude-plugin/plugin.json`: Claude plugin manifest
- `plugins/mrscraper/skills/`: MCP-oriented MrScraper skill pack
- `.claude-plugin/marketplace.json`: repository marketplace catalog
The plugin sends MCP tool inputs—including target URLs and extraction
instructions—to MrScraper's hosted service. Page responses and tool results are
then available to Claude for the requested task. Use it only with public or
otherwise authorized content, and follow the target site's requirements.

## Development validation
Review MrScraper's [MCP documentation](https://docs.mrscraper.com/docs/getting-started/mcp-server),
[Privacy Policy](https://mrscraper.com/privacy-policy), and
[Acceptable Use Policy](https://mrscraper.com/acceptable-use-policy) before use.

## Update or remove

```bash
claude plugin marketplace update mrscraper-claude
claude plugin update mrscraper@mrscraper-claude
claude plugin uninstall mrscraper@mrscraper-claude
```

## Support and security

- Product help: [MrScraper MCP documentation](https://docs.mrscraper.com/docs/getting-started/mcp-server)
- Bugs and feature requests: [GitHub Issues](https://github.com/mrscraper-com/mrscraper-claude-plugin/issues)
- Account help: [support@mrscraper.com](mailto:support@mrscraper.com)
- Security reports: see [SECURITY.md](SECURITY.md)

## Development

The repository is both an installable Claude marketplace and the source of the
`mrscraper` plugin:

```text
.claude-plugin/marketplace.json
plugins/mrscraper/
├── .claude-plugin/plugin.json
├── .mcp.json
└── skills/
```

Validate both manifests and all plugin components before a release:

```bash
claude plugin validate . --strict
claude plugin validate plugins/mrscraper --strict
```

This repository is for marketplace testing before the equivalent packaging is
integrated into the official MrScraper repositories.
The plugin uses semantic versions from its plugin manifest. Bump that version
for every release and record user-visible changes in [CHANGELOG.md](CHANGELOG.md).
Use [PUBLISHING.md](PUBLISHING.md) for the release and Anthropic submission
checklist.

## License

[MIT](LICENSE)
12 changes: 12 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Security Policy

Please report suspected vulnerabilities privately to
[support@mrscraper.com](mailto:support@mrscraper.com). Include the affected
component, reproduction steps, and potential impact. Do not open a public issue
for an unpatched vulnerability or include credentials, tokens, customer data,
or private target content in a report.

The plugin repository contains no MrScraper credentials. Authentication is
handled by Claude's OAuth 2.1 MCP connection. If a credential may have been
exposed, revoke it through the relevant account or client immediately and then
contact support.
9 changes: 5 additions & 4 deletions plugins/mrscraper/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "mrscraper",
"displayName": "MrScraper",
"version": "0.1.1",
"description": "MrScraper MCP workflows for web fetching, structured extraction, Google discovery, and saved runs.",
"version": "0.1.2",
"description": "Connect Claude to MrScraper for raw page fetching, managed extraction, Google discovery, and saved scraper workflows.",
"author": {
"name": "MrScraper",
"url": "https://github.com/mrscraper-com"
"email": "support@mrscraper.com",
"url": "https://mrscraper.com"
},
"homepage": "https://docs.mrscraper.com/docs/getting-started/mcp-server",
"repository": "https://github.com/pray-mrscraper/mrscraper-claude-plugin",
"repository": "https://github.com/mrscraper-com/mrscraper-claude-plugin",
"license": "MIT",
"keywords": [
"mrscraper",
Expand Down
20 changes: 20 additions & 0 deletions plugins/mrscraper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# MrScraper

This Claude plugin connects to the hosted MrScraper MCP server and adds focused
skills for raw page fetching, managed structured extraction, Google discovery,
saved scraper reruns, stored results, and account usage.

When a public URL is known, fetch is the normal first content-acquisition step.
It preserves the page response so Claude can inspect every available detail,
answer follow-up questions, and apply reusable local extraction logic. Even for
roughly 100 same-layout pages, concurrent fetches followed by one local batch
extractor can be faster and more complete than repeating backend-LLM extraction
for every page. Use scrape when managed extraction is explicitly requested or
still offers a clear benefit after the source and output schema are understood.

The plugin connects to `https://mcp.mrscraper.com/mcp` and authenticates through
OAuth 2.1. A MrScraper account is required. Do not paste OAuth tokens or API
keys into Claude.

See the repository [README](../../README.md) for installation, usage, data
handling, update, and support instructions.
Loading
Loading