Contributing to WebMCP Anything
May 26, 2026 · View on GitHub
Thanks for wanting to make the agentic web bigger. Most contributions land as new adapters — code that teaches the system how to turn a specific kind of URL into agent tools. This guide walks through that. Other contributions (bugfixes, docs, the worker itself) are welcome too — same PR process, less ceremony.
Quick start (new adapter, 10 minutes)
- Pick a site. Check ADAPTERS_WANTED.md for ideas, or scratch your own itch. Open an issue first if it's a big one ("Amazon", anything requiring auth) so we don't duplicate work.
- Fork + branch.
git clone https://github.com/YOUR-FORK/webmcp-anything cd webmcp-anything git checkout -b adapter/etsy - Copy the template.
Rename the file inside tocp -r adapters/_template adapters/etsyetsy.jsand update theID. - Implement
detect()+extract(). Read adapters/CONTRACT.md for the exact interface. Keep the file dependency-free. - Capture a fixture.
curl -sS 'https://www.etsy.com/listing/123456/something' > adapters/_fixtures/etsy_listing.html - Add a test. Open
adapters/_test/run.mjsand add a case for your adapter pointing at the fixture. Run:
It should printnode adapters/_test/run.mjsok 1 - etsy(or your adapter ID). - Wire it into the worker. Add an import + push to
ADAPTERSinworker/src/index.ts. The order matters — most-specific adapters first, generic fallbacks last. - PR. Reference the issue if one exists. Include:
- What sites it covers (URL patterns)
- What tools it produces (
get_price,add_to_cart, etc.) - Whether
actionsare live or stubbed - Anything weird about the site (bot protection, regional pages, etc.)
We'll review within a few days, run the test suite, and merge.
What we will and won't accept
Will:
- Adapters for any publicly accessible site that doesn't require auth to browse
- Generic adapters for formats (RSS, OpenAPI,
text/llms.txt, etc.) - Test fixtures + harness improvements
- Performance fixes, security fixes, docs
Won't (for now):
- Adapters that circumvent paywalls, bypass login walls, or violate a site's ToS in a non-trivial way
- Adapters with npm dependencies (we keep the runtime tight — Cloudflare Workers free tier)
- Anything that requires shipping a credential
- Refactors-for-refactor's-sake on the worker. Open an issue first.
Coding style
- ES modules. No CommonJS, no TypeScript in
adapters/(the worker is TS, the adapters are plain JS so they run in both Worker and extension contexts). - No semicolons or with semicolons — match the existing files in
adapters/. Don't reformat someone else's adapter. - Two-space indent, double quotes for strings, no trailing comma policy enforced.
- Comments explain why not what. Don't write "// loop over variants" — write "// Variants come back unsorted; we sort by available-then-price to match what shoppers see."
License
By contributing you agree your code is released under the MIT License along with the rest of the project.
What you get out of it
- Your GitHub handle in the credits and on the directory for every URL your adapter handles
- A Pro plan key on the house if you ship a non-trivial adapter (open an issue and we'll DM)
- The petty satisfaction of having taught a thousand AI agents to interact with the site you cared about
Questions
Open a GitHub Discussion, or ping the email in the repo's package.json.