Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
All notable changes to the MrScraper OpenCode plugin are documented here. The
project follows [Semantic Versioning](https://semver.org/).

## 0.3.0 - 2026-10-14

- Updated the skills for the hosted MCP server's new tools: `scraperAPI`
(pages as HTML, Markdown, or screenshots), `webSearch` (Google), and `status`
(account usage). The `fetch`, `scrape`, `serp`, `rerun`, `results`, and
`result` tools no longer exist.
- Removed the `mrscraper-scrape` skill. Skills are identical to the MrScraper
Claude plugin 0.2.0.

## 0.2.0 - 2026-10-12

- Added OpenCode 2 support. OpenCode 2 does not run OpenCode 1 plugins; the
Expand Down
6 changes: 3 additions & 3 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Use this checklist for every public release of `@mrscraper/opencode`.
```

The package must contain `CHANGELOG.md`, `LICENSE`, `README.md`,
`index.ts`, `package.json`, and the four `skills/*/SKILL.md` files.
`index.ts`, `package.json`, and the three `skills/*/SKILL.md` files.

- [ ] Test the packed package in clean profiles (separate `HOME` and `XDG_*`
directories) of OpenCode 2 and of the oldest supported OpenCode 1
Expand All @@ -40,11 +40,11 @@ Use this checklist for every public release of `@mrscraper/opencode`.
`opencode mcp list` then shows `connected`;
- the skills list (`opencode api skill.list` in OpenCode 2,
`opencode debug skill` in OpenCode 1) includes `mrscraper`,
`mrscraper-fetch`, `mrscraper-scrape`, and `mrscraper-serp`;
`mrscraper-fetch`, and `mrscraper-serp`;
- with the README's API-key configuration, `opencode mcp list` shows
`connected`, which also proves that a user-defined server is kept;
- the prompt `Fetch https://www.scrapethissite.com/pages/simple/ and summarize the page.`
calls the `fetch` tool and summarizes the page.
calls the `scraperAPI` tool and summarizes the page.

## Publish

Expand Down
62 changes: 26 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
# MrScraper for OpenCode

MrScraper connects [OpenCode](https://opencode.ai) 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 OpenCode choose the right workflow and
preserve raw page content.
retrieving public web pages as HTML, Markdown, or screenshots, Google
discovery, and account usage. The plugin also includes three focused skills
that help OpenCode choose the right workflow and preserve raw page content.

The same package works in OpenCode 2 and OpenCode 1.

Expand All @@ -14,10 +13,9 @@ The same package works in OpenCode 2 and OpenCode 1.
endpoint `https://mcp.mrscraper.com/mcp`.
- OAuth 2.1 sign-in handled by OpenCode; no credential is stored in this
package.
- The `mrscraper`, `mrscraper-fetch`, `mrscraper-scrape`, and `mrscraper-serp`
skills.
- A fetch-first workflow that keeps raw page responses available for analysis,
verification, and follow-up transformations.
- The `mrscraper`, `mrscraper-fetch`, and `mrscraper-serp` skills.
- A retrieve-first workflow that keeps raw page responses available for
analysis, verification, and follow-up transformations.

If your configuration already defines a `mrscraper` MCP server, the plugin
keeps your entry and only adds the skills. It also leaves any skill with the
Expand Down Expand Up @@ -153,36 +151,28 @@ OpenCode 2 reaches MCP tools through Code Mode by default.

| 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 OpenCode to fetch it
first and treat the raw response as the source of truth. The agent can read,
summarize, compare, or derive structured output locally without losing details
to an early extraction prompt.

For roughly 100 known pages with a shared layout, the agent can 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.
| `scraperAPI` | Retrieve a known page as HTML, Markdown, a screenshot, or a combination. |
| `webSearch` | Discover public pages through Google. |
| `status` | Inspect subscription status, token usage, and remaining tokens. |

## Retrieve-first routing

When a public URL is already known, the skills direct OpenCode to retrieve it
with `scraperAPI` first and treat the raw response as the source of truth. The
agent can read, summarize, compare, or derive structured output locally without
losing details.

For roughly 100 known pages with a shared layout, the agent can retrieve pages
concurrently, retain every raw response, and apply one reusable local
extractor.

## Data and permissions

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 OpenCode and its model provider for the requested task.
Managed general and listing extraction sends page content and the extraction
prompt to a backend language model and saves a reusable scraper configuration;
reruns create new stored results. Use it only with public or otherwise
authorized content, and follow the target site's requirements.
The plugin sends MCP tool inputs, including target URLs and search queries, to
MrScraper's hosted service. Page responses and tool results are then available
to OpenCode and its model provider for the requested task. Use it only with
public or otherwise authorized content, and follow the target site's
requirements.

Review MrScraper's [MCP documentation](https://docs.mrscraper.com/docs/getting-started/mcp-server),
[Privacy Policy](https://mrscraper.com/privacy-policy),
Expand All @@ -204,7 +194,7 @@ To control updates, pin a version and change it when you upgrade:

```json
{
"plugin": ["@mrscraper/opencode@0.2.0"]
"plugin": ["@mrscraper/opencode@0.3.0"]
}
```

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mrscraper/opencode",
"version": "0.2.0",
"version": "0.3.0",
"description": "MrScraper for OpenCode: the hosted MrScraper MCP server plus fetch-first skills for web scraping, structured data extraction, and Google search.",
"type": "module",
"main": "index.ts",
Expand Down
Loading
Loading