Repository navigation
Release 0.1.0: MrScraper plugin for GitHub Copilot CLI - #1
Conversation
Add an Agent Plugins 1.0 plugin in plugins/mrscraper with the hosted MrScraper MCP server (Streamable HTTP, OAuth 2.1 with dynamic client registration), the mrscraper, mrscraper-fetch and mrscraper-serp skills, and a .github/plugin/marketplace.json entry for `copilot plugin install mrscraper@mrscraper`. CI validates the manifests against the Agent Plugins 1.0 schemas, installs the plugin with Copilot CLI 1.0.98, and runs the awesome-copilot external plugin quality gates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@pray-mrscraper @riandradiva18 could you review this when you have a moment? It is the MrScraper plugin for GitHub Copilot CLI in the Agent Plugins 1.0 format, and users can install it from this repository once it is merged. The only change to the canonical skills is that links to sibling skills are now plain skill names, because One decision for you after the merge: whether to submit it to the awesome-copilot marketplace. On 2026-10-15 its maintainer rejected a similar hosted web-fetch and search plugin (anakin, issue 4947 in that repository). The reason given was that it is a connector for a paid service and that Copilot's built-in tools and Playwright already cover web fetching. A rejection there is final for that submission, so we will only file with your explicit go-ahead. |
Adds the MrScraper plugin for GitHub Copilot CLI in the Agent Plugins 1.0 format. Once this is merged, users can install it straight from this repository with
copilot plugin marketplace add mrscraper-com/mrscraper-copilot-plugin. A listing in the awesome-copilot marketplace, which Copilot CLI includes by default, is a separate decision (see "After merge"). That marketplace only accepts public GitHub repositories with an immutable tag or commit SHA, so this repository has to be public and tagged first either way.Contents
plugins/mrscraper/plugin.json:mrscraper0.1.0 with the Agent Plugins 1.0$schemaand only the fields that format allows (name, version, description, author, homepage, repository, license, keywords). awesome-copilot's intake looks for the manifest at the plugin root and requires a non-empty version and description.plugins/mrscraper/mcp.json: onestreamable-httpserver,https://mcp.mrscraper.com/mcp, with no headers. Copilot CLI signs in with/mcp auth mrscraper(OAuth 2.1 with dynamic client registration), so the repository ships no credentials.plugins/mrscraper/skills/:mrscraper,mrscraper-fetch,mrscraper-serp, copied from the canonical skills in the Antigravity plugin. One change: the 7 links to sibling skills ([mrscraper](../mrscraper/SKILL.md)) are now skill names in backticks, becausevally lint(part of awesome-copilot's quality gates) rejects file references outside a skill's own directory. The text is otherwise unchanged..github/plugin/marketplace.json: a one-plugin marketplace, so users can runcopilot plugin marketplace add mrscraper-com/mrscraper-copilot-pluginandcopilot plugin install mrscraper@mrscraper. Copilot CLI 1.0.98 warns that direct installs from a repository path are deprecated, so the README uses the marketplace route.web_fetch, API key fallback, data and permissions), CHANGELOG, SECURITY, MIT LICENSE..github/workflows/validate.ymlwith two jobs:plugin.jsonandmcp.jsonagainst the published Agent Plugins 1.0 schemas, runs.github/scripts/check-plugin.mjs, installs the plugin with Copilot CLI 1.0.98 in a cleanHOME, and checks that the MCP server and three skills load.eng/external-plugin-quality-gates.mjs, pinned to commitcb64ad12e32737ae764becd6885462e9b4c7cb00, against the pushed commit: spec compliance,vally lint, install smoke test, and version match.Tested locally (Copilot CLI 1.0.98, clean
HOME, no Copilot sign-in)npx ajv-cli@5.0.0 validate --spec=draft2020againsthttps://agent-plugins.org/schemas/1.0.0/{plugin,mcp}.schema.json: both filesvalid.node .github/scripts/check-plugin.mjs .:ok: mrscraper 0.1.0, 3 skills, MCP https://mcp.mrscraper.com/mcp. A broken copy (version mismatch, an auth header, a wrong skill name) fails with five errors as expected.copilot plugin marketplace add ./thencopilot plugin install mrscraper@mrscraper:Installed 3 skills.copilot mcp listshowsPlugin servers: mrscraper (http),copilot mcp get mrscraper --jsonshows the URL with no headers, andcopilot skill listshows all three skills.copilot plugin marketplace add mrscraper-com/mrscraper-copilot-pluginandcopilot plugin install mrscraper@mrscraper(the README route), with git redirected to a local copy of this branch merged intomainbecause the repository is not public yet: the marketplace is added and the plugin installs.copilot plugin update mrscraper,copilot plugin uninstall mrscraper, andcopilot plugin marketplace remove mrscraperall exit 0.copilot mcp add --transport http --header ... mrscraper-api-key https://mcp.mrscraper.com/mcpandcopilot mcp disable mrscraperexit 0, andcopilot mcp listthen shows the user server plusmrscraper (http, disabled).copilot mcp remove mrscraper-api-keyandcopilot mcp enable mrscraperrestore the plugin server.node eng/external-plugin-quality-gates.mjsatcb64ad12e32737ae764becd6885462e9b4c7cb00), with the same redirect and a localv0.1.0tag on the simulated merge commit: spec compliance, vally lint, install smoke test, version match, and ref/SHA consistency allpass; overallpass.runsteps, executed locally: all exit 0. The workflow file validates against the SchemaStore GitHub workflow schema; it was not checked with actionlint./mcp auth mrscraper) and livescraperAPI,webSearch, andstatuscalls from Copilot CLI. Both need a MrScraper login and a signed-in Copilot CLI. The CI workflow has not run on GitHub yet; this PR is its first run.After merge
mainand record its full SHA:git switch main && git pull --ff-only && git tag v0.1.0 && git push origin v0.1.0, thengit rev-parse v0.1.0.v0.1.0and that SHA). A maintainer rejection there is final for that issue, so we only file after an explicit go-ahead.🤖 Generated with Claude Code